科学网

 找回密码
  注册

tag 标签: fasterrcnn

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

1070+cuda8+cudnn5.1+opencv3.1+caffe+fasterrcnn配置文档
apollocv 2017-6-2 09:10
1070+cuda8+cudnn5.1+opencv3.1+caffe+fasterrcnn 配置文档 一、系统安装及联网 到 ununtu 官网上下载 ubuntu14.04.iso 文件,然后准备一个空的 u 盘,制作启动盘,百度怎么用 u 盘安装 ubuntu 。 安装时要注意分配硬盘空间,保证 home 目录尽量大,其他的参考百度。 安装时调到 bios 界面,选择从 usb 启动(就是从 u 盘启动) 安装完成后要联网:设置 ipv4 为: IP : 202.114.114.250 NetMask:255.255.255.0 Gateway:202.114.114.114 DNS Servers:202.114.96.1,202.103.24.68 部分安装过程中需要用到的软件包和链接地址在白色硬盘的 pack.zip 中。 第一部分 nVidiaCUDA Toolkit 的安装( *.deb 方法) PS :特别推荐 *.deb 的方法,目前已提供离线版的 deb 文件,该方法比较简单,不需要切换到 tty 模式,因此不再提供原来的 *.run 安装方法,这里以 CUDA 7.5 为例。 一、 CUDARepository 获取 CUDA 安装包 , 安装包请自行去 NVidia 官网下载。( https://developer.nvidia.com/cuda-downloads ) Installation Instructions: `sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb` `sudo apt-get update` `sudo apt-get install cuda` 第二部分 Matlab 安装和调试(以 Matlab 2014a 为例) 1. 下载 由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载 24 小时删除 ...... 2. 预准备 选择 Mathworks.Matlab.R2014a.Unix.iso- 右键 - 使用磁盘映像挂载器打开 ” ,进入装载的虚拟光盘,拷贝全部文件至 home/Matlab 文件夹 (PS :我的原则是能 GUI 就 GUI ,喜欢 CMD 的可以参照执行 ) 复制 Crack/install.jar 至 home/Matlab/java/jar/ 并覆盖源文件 $ sudo cp install.jar /home/Matlab/java/jar/ 3. 授权安装文件夹 $ chmod a+x Matlab -R 4. 安装 $ sudo ./install 选项:不使用 Internet 安装 序列号: 12345-67890-12345-67890 默认路径: /usr/local/MATLAB/R2014a 勾选从默认启动路径创建符号链接(实现在任意位置运行 matlab 启动程序) 激活文件: license_405329_R2014a.lic 拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64 $ sudo cp libmwservices.so/usr/local/MATLAB/R2014a/bin/glnxa64/ 5. 解决编译器 gcc/g++ 版本问题。 因为 Ubuntu15.04 的 gcc/g++ 版本是 4.9.2 ,而 Matlab 2014a ( 2015a )的版本是 4.7.x 所以在使用 matla 调用 mex 文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。 A. 降级安装 gcc/g++ 版本为 4.7.x (a). 下载 gcc/g++ 4.7.x $ sudo apt-get install -y gcc-4.7 $ sudo apt-get install -y g++-4.7 (b). 链接 gcc/g++ 实现降级 $ cd /usr/bin $ sudo rm gcc $ sudo ln -s gcc-4.7 gcc $ sudo rm g++ $ sudo ln -s g++-4.7 g++ B. 暴力引用新版本 GLIBCXX_3.4.20 $sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20 ( libstdc++.so.6.0.20 的版本,可能因为系统不同而不同,使用最新的就可以了。) 目录切换到 /usr/local/MATLAB/R2014a/sys/os/glnxa64/ ,非常重要! $ sudo mv libstdc++.so.6libstdc++.so.6.backup (仅仅是备份,可以不备份,直接删除)。 $ sudo ln -s libstdc++.so.6.0.20libstdc++.so.6 $ sudo ldconfig -v 通过命令 “strings/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 可以看一下,是否已经成功包含了 GLIBCXX_3.4.21 ,如果已经存在,基本上就成功了。 6. 编译 Matlab 用到的 caffe 文件(见第五部分) 第三部分 Caffe-Master 的安装和测试 对于 Caffe 的安装严格遵照官网的要求来: http://caffe.berkeleyvision.org/installation.html 一、安装 BLAS 这里可以选择( ATLAS , MKL 或者 OpenBLAS ),我这里使用 MKL ,首先下载并安装英特尔 数学内核库 Linux* 版 MKL(Intel(R) Parallel Studio XECluster Edition for Linux 2016) ,下载链接是: https://software.intel.com/en-us/intel-education-offerings , 使用学生身份(邮件 + 学校)下载 Student 版,填好各种信息,可以直接下载,同时会给你一个邮件告知序列号( 2JXL-2VTGZM8R )。下载完之后,要把文件解压到 home 文件夹 ( 或直接把 tar.gz 文件拷贝到 home 文件夹 , 为了节省空间,安装完记得把压缩文件给删除喔~ ) ,或者其他的 ext4 的文件系统中。 很多人说,下载不了,本人于 2105 年 11 月 8 日使用该地址下载最新的 2016 版本,仍然没有问题,请大家细心操作 ^_^ 。 接下来是安装过程,先授权,然后安装: $ tar zxvf parallel_studio_xe_2016.tar.gz (如果你是直接拷贝压缩文件过来的) $ chmod a+x parallel_studio_xe_2016 -R $ sh install_GUI.sh PS: 安装的时候,建议使用 root 权限安装,过程中会要求输入 Linux 的 root 口令。(设置方法:命令行: $ sudo passwd ) 二、 MKL 与 CUDA 的环境设置 1. 新建 intel_mkl.conf , 并编辑之: $ sudo gedit/etc/ld.so.conf.d/intel_mkl.conf /opt/intel/lib/intel64 /opt/intel/mkl/lib/intel64 2. 新建 cuda.conf ,并编辑之: $ sudo gedit /etc/ld.so.conf.d/cuda.conf /usr/local/cuda/lib64 /lib 3. 完成 lib 文件的链接操作,执行: $ sudo ldconfig -v 三、安装 OpenCV 3.1.0 1. 下载并编译 OpenCV (官网原版 OpenCV : http://opencv.org/ ), 或者使用我提供的修改版的安装包 ( 前面的百度云下载 ) 安装 opencv3.1 sudo apt-get installlibprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-devprotobuf-compiler 1 1 去 官网 下载一个 opencv 。然后解压出来。 sudo /bin/bash -c 'echo/usr/local/lib /etc/ld.so.conf.d/opencv.conf' sudo ldconfig find / -name “cv2.so” gedit ~/.bashrc cv2.so /home/apollo/opencv/lib export PYTHONPATH=/home/apollo/opencv/lib:$PYTHONPATH source~/.bashrc 四、安装其他依赖项 1. Google Logging Library ( glog ),下载地址: https://code.google.com/p/google-glog/ ,然后解压安装: $ tar zxvf glog-0.3.3.tar.gz $ ./configure $ make $ sudo make install 如果没有权限就 chmoda+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以 kill 了。 2. 其他依赖项,确保都成功 $ sudo apt-get install -y libprotobuf-devlibleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-devlibgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compilerprotobuf-c-compiler protobuf-compiler 五、安装 Caffe 并测试 0. 安装 protobuf $wgethttps://github.com/google/protobuf/archive/v2 .6.1 .zip $unzip protobuf- 2.6.1 .zip $cd protobuf- 2.6.1 下载自 github 的代码需要首先执行 $ ./autogen.sh 生成 configure 文件 $ ./configure $ make $ make check $ make install 我使用的是 centos 系统 usr/local/bin usr/local/lib, usr/local/include 是也系统默认路径之一,所以到这一步就可以使用 protobuf 了 $ protoc - I =./ --cpp_out=./test.proto 到你的 test.proto 文件所在目录使用命令 protoc - I =./ --cpp_out=./ 生成 C ++ 版本的协议文件 一切 OK 的话,你回在当前目录看到 .h 和 .cc 文件 1. 安装 pycaffe 必须的一些依赖项: $ sudo apt-get install -y python-numpypython-scipy python-matplotlib python-sklearn python-skimage python-h5pypython-protobuf python-leveldb python-networkx python-nose python-pandaspython-gflags Cython ipython 2. 安装配置 nVidia cuDNN 加速 Caffe 模型运算 a. 安装前请去先官网下载最新的 cuDNN (cudnn-7.0-linux-x64-v4.0-prod) 。 $ sudo cp include/cudnn.h /usr/local/include $ sudo cp lib64/libcudnn.* /usr/local/lib b. 链接 cuDNN 的库文件 $sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4 $ sudo ln -sf /usr/local/lib/libcudnn.so.4/usr/local/lib/libcudnn.so $ sudo ldconfig -v 3. 切换到 Caffe-master 的文件夹,生成 Makefile.config 配置文件,执行: $ cp Makefile.config.example Makefile.config 4. 配置 Makefile.config 文件(仅列出修改部分) a. 启用 CUDNN ,去掉 # USE_CUDNN := 1 b. 配置一些引用文件(增加部分主要是解决新版本下, HDF5 的路径问题) INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial c. 启用 Intel Parallel Studio XE 2016 BLAS := mkl d. 配置路径,实现 caffe 对 Python 和 Matlab 接口的支持 PYTHON_LIB := /usr/local/lib MATLAB_DIR := /usr/local/MATLAB/R2014a c. 启用 OpenCV 3.0, 去掉 # OPENCV_VERSION =3 6. 编译 caffe-master !!! -j16 是使用 CPU 的多核进行编译,可以极大地加速编译的速度,建议使用。 $ make all -j16 $ maketest -j16 $ makeruntest -j16 编译 Python 和 Matlab 用到的 caffe 文件 $ makepycaffe -j16 $ make matcaffe -j16 六、使用 MNIST 数据集进行测试 Caffe 默认情况会安装在 $CAFFE_ROOT ,就是解压到那个目录,例如: $ home/username/caffe-master ,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试 Caffe 是否工作正常,不做详细评估。具体设置请参考官网: http://caffe.berkeleyvision.org/gathered/examples/mnist.html 1. 数据预处理 $ sh data/mnist/get_mnist.sh 2. 重建 lmdb 文件。 Caffe 支持多种数据格式输入网络,包括 Image(.jpg, .png 等 ) , leveldb , lmdb , HDF5 等,根据自己需要选择不同输入吧。 $ sh examples/mnist/create_mnist.sh 生成 mnist-train-lmdb 和 mnist-train-lmdb 文件夹,这里包含了 lmdb 格式的数据集 3. 训练 mnist $ sh examples/mnist/train_lenet.sh 三、安装 faster-rcnn 复制 py-faster-rcnn-person 文件夹,然后要删除一些文件: 1 、 lib/datasets/ 里的 pascal_voc.pyc 和 imdb.pyc 2 、 output/ 里的 faster_rcnn_alt_opt 文件夹 3 、 data 里的 cache 文件夹 4 、如果不用行人的数据,而是换了数据的话,就要删除 data/vocdevkit2007 里的 annotations_cache 。 5 、把 model 文件夹删除,换成 py-faster-rcnn 文件夹(就是官网上下的没有换过数据的 faster-rcnn )里的那个 model 。 然后要把之前 caffe 里的那个 makefile.config 复制到 caffe_fast_rcnn 文件夹下面。 注意要把: WITH_PYTHON_LAYER:=1 放开 mkdirbuild cdbuild cmake.. make all -j16 makeruntest -j16 (报错也没关系) $ make pycaffe -j16 编译 Python 和 Matlab 用到的 caffe 文件 Sudo apt-get install python-pip Pip install easydict 一、修改调用文件 1 、 prototxt 配置文件 models/pascal_voc/ZF/faster_rcnn_alt_opt 文件夹下的 5 个文件,分别为 stage1_rpn_trainNaN 、 stage1_fast_rcnn_trainNaN 、 stage2_rpn_trainNaN 、 stage2_fast_rcnn_trainNaN 和 fast_rcnn_testNaN ,修改格式如下: (1)stage1_fast_rcnn_trainNaN 和 stage2_fast_rcnn_trainNaN 修改参数 num_class:2 (识别 1 类 + 背景 1 类), cls_score 中 num_output : 2 , bbox_pred 中 num_output : 8 。(只有这 3 个) (2)stage1_rpn_trainNaN 和 stage2_rpn_trainNaN 修改参数 num_class:2 (识别 1 类 + 背景 1 类) (3)fast_rcnn_testNaN 修改参数: cls_score 中 num_output : 2 , bbox_pred 中 num_output : 8 ( 只有这 2 个) 2 、 修改 lib/datasets/pascal_voc.py self._classes = ('__background__', # alwaysindex 0 'person' ) (只有这一类) 3 、修改 lib/datasets/imdb.py 数据整理,在一行代码为 boxes = widths - oldx1 - 1 下加入代码: for b in range(len(boxes)): if boxes boxes : boxes = 0 4 、修改完 pascal_voc.py 和 imdb.py 后进入 lib/datasets 目录下 删除 原来的 pascal_voc.pyc 和 imdb.pyc 文件, 重新生成 这两个文件,因为这两个文件是 python 编译后的文件,系统会直接调用。 终端进入 lib/datasets 文件目录输入: python ( 此处应出现 python 的版本 ) importpy_compile py_compile.compile(r'imdb.py') py_compile.compile(r'pascal_voc.py') 二、训练自己的数据 终端进入 py-faster-rcnn 下输入: ./experiments/scripts/faster_rcnn_alt_opt.sh0ZF pascal_voc 如果执行错: cv2 importERROR : apt-get installpython-opencv yaml importError: apt-get install python-yaml 三、 demo 自己刚刚生成的 ZF_models 1 、训练完成之后,将 output/faster_rcnn_alt_opt/voc_2007_trainval 中的最终模型 ZF_faster_rcnn_final.caffemodel 拷贝到 data/faster_rcnn_models (删除以前生成类似的 model )中。 2 、修改 /tools/demo.py 为: (1) CLASSES =('__background__', 'people' ) (只有这两类) (2) NETS ={'vgg16': ('VGG16', 'VGG16_faster_rcnn_final.caffemodel'), 'zf': ('ZF', 'ZF_faster_rcnn_final.caffemodel' )} (3) 在训练集图片中找一张出来放入 py-faster-rcnn/data/demo 文件夹中,命名为 000001.jpg 。 im_names = (只需这一类图片的一张,其他删除或注销) for im_name in im_names: print'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' print'Demo for data/demo/{}'.format(im_name) demo(net, im_name) 3 、运行 demo ,即在 py-faster-rcnn 文件夹下终端输入: ./tools/demo.py --net zf 结果如图: 四. Cpu 运行 faster rcnn 1. 在一切都正常的情况下,对 caffe-fast-rcnn 进行 make 和 make pycaffe 的结果如下: 编译好 caffe-fast-rcnn 后,在 py-faster-rcnn/lib 中执行 make 命令: bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/lib$ make python setup.py build_ext --inplace running build_ext skipping 'utils/bbox.c' Cython extension(up-to- date ) skipping 'nms/cpu_nms.c' Cython extension(up-to- date ) skipping 'pycocotools/_mask.c' Cython extension (up-to- date ) rm -rf build bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/lib$ 2 在安装配置好 caffe-fast-rcnn 后,修改 py-faster-rcnn 相关配置,让其模型可以在没有 GPU 的环境下运行: A 将 ~/py-faster-rcnn/lib/fast_rcnn/config.py 的如下内容: B 将 ~/py-faster-rcnn/tools/test_net.py 和 ~/py-faster-rcnn/tools/train_net.py 的 caffe.set_mode_gpu() 修改为 caffe.set_mode_cpu(). C 将 ~/py-faster-rcnn/lib/setup.py 中,含有 'nms.gpu_nms’ 的部分去掉,去掉后的内容如下: 112 ext_modules = , 116 extra_compile_args={ 'gcc' : }, 117 include_dirs = 118 ), 119 Extension( 120 nms.cpu_nms , 121 , 122 extra_compile_args={ 'gcc' : }, 123 include_dirs = 124 ), 125 Extension( 126 'pycocotools._mask' , 127 sources= , 128 include_dirs = , 129 extra_compile_args={ 130 'gcc' : }, 131 ), 132 ] D 做到上面三部后,还是不够的,还需要将: ../lib/fast_rcnn/nms_wrapper.py:9: #from nms.gpu_nms import gpu_nms 注释掉: 否则,会抛出如下的异常: Traceback (most recent call last ): File ./demo.py , line 18 , in from fast_rcnn.test import im_detect File .../py-faster-rcnn-master/tools/../lib/fast_rcnn/test.py , line 17 , in from fast_rcnn.nms_wrapper import nms File .../py-faster-rcnn-master/tools/../lib/fast_rcnn/nms_wrapper.py , line 11 , in from nms.gpu_nms import gpu_nms ImportError: No module named gpu_nms 3. 修改 train_faster_rcnn_alt_opt.py: 1 )下列语句: 修改为: 2 )下列语句 修改为: 4. 打开 faster_rcnn_alt_opt.sh 1) 找到下列语句: 修改为: 3. 训练 : 终端进入 py-faster-rcnn 下输入: ./experiments/scripts/faster_rcnn_alt_opt.sh ZF pascal_voc 五. ipython notebook for ubuntu14.04 安装步骤(真的超级简单) 1. 环境 操作系统: ubuntu 14.04 / 尤麒麟 2. 操作步骤 a) 安装 pip 工具 终端输入以下命令: sudo apt-get install python-pip b) 安装 ipython 终端输入以下命令: sudo apt-get install ipython c) 安装 ipython 终端输入以下命令: sudo apt-get install ipython-notebook d) 启动 ipython 终端输入以下命令: ipython notebook
3115 次阅读|0 个评论
1070+cuda8+cudnn5.1+opencv3.1+caffe+fasterrcnn配置文档
apollocv 2017-6-2 09:09
1070+cuda8+cudnn5.1+opencv3.1+caffe+fasterrcnn 配置文档 一、系统安装及联网 到 ununtu 官网上下载 ubuntu14.04.iso 文件,然后准备一个空的 u 盘,制作启动盘,百度怎么用 u 盘安装 ubuntu 。 安装时要注意分配硬盘空间,保证 home 目录尽量大,其他的参考百度。 安装时调到 bios 界面,选择从 usb 启动(就是从 u 盘启动) 安装完成后要联网:设置 ipv4 为: IP : 202.114.114.250 NetMask:255.255.255.0 Gateway:202.114.114.114 DNS Servers:202.114.96.1,202.103.24.68 部分安装过程中需要用到的软件包和链接地址在白色硬盘的 pack.zip 中。 第一部分 nVidiaCUDA Toolkit 的安装( *.deb 方法) PS :特别推荐 *.deb 的方法,目前已提供离线版的 deb 文件,该方法比较简单,不需要切换到 tty 模式,因此不再提供原来的 *.run 安装方法,这里以 CUDA 7.5 为例。 一、 CUDARepository 获取 CUDA 安装包 , 安装包请自行去 NVidia 官网下载。( https://developer.nvidia.com/cuda-downloads ) Installation Instructions: `sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb` `sudo apt-get update` `sudo apt-get install cuda` 第二部分 Matlab 安装和调试(以 Matlab 2014a 为例) 1. 下载 由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载 24 小时删除 ...... 2. 预准备 选择 Mathworks.Matlab.R2014a.Unix.iso- 右键 - 使用磁盘映像挂载器打开 ” ,进入装载的虚拟光盘,拷贝全部文件至 home/Matlab 文件夹 (PS :我的原则是能 GUI 就 GUI ,喜欢 CMD 的可以参照执行 ) 复制 Crack/install.jar 至 home/Matlab/java/jar/ 并覆盖源文件 $ sudo cp install.jar /home/Matlab/java/jar/ 3. 授权安装文件夹 $ chmod a+x Matlab -R 4. 安装 $ sudo ./install 选项:不使用 Internet 安装 序列号: 12345-67890-12345-67890 默认路径: /usr/local/MATLAB/R2014a 勾选从默认启动路径创建符号链接(实现在任意位置运行 matlab 启动程序) 激活文件: license_405329_R2014a.lic 拷贝 libmwservices.so 至 /usr/local/MATLAB/R2014a/bin/glnxa64 $ sudo cp libmwservices.so/usr/local/MATLAB/R2014a/bin/glnxa64/ 5. 解决编译器 gcc/g++ 版本问题。 因为 Ubuntu15.04 的 gcc/g++ 版本是 4.9.2 ,而 Matlab 2014a ( 2015a )的版本是 4.7.x 所以在使用 matla 调用 mex 文件的时候,基本上都会报错,根据报错信息,考虑如下两步解决方案。 A. 降级安装 gcc/g++ 版本为 4.7.x (a). 下载 gcc/g++ 4.7.x $ sudo apt-get install -y gcc-4.7 $ sudo apt-get install -y g++-4.7 (b). 链接 gcc/g++ 实现降级 $ cd /usr/bin $ sudo rm gcc $ sudo ln -s gcc-4.7 gcc $ sudo rm g++ $ sudo ln -s g++-4.7 g++ B. 暴力引用新版本 GLIBCXX_3.4.20 $sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20 ( libstdc++.so.6.0.20 的版本,可能因为系统不同而不同,使用最新的就可以了。) 目录切换到 /usr/local/MATLAB/R2014a/sys/os/glnxa64/ ,非常重要! $ sudo mv libstdc++.so.6libstdc++.so.6.backup (仅仅是备份,可以不备份,直接删除)。 $ sudo ln -s libstdc++.so.6.0.20libstdc++.so.6 $ sudo ldconfig -v 通过命令 “strings/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 可以看一下,是否已经成功包含了 GLIBCXX_3.4.21 ,如果已经存在,基本上就成功了。 6. 编译 Matlab 用到的 caffe 文件(见第五部分) 第三部分 Caffe-Master 的安装和测试 对于 Caffe 的安装严格遵照官网的要求来: http://caffe.berkeleyvision.org/installation.html 一、安装 BLAS 这里可以选择( ATLAS , MKL 或者 OpenBLAS ),我这里使用 MKL ,首先下载并安装英特尔 数学内核库 Linux* 版 MKL(Intel(R) Parallel Studio XECluster Edition for Linux 2016) ,下载链接是: https://software.intel.com/en-us/intel-education-offerings , 使用学生身份(邮件 + 学校)下载 Student 版,填好各种信息,可以直接下载,同时会给你一个邮件告知序列号( 2JXL-2VTGZM8R )。下载完之后,要把文件解压到 home 文件夹 ( 或直接把 tar.gz 文件拷贝到 home 文件夹 , 为了节省空间,安装完记得把压缩文件给删除喔~ ) ,或者其他的 ext4 的文件系统中。 很多人说,下载不了,本人于 2105 年 11 月 8 日使用该地址下载最新的 2016 版本,仍然没有问题,请大家细心操作 ^_^ 。 接下来是安装过程,先授权,然后安装: $ tar zxvf parallel_studio_xe_2016.tar.gz (如果你是直接拷贝压缩文件过来的) $ chmod a+x parallel_studio_xe_2016 -R $ sh install_GUI.sh PS: 安装的时候,建议使用 root 权限安装,过程中会要求输入 Linux 的 root 口令。(设置方法:命令行: $ sudo passwd ) 二、 MKL 与 CUDA 的环境设置 1. 新建 intel_mkl.conf , 并编辑之: $ sudo gedit/etc/ld.so.conf.d/intel_mkl.conf /opt/intel/lib/intel64 /opt/intel/mkl/lib/intel64 2. 新建 cuda.conf ,并编辑之: $ sudo gedit /etc/ld.so.conf.d/cuda.conf /usr/local/cuda/lib64 /lib 3. 完成 lib 文件的链接操作,执行: $ sudo ldconfig -v 三、安装 OpenCV 3.1.0 1. 下载并编译 OpenCV (官网原版 OpenCV : http://opencv.org/ ), 或者使用我提供的修改版的安装包 ( 前面的百度云下载 ) 安装 opencv3.1 sudo apt-get installlibprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-devprotobuf-compiler 1 1 去 官网 下载一个 opencv 。然后解压出来。 sudo /bin/bash -c 'echo/usr/local/lib /etc/ld.so.conf.d/opencv.conf' sudo ldconfig find / -name “cv2.so” gedit ~/.bashrc cv2.so /home/apollo/opencv/lib export PYTHONPATH=/home/apollo/opencv/lib:$PYTHONPATH source~/.bashrc 四、安装其他依赖项 1. Google Logging Library ( glog ),下载地址: https://code.google.com/p/google-glog/ ,然后解压安装: $ tar zxvf glog-0.3.3.tar.gz $ ./configure $ make $ sudo make install 如果没有权限就 chmoda+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以 kill 了。 2. 其他依赖项,确保都成功 $ sudo apt-get install -y libprotobuf-devlibleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-devlibgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compilerprotobuf-c-compiler protobuf-compiler 五、安装 Caffe 并测试 0. 安装 protobuf $wgethttps://github.com/google/protobuf/archive/v2 .6.1 .zip $unzip protobuf- 2.6.1 .zip $cd protobuf- 2.6.1 下载自 github 的代码需要首先执行 $ ./autogen.sh 生成 configure 文件 $ ./configure $ make $ make check $ make install 我使用的是 centos 系统 usr/local/bin usr/local/lib, usr/local/include 是也系统默认路径之一,所以到这一步就可以使用 protobuf 了 $ protoc - I =./ --cpp_out=./test.proto 到你的 test.proto 文件所在目录使用命令 protoc - I =./ --cpp_out=./ 生成 C ++ 版本的协议文件 一切 OK 的话,你回在当前目录看到 .h 和 .cc 文件 1. 安装 pycaffe 必须的一些依赖项: $ sudo apt-get install -y python-numpypython-scipy python-matplotlib python-sklearn python-skimage python-h5pypython-protobuf python-leveldb python-networkx python-nose python-pandaspython-gflags Cython ipython 2. 安装配置 nVidia cuDNN 加速 Caffe 模型运算 a. 安装前请去先官网下载最新的 cuDNN (cudnn-7.0-linux-x64-v4.0-prod) 。 $ sudo cp include/cudnn.h /usr/local/include $ sudo cp lib64/libcudnn.* /usr/local/lib b. 链接 cuDNN 的库文件 $sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4 $ sudo ln -sf /usr/local/lib/libcudnn.so.4/usr/local/lib/libcudnn.so $ sudo ldconfig -v 3. 切换到 Caffe-master 的文件夹,生成 Makefile.config 配置文件,执行: $ cp Makefile.config.example Makefile.config 4. 配置 Makefile.config 文件(仅列出修改部分) a. 启用 CUDNN ,去掉 # USE_CUDNN := 1 b. 配置一些引用文件(增加部分主要是解决新版本下, HDF5 的路径问题) INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial c. 启用 Intel Parallel Studio XE 2016 BLAS := mkl d. 配置路径,实现 caffe 对 Python 和 Matlab 接口的支持 PYTHON_LIB := /usr/local/lib MATLAB_DIR := /usr/local/MATLAB/R2014a c. 启用 OpenCV 3.0, 去掉 # OPENCV_VERSION =3 6. 编译 caffe-master !!! -j16 是使用 CPU 的多核进行编译,可以极大地加速编译的速度,建议使用。 $ make all -j16 $ maketest -j16 $ makeruntest -j16 编译 Python 和 Matlab 用到的 caffe 文件 $ makepycaffe -j16 $ make matcaffe -j16 六、使用 MNIST 数据集进行测试 Caffe 默认情况会安装在 $CAFFE_ROOT ,就是解压到那个目录,例如: $ home/username/caffe-master ,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试 Caffe 是否工作正常,不做详细评估。具体设置请参考官网: http://caffe.berkeleyvision.org/gathered/examples/mnist.html 1. 数据预处理 $ sh data/mnist/get_mnist.sh 2. 重建 lmdb 文件。 Caffe 支持多种数据格式输入网络,包括 Image(.jpg, .png 等 ) , leveldb , lmdb , HDF5 等,根据自己需要选择不同输入吧。 $ sh examples/mnist/create_mnist.sh 生成 mnist-train-lmdb 和 mnist-train-lmdb 文件夹,这里包含了 lmdb 格式的数据集 3. 训练 mnist $ sh examples/mnist/train_lenet.sh 三、安装 faster-rcnn 复制 py-faster-rcnn-person 文件夹,然后要删除一些文件: 1 、 lib/datasets/ 里的 pascal_voc.pyc 和 imdb.pyc 2 、 output/ 里的 faster_rcnn_alt_opt 文件夹 3 、 data 里的 cache 文件夹 4 、如果不用行人的数据,而是换了数据的话,就要删除 data/vocdevkit2007 里的 annotations_cache 。 5 、把 model 文件夹删除,换成 py-faster-rcnn 文件夹(就是官网上下的没有换过数据的 faster-rcnn )里的那个 model 。 然后要把之前 caffe 里的那个 makefile.config 复制到 caffe_fast_rcnn 文件夹下面。 注意要把: WITH_PYTHON_LAYER:=1 放开 mkdirbuild cdbuild cmake.. make all -j16 makeruntest -j16 (报错也没关系) $ make pycaffe -j16 编译 Python 和 Matlab 用到的 caffe 文件 Sudo apt-get install python-pip Pip install easydict 一、修改调用文件 1 、 prototxt 配置文件 models/pascal_voc/ZF/faster_rcnn_alt_opt 文件夹下的 5 个文件,分别为 stage1_rpn_trainNaN 、 stage1_fast_rcnn_trainNaN 、 stage2_rpn_trainNaN 、 stage2_fast_rcnn_trainNaN 和 fast_rcnn_testNaN ,修改格式如下: (1)stage1_fast_rcnn_trainNaN 和 stage2_fast_rcnn_trainNaN 修改参数 num_class:2 (识别 1 类 + 背景 1 类), cls_score 中 num_output : 2 , bbox_pred 中 num_output : 8 。(只有这 3 个) (2)stage1_rpn_trainNaN 和 stage2_rpn_trainNaN 修改参数 num_class:2 (识别 1 类 + 背景 1 类) (3)fast_rcnn_testNaN 修改参数: cls_score 中 num_output : 2 , bbox_pred 中 num_output : 8 ( 只有这 2 个) 2 、 修改 lib/datasets/pascal_voc.py self._classes = ('__background__', # alwaysindex 0 'person' ) (只有这一类) 3 、修改 lib/datasets/imdb.py 数据整理,在一行代码为 boxes = widths - oldx1 - 1 下加入代码: for b in range(len(boxes)): if boxes boxes : boxes = 0 4 、修改完 pascal_voc.py 和 imdb.py 后进入 lib/datasets 目录下 删除 原来的 pascal_voc.pyc 和 imdb.pyc 文件, 重新生成 这两个文件,因为这两个文件是 python 编译后的文件,系统会直接调用。 终端进入 lib/datasets 文件目录输入: python ( 此处应出现 python 的版本 ) importpy_compile py_compile.compile(r'imdb.py') py_compile.compile(r'pascal_voc.py') 二、训练自己的数据 终端进入 py-faster-rcnn 下输入: ./experiments/scripts/faster_rcnn_alt_opt.sh0ZF pascal_voc 如果执行错: cv2 importERROR : apt-get installpython-opencv yaml importError: apt-get install python-yaml 三、 demo 自己刚刚生成的 ZF_models 1 、训练完成之后,将 output/faster_rcnn_alt_opt/voc_2007_trainval 中的最终模型 ZF_faster_rcnn_final.caffemodel 拷贝到 data/faster_rcnn_models (删除以前生成类似的 model )中。 2 、修改 /tools/demo.py 为: (1) CLASSES =('__background__', 'people' ) (只有这两类) (2) NETS ={'vgg16': ('VGG16', 'VGG16_faster_rcnn_final.caffemodel'), 'zf': ('ZF', 'ZF_faster_rcnn_final.caffemodel' )} (3) 在训练集图片中找一张出来放入 py-faster-rcnn/data/demo 文件夹中,命名为 000001.jpg 。 im_names = (只需这一类图片的一张,其他删除或注销) for im_name in im_names: print'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' print'Demo for data/demo/{}'.format(im_name) demo(net, im_name) 3 、运行 demo ,即在 py-faster-rcnn 文件夹下终端输入: ./tools/demo.py --net zf 结果如图: 四. Cpu 运行 faster rcnn 1. 在一切都正常的情况下,对 caffe-fast-rcnn 进行 make 和 make pycaffe 的结果如下: 编译好 caffe-fast-rcnn 后,在 py-faster-rcnn/lib 中执行 make 命令: bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/lib$ make python setup.py build_ext --inplace running build_ext skipping 'utils/bbox.c' Cython extension(up-to- date ) skipping 'nms/cpu_nms.c' Cython extension(up-to- date ) skipping 'pycocotools/_mask.c' Cython extension (up-to- date ) rm -rf build bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/lib$ 2 在安装配置好 caffe-fast-rcnn 后,修改 py-faster-rcnn 相关配置,让其模型可以在没有 GPU 的环境下运行: A 将 ~/py-faster-rcnn/lib/fast_rcnn/config.py 的如下内容: B 将 ~/py-faster-rcnn/tools/test_net.py 和 ~/py-faster-rcnn/tools/train_net.py 的 caffe.set_mode_gpu() 修改为 caffe.set_mode_cpu(). C 将 ~/py-faster-rcnn/lib/setup.py 中,含有 'nms.gpu_nms’ 的部分去掉,去掉后的内容如下: 112 ext_modules = , 116 extra_compile_args={ 'gcc' : }, 117 include_dirs = 118 ), 119 Extension( 120 nms.cpu_nms , 121 , 122 extra_compile_args={ 'gcc' : }, 123 include_dirs = 124 ), 125 Extension( 126 'pycocotools._mask' , 127 sources= , 128 include_dirs = , 129 extra_compile_args={ 130 'gcc' : }, 131 ), 132 ] D 做到上面三部后,还是不够的,还需要将: ../lib/fast_rcnn/nms_wrapper.py:9: #from nms.gpu_nms import gpu_nms 注释掉: 否则,会抛出如下的异常: Traceback (most recent call last ): File ./demo.py , line 18 , in from fast_rcnn.test import im_detect File .../py-faster-rcnn-master/tools/../lib/fast_rcnn/test.py , line 17 , in from fast_rcnn.nms_wrapper import nms File .../py-faster-rcnn-master/tools/../lib/fast_rcnn/nms_wrapper.py , line 11 , in from nms.gpu_nms import gpu_nms ImportError: No module named gpu_nms 3. 修改 train_faster_rcnn_alt_opt.py: 1 )下列语句: 修改为: 2 )下列语句 修改为: 4. 打开 faster_rcnn_alt_opt.sh 1) 找到下列语句: 修改为: 3. 训练 : 终端进入 py-faster-rcnn 下输入: ./experiments/scripts/faster_rcnn_alt_opt.sh ZF pascal_voc 五. ipython notebook for ubuntu14.04 安装步骤(真的超级简单) 1. 环境 操作系统: ubuntu 14.04 / 尤麒麟 2. 操作步骤 a) 安装 pip 工具 终端输入以下命令: sudo apt-get install python-pip b) 安装 ipython 终端输入以下命令: sudo apt-get install ipython c) 安装 ipython 终端输入以下命令: sudo apt-get install ipython-notebook d) 启动 ipython 终端输入以下命令: ipython notebook
3969 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-17 04:01

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部