tensorflow-PSENet 代码实现 (docker容器内)

tensorflow版的PSENet(github地址:https://github.com/liuheng92/tensorflow_PSENet)
首先是直接在linux环境跑这个程序,有很多环境搭建的问题,尤其是opencv的安装使得最后使用了docker,编写dockerfile, 在容器中运行。
1.配置环境

Installation

1.Any version of tensorflow version > 1.0 should be ok.

2.python 2 or 3 will be ok.

2.修改一些原github下载的文件
把pse/Makefile文件中的

第一行: ( s h e l l p y t h o n − c o n f i g − − c f l a g s ) 改 成 (shell python-config --cflags)改成 (shellpythonconfigcflags)(shell python3-config --cflags)

第二行: ( s h e l l p y t h o n − c o n f i g − − l d f l a g s ) 改 成 (shell python-config --ldflags)改成 (shellpythonconfigldflags)(shell python3-config --ldflags)

eval.py :第230行
xrange 改成 range

3.从原github上下载模型文件并且解压到linux环境的同一目录下
在这里插入图片描述
之后会遇到opencv版本的问题,体现在输入运行eval.py的命令之后,显示:
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
于是使用容器,首先是进入需要工作的目录,编写dockerfile文件:
FROM tensorflow/tensorflow:1.13.2-gpu-py3
run mkdir /psenet
copy . /psenet
RUN pip install -r /psenet/requirement.txt -i https://pypi.douban.com/simple
run apt-get install libsm6 -y
run apt-get install libxrender1 -y
run apt-get install libxext6 -y
workdir /psenet/

然后在该目录下生成dockerfile文件,之后运行:

docker build  -t   psenet-tensorflow-test :v2 .

执行完成后,显示:
在这里插入图片描述
表示该镜像成功生成!

然后,启动刚刚的镜像:

docker run -t -i  psenet-tensorflow-test:v2  /bin/bash

在这里插入图片描述
表示启动成功!
然后执行:# python, import cv2, 发现:在这里插入图片描述
说明安装opencv依然有问题,于是在当前容器中依次执行:

rm -rf /var/lib/dpkg/lock
rm -rf /var/cache/apt/archives/lock
apt-get update
dpkg --configure -a
apt-get install libsm6
apt-get install libxrender1
apt-get install libxext-dev

之后执行 import cv2, 显示:
即表示安装成功!
之后将要测试的图片目录images也存放在之前的工作目录下,再执行:

python eval.py

表示测试成功
并且可以在之前工作目录下找到一个results的目录文件,可以通过WinSCP上传到windows系统,最后呈现的结果是:
在这里插入图片描述在这里插入图片描述

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值