ubuntu14.04上实现faster rcnn_TF的demo程序及训练过程
安装环境: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程序及训练过程的更多相关文章
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- [译]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 ...
- Ubuntu14.04上安装pip的方法
在Ubuntu14.04上,建议通过下面的方法安装,这是一种通用的方法,也适用于Windows,当然在Windows下 手动下载下来就行了 wget https://bootstrap.pypa.io ...
- 菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4
菜鸟玩云计算之十六:Ubuntu14.04上创建的RHEL6.4虚拟机迁移到RHEL6.4主机上 RHEL6.4 Server作为虚拟机的HOST,执行以下的命令检查配置和安装相关软件: # egre ...
- Ubuntu14.04上修改主机名
Ubuntu14.04上修改主机名 author:headsen chen 2017-10-12 15:41:31 个人原创,转载请注明作者,出处,否则依法追击法律责任 查看主机名:hostname ...
- ubuntu14.04上引入thinkphp5类库遇到的一个问题
ubuntu14.04 上加载OSS\OssClient() ;--->在vendor文件夹下的文件要用大写OSS 小写的报错 无法加载类库 Vendor('OSS.autoload');//引 ...
- 在ubuntu14.04上搭建OpenVPN服务
简介 在连接了不可信的网络环境后,让手机或者计算机安全的访问互联网,使用虚拟专用网络(Virtual Private Network,VPN)是一个解决办法.OpenVPN是一个SSL VPN完整解决 ...
- Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)
Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...
- ubuntu14.04上Trac配置记录
系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库Tra ...
随机推荐
- ES6中promise的使用方法
先看看ES5中异步编程的使用. let ajax = function (callBlack) { setTimeout(function () { callBlack && call ...
- PHPCMS模板里面使用自定义函数
首先我在/phpcms/libs/functions/extention.func.php里面新增了一个函数 ============================================= ...
- 阿里云Maven配置,Maven仓库配置,Maven镜像配置
阿里云Maven配置,Maven仓库配置,Maven镜像配置 ======================== 蕃薯耀 2018年1月29日 http://www.cnblogs.com/fanshu ...
- python 与redis
一.redis安装 源码安装: 1.wget http://download.redis.io/redis-stable.tar.gz 2.yum install gcc 3.tar zx ...
- 解决vue路径中#号
在router文件夹下的js文件中,更改配置增加 mode: 'history'; vue-router官方文档:https://router.vuejs.org/zh-cn/essentials/h ...
- android 自定义控件用的定时CountDownTimer
定时执行在一段时候后停止的倒计时,在倒计时执行过程中会在固定间隔时间得到通知(译者:触发onTick方法), 下面的例子显示在一个文本框中显示一个30s倒计时: new CountdownTimer( ...
- tp5命令行基础
命令行工具需要在命令行下面执行,请先确保你的php.exe已经加入了系统环境变量Path. 要执行命令,首先进入命令行,并切换当前目录到应用的根目录(也就是think文件所在目录)下面,执行: php ...
- 【转】命令行浏览器 curl 命令详解,Linux中访问url地址
CURL --- 命令行浏览器 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从这里开始吧! curl http://www.yahoo.com 回车之后,www. ...
- 搭建内网的NTP时间服务器
NTP时间服务器 标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.简介 NTP(Network Time Protocol,网络时间协议) ...
- IOS 疯狂基础之 页面间跳转
常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueVie ...