nvidia:tensorflow docker中安装object detection api踩过的坑

3 篇文章 0 订阅
1 篇文章 0 订阅

nvidia:tensorflow docker中默认是python3.6.8,在安装object detection api的过程中按照https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md

安装时,出现了以下问题,记录下来给有需要的人看

  1. 第一步安装依赖包,
    apt-get install protobuf-compiler python-pil python-lxml python-tk
    pip install Cython
    pip install contextlib2
    pip install jupyter
    pip install matplotlib

python-pil python-lxml jupyter Cython matplotlib已有,不需要安装。

遇到两个问题,

(1)protobuf-compiler下不下来,怎么就是下不下来,翻墙也不好用。先把libprotobuf10_3.0.0-9.1ubuntu1_amd64.deb下下来后dpkg -i 安装;
(2)python-tk这个包是罪魁祸首,要装python3-tk,否则会自动安装python2.7版本,应该会设置为默认,然后环境会变乱。

2、 设置环境变量后,在terminal中可以测试object detection api通过,但在jupyter中却没有PYTHONPATH这个环境变量,env中直接没有。

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

当然就没法调用,测试时直接提示

ModuleNotFoundError: No module named 'object_detection'

试了很多办法均无效,
##不管用
sys.path.append('/mnt/models/research')
sys.path.append('/mnt/models/research/slim')
sys.path

##不管用
!export PYTHONPATH=$PYTHONPATH:/mnt/models/research:/mnt/models/research/slim
!env
!pwd
!source ~/.bashrc
最后从sys.path中找到当下python的包路径:/usr/local/lib/python3.6/dist-packages,建立一个tensorflow_model.pth文件,文件内容写models的路径,slim的路径
/mnt/models/research
/mnt/models/research/slim

解决问题。

python-tk的问题真是困扰好久,安装后会发现,所有的包都不见了,jupyter退出后就再进不去了。后来发现python的版本莫名其妙的变了才发现问题。

要用 tensorflow/models中的内容时发现,

修改~/.bashrc

export PYTHONPATH="$PYTHONPATH:/....."

source ~/.bashrc

设置pythonpath还是不行,notebook中没有这个环境变量。。。。

还是在pth中加的

/mnt/models
/mnt/models/research/object_detection
/mnt/models/research
/mnt/models/research/slim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值