AWS使用(六)——linux下配置新anaconda环境并安装tensorflow object detection API(有root权限)

非root安装object detection API见这里

一、创建anaconda环境,并安装tensorflow

1.1 创建Python3.5版的新环境

在终端输入 

#tensorflow是环境名(自己命),python=3.5.2是待安装扩展包及版本
conda create --name tensorflow python=3.5.2 

安装成功后如下:

列出目前安装好的环境列表,看新环境是否安装成功

conda info --envs

  

1.2 安装tensorflow

        这里要先查一下自己显卡的驱动版本。你要了解你电脑/服务器的显卡是什么类型,然后根据你的显卡类型选择cuda的版本,在根据cuda的版本选择cudnn的版本,最后再根据前面两种的搭配选择tensorflow-gpu的版本【2】

具体过程见《CUDN安装及对应tensorflow-gpu版本查找

      cuda-8.0最高支持tensorflow-1.4.0版本,tensorflow 1.4 及以下选择cuda8.0 , 以上选择cuda9.0【3】

我的显卡是K80的,装CUDN 9.0,显卡驱动384.XX,tensorflow1.12,python3.6或者3.5都行

关于GPU的一些基本知识可以看这里有详细介绍。

先进入tensorflow环境下

activate tenserflow

安装1.12,gpu版本

conda install tensorflow-gpu==1.12

已经安装的可通过

conda list

查看自己的codnn版本(图文不匹配)

按照上面的流程安装好python3.5,tensorflow-GPU-1.12,(原本不知道要匹配cuda版本,装的tensorflow1.10,结果运行代码时出现CUDA driver version is insufficient for CUDA runtime version错误:https://blog.csdn.net/li57681522/article/details/82491617


二、安装tensorflow object detection API

2.1 首先安装protobuf

首先安装相关的依赖包

$ sudo apt-get install autoconf automake libtool curl make g++ unzip

下载protobuf安装包

https://github.com/google/protobuf/releases/tag/v3.5.0

我选的3.5版本的tar.gz文件,解压后放到你的anaconda/envs/你的环境目录下,方便删除该环境时一次性清除

解压

tar  -zxvf   压缩文件名.tar.gz

安装protobuf

首先,进入你所下载的protobuf安装包的目录下面,然后依次执行以下命令:

./autogen.sh

./configure

make

make check

上面最后两个命令的执行时间可能略长,半个小时左右。

sudo  make install 

sudo ldconfig #刷新共享库缓存

测试安装:protoc --version 

如果安装正确会输出版本号。

安装protobuf的python模块:

首先,进入protobuf安装包下的python文件目录下,执行以下命令:

python setup.py build

python setup.py test

安装成功会出以下结果:

python setup.py install(如果在这一步没有权限执行的话,就用sudo python setup.py install )

测试安装:

sudo python -c 'import google.protobuf;print google.protobuf.__version__'

如果正常,输出3.5.1版本号.。

我的出现问题:

查看 'import google.protobuf‘的路径

sudo python -c 'import google.protobuf;print google.protobuf.__file__'

发现它连接的是系统的默认路径,参照这个改(https://www.pythonxyz.com/10038-install-protobuf-in-ubuntu.xyz)没效果,打开python,分步导入查路径发现是当前环境的路径,就先这样,后面看有没有影响吧。

以上就完成了编译器protobuf的安装。

2.2 继续安装其他依赖包

这些可以在pycharm的setting界面搜索安装

sudo apt-get install protobuf-compiler python-pil python-lxml python-tk

sudo pip install Cython    (0.29.9版本)

sudo pip install pillow    (5.0.0版本)

sudo pip install lxml         (4.3.5版本,去这里看跟你电脑匹配的版本)

sudo pip install jupyter    (1.0.0版本)

sudo pip install matplotlib  //这个可以在pycharm的setting界面安装,跟python3.6对应的是matplotlib 2.2

如果在上述的安装过程遇到无法定位软件包的情况,可以先更新下  sudo apt-get update

2.3 下载object detection API:tensorflow/models

最新版本:git clone https://github.com/tensorflow/models.git 容易出问题,建议下老版本

老版本: https://github.com/Rmuli/models自己下载再放到research下

2.4 COCO API installation

coco api主要是用于度量模型在COCO数据集上的分值(mAP指标等),这里可以先不装,以后用到时再装。

git clone https://github.com/cocodataset/cocoapi.git

如果还没有安装git可以通过以下命令安装:

sudo apt-get install git

执行完git命令后:

cd cocoapi/PythonAPI

make

cp -r pycocotools <path_to_tensorflow>/models/research/

2.5 protobuf编译

进入tensorflow/models/research/目录下执行以下命令:

protoc object_detection/protos/*.proto --python_out=.

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim 

注意这里的‘pwd’要换成你目标检测api里slim文件的路径,即

你也可以将上面的命令通过增加环境变量的形式加入到~/.bashrc file.下python

sudo vim ~/.bashrc

按“i”进入编辑模式,在最后加入:

export PYTHONPATH=‘${PYTHONPATH}:‘/absolute/path/to/models/research’:’/absolute/path/to/models/research/slim/’

这个实际上就是object detection API中slim文件的存储路径。

写好后,按“Esc”,然后“:“,再输入”wq”保存退出。命令行输入下面的命令,运行更改过的文件即可

source ~/.bashrc

这块没配好的话,下一步的测试就会出现model找不到‘net’的情况【4】。

2.6 测试安装:

python object_detection/builders/model_builder_test.py


这样就大功告成了!!!

 


我装的是1.4.0版本,安装好Object Detection API运行后出现

AttributeError: module 'tensorflow.python.keras' has no attribute 'Model'

故障。解决办法参考这里。Ps:我用第二种方法不知道为啥不好用

 

参考:

【0】爬坑之旅——Tensorflow object detection API 搭建属于自己的物体识别模型

【1】linux下安装tensorflow object detection API以及 安装过程问题解决:https://blog.csdn.net/pwtd_huran/article/details/80874791 

【2】CUDA driver version is insufficient for CUDA runtime version:https://blog.csdn.net/itnerd/article/details/88888235

【3】AttributeError: module 'tensorflow.python.keras' has no attribute 'Model':https://blog.csdn.net/qq_38343111/article/details/83994358

【4】TensorFlow Models:ImportError: No module named 'deployment':https://blog.csdn.net/w5688414/article/details/78774842

pycharm安装:https://blog.csdn.net/weixin_31484477/article/details/81133590

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值