安装环境:Ubuntu14.04、显卡Tesla K40C+GeForce GT 705、tensorflow1.0.0、pycharm5.0

说明:原文见博客园,有问题原文下留言,不定期回复。本文作者吴疆,转载请备注。

本文可解决的问题:

1.tensorflow1.0.0环境搭建

2.Ubuntu14.04安装pycharm5.0

3.Ubuntu14.04上跑通faster rcnn_TF的demo程序

4.Ubuntu14.04上跑通faster rcnn_TF的训练过程

安装步骤如下:

一、tensorflow1.0.0环境搭建

1.安装Ubuntu14.04及显卡驱动、配置Cuda、cudnn环境请参照前一篇blog,网址为:http://www.cnblogs.com/deeplearning1314/p/8444352.html

2.首先确认ubuntu系统自带python的版本号,因为python2与python3安装tensorflow略有差异。命令行中敲入 python 显示自带python的版本为2.7.6。

3.安装pip  命令行敲入sudo apt-get install python-pip python-dev

4.本来尝试网上方法(如下图)直接命令行联网下载tensorflow。试了很久没成功,提示网络连接错误,需要FQ、走代理下载。

5.不会走代理下载,于是想了一个办法:直接在自己的笔记本上下载好tensorflow的whl文件(一篇blog提到faster rcnn_TF要求tensorflow版本在1.0.0以上)再拷贝到本机上用pip方式安装。于是用自己笔记本在https://pypi.python.org下载后拷贝到工作站 /home“用户名”(即主文件夹)目录内。

如图所示,进入该目录下,准备以pip方式直接安装下载好的.Whl文件。在该网址上下载到名为tensorflow_gpu-1.0.0-cp27-cp27mu-manylinux1_x86_64.whl。

pip安装出现如下错误于是我猜想可能是文件名有问题就把文件名改为标准格式:tensorflow-1.0.0-cp27-none-linux_x86_64.whl

修改后pip安装仍然报了与protobuf相关的错,于是重敲命令重试了一遍(必要时可重启机器),虽然报了几个警告,但提示安装tensorflow成功。

6.为了验证tensorflow安装是否成功,需要跑tensorflow的例子(如下图为某本书的例子)

命令行内敲入Python 然后敲入import tensorflow as tf报错如下:

我在网上查到了解决办法,说与tensorflow环境变量有关。需要在每次import tensorflow as tf导入tensorflow之前敲两句export语句(如下图),这样一来就很麻烦了,因为每一次import tensorflow时都要敲两个export语句。这个问题可通过在Ubuntu系统通过添加环境变量解决这个问题,即将这两句export添加到~/.bashrc和~/.bash_profile文件中,这样便不用在每次导入tensorflow时敲export语句。(命令行用gedit工具打开这两个文件都添加这两个export语句)

这时便可以测试tensorflow的例子

第一次报错创建会话(tensorflow执行运算需要先创建会话)失败,不关闭窗口再敲一遍(sess=tf.Session())创建会话,上述例子就能得到计算结果。当时我对这个问题不太了解,不知道为什么第二次才能创建会话执行成功。后来想可能是因为tensorflow默认是用gpu执行的但是并未添加CUDA_VISIBLE_DEVICES=0从而使第一次执行时是以cpu执行的。到这里,tensorflow环境就搭建好了。

二、Ubuntu14.04安装pycharm5.0

1.用自己笔记本在pycharm官网下载好pycharm5.0的tar.gz文件后拷贝至工作站/home”用户名”(即主文件夹)目录下。

2.解压安装pycharm: tar xvzf pycharm-community-2017.3.3.tar.gz

3.命令行方式打开pycharm,首先cd到pycharm的bin目录下(如上图),sudo sh pycharm.sh打开pycharm(如下图)。第一次打开需要对pycharm进行配置。

三、Ubuntu14.04上跑通faster rcnn_TF的demo程序

 

主要参考:

(1)博客http://blog.csdn.net/seven_year_promise/article/details/78589656,基本上是按照这篇blog装成功的,安装过程会有一些较小的差异。

(2)faster rcnn_TF官网中README文件: https://github.com/CharlesShang/TFFRCNN

具体步骤以下面为准:

1.安装Python库

首先命令行敲入 sudo apt-get update

然后依次安装各个库,敲入

sudo apt-get install cython python-opencv python-tk python-scipy python-yaml

sudo pip install easydict

sudo pip install matplotlib(这里按照上述blog安装失败,错误信息如下图)

sudo python -m pip install Pillow

上面提到matplotlib库未安装成功,网上搜了很久无果,于是自己试了命令sudo apt-get install python-matplotlib安装成功。

2.代码下载(网址:https://github.com/CharlesShang/TFFRCNN)直接在命令行内敲入 git clone https://github.com/CharlesShang/TFFRCNN提示未安装git,按照提示安装git后依然报错,于是重启机器重新git clone安装成功。安装成功后在本机主文件夹(即/home “用户名”)下可看到TFFRCNN文件夹。

3.在TFFRCNN根目录下新建文件夹 model,放入下载好的训练文件(.ckpt文件),这个文件也需要走代理下载(试了很多种方法如wget、google浏览器FQ都没下载到)。于是让在国外的表哥帮忙下了,由于本人百度云上传文件次数受限,这里给不了个人百度云下载链接。

4.打开 lib文件夹下的 make.sh,根据英文注释提示和本机gcc编译器版本来修改,同时注意修改与显卡计算能力有关的参数。 本人机器gcc版本为4.8.4

由于本人用于深度学习的显卡(Tesla K40C)计算能力为3.5,make.sh中两处改为-arch=sm_35。同时根据gcc版本取消注释(uncomment)相关行。

5.执行make

命令行敲入cd ./lib

再敲入 export PATH=$PATH:/usr/local/cuda-8.0/bin

最后敲入make

6.运行demo

将 faster rcnn文件夹下的 demo.py 拷贝到TFFRCNN根目录下,修改demo(如图颜色标记)

第一处添加该句和导入模块语句import os,第二处直接改成绝对路径。执行如下命令:

cd ..

python demo.py --model  “your model path”

若想在pycharm中跑demo,需对pycharm做如下配置:

(1)   打开demo程序,在pycharm5.0中file---setting---project interprete选择当前程序及基础解释器均为Python2.7

(2)   在pycharm5.0中run---edit configurations---environment variables添加环境变量LD_LIBRARY_PATH=/usr/local/cuda/lib64 (如下图)

(3)   在pycharm5.0中run---edit configurations---script parameters添加命令行参数

--model  /home/rcnn/TFFRCNN/model

完成以上配置后即可直接在pycharm中run本程序。

四、Ubuntu14.04上跑通faster rcnn_TF的训练过程

 

主要参考:

1.https://blog.csdn.net/qq_39531954/article/details/78865452

2.http://www.cnblogs.com/danpe/p/7840087.html

3.faster rcnn_TF官网中README文件: https://github.com/CharlesShang/TFFRCNN

训练VOC数据步骤如下:(翻译讲解上述英文步骤1---5)

1.我没用上述wget方式直接联网下载,貌似行不通必须走代理。所以可用自己笔记本到给出网址下载3个文件,它们是VOC2007数据集(包括图片、标注信息等)及一些代码文件。

2.在TFFRCNN文件data文件夹内新建VOCdevkit文件夹,下载好上述3个.tar文件后拷贝到data文件夹内,用上述3句命令分别解压3个文件。

3.解压后得到如上述3的文件结构。

4.按上述4中命令建立软链接(如下图软链接图标,这里的意思就是访问VOCdevkit文件夹等同于访问VOCdevkit2007文件夹),其实也可以不做这步而把3中VOCdevkit文件夹改名为VOCdevkit2007。

5.在data文件夹下新建pretrain_model文件夹,根据所给网址下载VGG16预训练网络模型(.npy文件),该文件也需要走代理、FQ下载。

6.打开命令行,在命令内敲入sudo apt-get inatall python-skimage(该模块与COCO数据集有关,由于程序中有import COCO语句,缺少模块就会报错)

7.为使训练完成后能直接生成.ckpt等3个文件(其中.ckpt可供demo直接测试)需对train.py文件做如下修改。如果此处不改,会生成4个文件,这样在demo程序恢复模型变的较为复杂。

8.为方便调试,直接在pycharm下跑训练程序,需做如下设置:

(1)打开train_net.py程序,在pycharm5.0中file---setting---project interprete选择当前程序及基础解释器均为Python2.7

(2)在pycharm5.0中run---edit configurations---environment variables添加环境变量LD_LIBRARY_PATH=/usr/local/cuda/lib64

(3)在pycharm5.0中run---edit configurations---script parameters添加命令行参数

--gpu 0 --weights home/rcnn/TFFRCNN/data/pretrain_model/VGG_imagenet.npy --imdb voc_2007_trainval --iters 70000  --cfg home/rcnn/TFFRCNN/experiments/cfgs/faster_rcnn_end2end.yml --network VGGnet_train --set EXP_DIR exp_dir –restore 0

友情提示:千万不要少了—restore 0

(4)在train_net.py程序中添加代码:

import os

os.environ["CUDA_VISIBLE_DEVICES"]="0"

完成以上配置后即可直接在pycharm中run本程序。

本想在最后借个百度账号上传本工程及上述需走代理下载的文件,但是借来的账号仍然提示上传次数超过500次,估计百度网盘抽风了,前几篇blog里的链接都失效了。如有需要请在文末评论联系本人。

ubuntu14.04上实现faster rcnn_TF的demo程序及训练过程的更多相关文章

  1. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  2. [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

    原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...

  3. Ubuntu14.04上安装pip的方法

    在Ubuntu14.04上,建议通过下面的方法安装,这是一种通用的方法,也适用于Windows,当然在Windows下 手动下载下来就行了 wget https://bootstrap.pypa.io ...

  4. 菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4

    菜鸟玩云计算之十六:Ubuntu14.04上创建的RHEL6.4虚拟机迁移到RHEL6.4主机上 RHEL6.4 Server作为虚拟机的HOST,执行以下的命令检查配置和安装相关软件: # egre ...

  5. Ubuntu14.04上修改主机名

    Ubuntu14.04上修改主机名 author:headsen chen  2017-10-12 15:41:31 个人原创,转载请注明作者,出处,否则依法追击法律责任 查看主机名:hostname ...

  6. ubuntu14.04上引入thinkphp5类库遇到的一个问题

    ubuntu14.04 上加载OSS\OssClient() ;--->在vendor文件夹下的文件要用大写OSS 小写的报错 无法加载类库 Vendor('OSS.autoload');//引 ...

  7. 在ubuntu14.04上搭建OpenVPN服务

    简介 在连接了不可信的网络环境后,让手机或者计算机安全的访问互联网,使用虚拟专用网络(Virtual Private Network,VPN)是一个解决办法.OpenVPN是一个SSL VPN完整解决 ...

  8. Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)

    Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...

  9. ubuntu14.04上Trac配置记录

    系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库Tra ...

随机推荐

  1. POJ 1426 Find The Multiple(数论——中国同余定理)

    题目链接: http://poj.org/problem?id=1426 Description Given a positive integer n, write a program to find ...

  2. Spring MVC集成Swagger

    什么是Swagger? 大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Servi ...

  3. 设置某个类使用或者禁用ARC

    设置这个类为ARC的 用:-fobjc-arc    设置这个类非ARC的:-fno-objc-arc 工程是非ARC的,但是引用的第三方类库是ARC的,所以要使用的时候,要单独设置这个第三方的类是A ...

  4. 解决eclipse出现This Android SDK requires Andro...date ADT to the latest version.问题

    更新完android SDK之后,eclipse出现了“This Android SDK requires Andro...date ADT to the latest version.”问题,这是因 ...

  5. FreeMarker 集合遍历

    freemarker list (长度,遍历,下标,嵌套,排序) 1. freemarker获取list的size : Java ArrayList<String> list = new ...

  6. 【js 实践】js 实现木桶布局

    还有两个月左右就要准备实习了,所以特意练一练,今天终于搞定了js 的木桶布局了 这一个是按照一个插件的规格去写的以防以后工作需要,详细的解释在前端网这里 http://www.qdfuns.com/n ...

  7. 前端之CSS介绍--选择器

    一.CSS简介 介绍 css我们称呼层叠样式表(英文全称:Cascading Style Sheets).它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等 ...

  8. css FlexBox 弹性盒子常用方法总结

    总结一下弹性盒子常用的方法,弹性盒子的功能强大,这次我做了兼容性的felxbox,虽然代码多了一点,但在项目时候可以直接复制过来用,同时在项目上线的时候,如果这时候弹性盒子出了兼容问题,那就可急了~ ...

  9. python_print和input

    什么是输入? --用户从键盘.鼠标或其他终端 输入 的数据 -- input("提示信息") --python 2.7 rqw_input("提示信息") 如何 ...

  10. 爬虫_网页url设计

    为什么需要网页URL设计? 每个url不同的结构代表着不同的网页模块和信息的展现形式,为了方便维护与管理 网页url怎么设计? 分层: 主域名,子域名 一般形式为: 主域名:  www.job.com ...