TX1刷机以及配置caffe全备忘(Jetpack2.3+)

来源:互联网 发布:新笔记本win10如何优化 编辑:程序博客网 时间:2024/06/05 04:29

1,双系统下ubuntu重装:

1)删除

笔记本装的是win7+ubuntu14.04双系统,启动管理用的是easyBCD,重装ubuntu首先需要修复mbr,百度下载MBRFix.exe(或MBRFix64.exe),解压后放置在C盘根目录,win+R键打开命令行,输入cmd回车打开DOS,输入命令MbrFix /drive 0 fixmbr /win7 /yes,即可删除mbr,在easybcd的edit boot menu项中删除ubuntu启动项,重启电脑,之后右击计算机-管理-磁盘管理,找到之前为ubuntu分配的空间,右击删除卷。

2)重装

下载想要安装的ubuntu版本,用UltralSO制作U盘启动盘,简单快捷,百度搜索即可。做好之后电脑插入启动盘重启,开机中按F12,选择U盘启动,之后进入安装引导界面,地址:http://jingyan.baidu.com/article/eb9f7b6d8536a8869364e813.html,注意在安装时一般不要选择安装更新和第三方软件。安装完成之后进行更新即可。


2,TX1刷机:

此处可参考http://blog.csdn.net/Jalong_Ma/article/details/52743923,其中安装opencv3.0的部分可以忽略,直接选择安装opencv2.4.13版本即可。刷机过程中可能会在某些地方等待较长时间,耐心等待即可。

3,TX1配置caffe:

此处坑比较多,我第一次安装也是过程曲折

1)安装caffe环境:

$ sudo add-apt-repository universe  $ sudo apt-get update  $ sudo apt-get install cmake git aptitude screen g++ libboost-all-dev \  libgflags-dev libgoogle-glog-dev protobuf-compiler libprotobuf-dev \  bc libblas-dev libatlas-dev libhdf5-dev libleveldb-dev liblmdb-dev \  libsnappy-dev libatlas-base-dev python-numpy libgflags-dev \  libgoogle-glog-dev python-skimage python-protobuf python-pandas \  libopencv-dev
上面提到的每一项务必都保证正确安装之后再进行下一步,安装opencv时可能会提示有有些依赖项未安装,按提示安装之后即可。

2)caffe下载

此处参考了 http://blog.csdn.net/q6324266/article/details/52193076

不可下载英伟达自己的caffe,可用以下命令下载:

$ git clone https://github.com/BVLC/caffe.git 

3)caffe 编译

首先修改配置文件,将caffe目录下自带的Makefile.config.examples文件改名为Makefile.config,去掉第五行的#号,即把#use_cudnn :=1改为use_cudnn :=1。

找到下面行:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

修改为:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

保存退出。编译中如果出现
CXX src/caffe/solvers/nesterov_solver.cppCXX src/caffe/data_reader.cppCXX src/caffe/parallel.cppCXX src/caffe/solver.cppAR -o .build_release/lib/libcaffe.aLD -o .build_release/lib/libcaffe.so.1.0.0-rc3/usr/bin/ld: cannot find -lhdf5_hl/usr/bin/ld: cannot find -lhdf5collect2: error: ld returned 1 exit statusMakefile:566: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failedmake: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
修改caffe里面的Makefile 文件(注意不是Makefile.config) 
将里面的
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

4)测试

用caffe自带的mnist进行测试,分别输入以下语句:
$ bash ./date/mnist/get_mnist.sh  $ bash ./examples/mnist/create_mnist.sh  $ bash ./examples/mnist/train_lenet.sh 
运行成功说明caffe被成功安装。
如果出现以下提示
F0221 16:54:21.855986 11564 im2col.cu:49] Cuda kernel failed. Error: invalid device function*** Check failure stack trace: ***@ 0x7f2556cc1b4d google::LogMessage::Fail()@ 0x7f2556cc5b67 google::LogMessage::SendToLog()@ 0x7f2556cc39e9 google::LogMessage::Flush()@ 0x7f2556cc3ced google::LogMessageFatal::~LogMessageFatal()@ 0x463bf2 caffe::im2col_gpu<>()@ 0x452031 caffe::ConvolutionLayer<>::Forward_gpu()@ 0x41288f caffe::Layer<>::Forward()@ 0x41c9be caffe::ConvolutionLayerTest_TestSimpleConvolution_Test<>::TestBody()@ 0x43becd testing::internal::HandleExceptionsInMethodIfSupported<>()@ 0x42dab1 testing::Test::Run()@ 0x42db97 testing::TestInfo::Run()@ 0x42dcd7 testing::TestCase::Run()@ 0x432bdf testing::internal::UnitTestImpl::RunAllTests()@ 0x43ba7d testing::internal::HandleExceptionsInMethodIfSupported<>()@ 0x42d0da testing::UnitTest::Run()@ 0x40f774 main@ 0x318ae1ecdd (unknown)@ 0x40f4c9 (unknown)
说明gpu未被成功配置,解决此问题需要重新编译caffe,
第一步:将已成功的caffe文件夹备份,按上面步骤重新下载caffe,做完caffe编译那一步后进行下面操作;
第二步:需要查看自己gpu的型号和型号对应的computer capability,NVIDIA常用GPU型号对应表如下
版权声明:本文为LEE Jiajun原创文章,转载请注明出处http://blog.csdn.net/jiajunlee):
GPUCompute CapabilityTesla K803.7Tesla K403.5Tesla K203.5Tesla C20752.0Tesla C2050/C20702.0Tesla M405.2Tesla K803.7Tesla K403.5Tesla K203.5Tesla K103.0Tesla M20xx2.0Quadro M6000 24GB5.2Quadro M60005.2Quadro K60003.5Quadro M50005.2Quadro K52003.5Quadro K50003.0Quadro M40005.2Quadro K42003.0Quadro K40003.0Quadro M20005.2Quadro K22005.0Quadro K20003.0Quadro K2000D3.0Quadro K12005.0Quadro K6205.0Quadro K6003.0Quadro K4203.0Quadro 4103.0Quadro Plex 70002.0Quadro K6000M3.0Quadro M5500M5.0Quadro K5200M3.0Quadro K5100M3.0Quadro M5000M5.0Quadro K500M3.0Quadro K4200M3.0Quadro K4100M3.0Quadro M4000M5.0Quadro K3100M3.0Quadro M3000M5.0Quadro K2200M5.0Quadro K2100M3.0Quadro M2000M5.0Quadro K1100M3.0Quadro M1000M5.0Quadro K620M5.0Quadro K610M3.5Quadro M600M5.0Quadro K510M3.5Quadro M500M5.0NVIDIA NVS 8105.0NVIDIA NVS 5103.0NVIDIA NVS 3152.1NVIDIA NVS 3102.1NVS 5400M2.1NVS 5200M2.1NVS 4200M2.1NVIDIA TITAN X6.1GeForce GTX 10806.1GeForce GTX 10706.1GeForce GTX 10606.1GeForce GTX TITAN X5.2GeForce GTX TITAN Z3.5GeForce GTX TITAN Black3.5GeForce GTX TITAN3.5GeForce GTX 980 Ti5.2GeForce GTX 9805.2GeForce GTX 9705.2GeForce GTX 9605.2GeForce GTX 9505.2GeForce GTX 780 Ti3.5GeForce GTX 7803.5GeForce GTX 7703.0GeForce GTX 7603.0GeForce GTX 750 Ti5.0GeForce GTX 7505.0GeForce GTX 6903.0GeForce GTX 6803.0GeForce GTX 6703.0GeForce GTX 660 Ti3.0GeForce GTX 6603.0GeForce GTX 650 Ti BOOST3.0GeForce GTX 650 Ti3.0GeForce GTX 6503.0GeForce GTX 560 Ti2.1GeForce GTX 550 Ti2.1GeForce GTX 4602.1GeForce GTS 4502.1GeForce GTS 450*2.1GeForce GTX 5902.0GeForce GTX 5802.0GeForce GTX 5702.0GeForce GTX 4802.0GeForce GTX 4702.0GeForce GTX 4652.0GeForce GT 7403.0GeForce GT 7303.5GeForce GT 730 DDR3,128bit2.1GeForce GT 7203.5GeForce GT 705*3.5GeForce GT 640 (GDDR5)3.5GeForce GT 640 (GDDR3)2.1GeForce GT 6302.1GeForce GT 6202.1GeForce GT 6102.1GeForce GT 5202.1GeForce GT 4402.1GeForce GT 440*2.1GeForce GT 4302.1GeForce GT 430*2.1GeForce GTX 9805.2GeForce GTX 980M5.2GeForce GTX 970M5.2GeForce GTX 965M5.2GeForce GTX 960M5.0GeForce GTX 950M5.0GeForce 940M5.0GeForce 930M5.0GeForce 920M3.5GeForce 910M5.2GeForce GTX 880M3.0GeForce GTX 870M3.0GeForce GTX 860M3.0/5.0(**)GeForce GTX 850M5.0GeForce 840M5.0GeForce 830M5.0GeForce 820M2.1GeForce 800M2.1GeForce GTX 780M3.0GeForce GTX 770M3.0GeForce GTX 765M3.0GeForce GTX 760M3.0GeForce GTX 680MX3.0GeForce GTX 680M3.0GeForce GTX 675MX3.0GeForce GTX 675M2.1GeForce GTX 670MX3.0GeForce GTX 670M2.1GeForce GTX 660M3.0GeForce GT 750M3.0GeForce GT 650M3.0GeForce GT 745M3.0GeForce GT 645M3.0GeForce GT 740M3.0GeForce GT 730M3.0GeForce GT 640M3.0GeForce GT 640M LE3.0GeForce GT 735M3.0GeForce GT 635M2.1GeForce GT 730M3.0GeForce GT 630M2.1GeForce GT 625M2.1GeForce GT 720M2.1GeForce GT 620M2.1GeForce 710M2.1GeForce 705M2.1GeForce 610M2.1GeForce GTX 580M2.1GeForce GTX 570M2.1GeForce GTX 560M2.1GeForce GT 555M2.1GeForce GT 550M2.1GeForce GT 540M2.1GeForce GT 525M2.1GeForce GT 520MX2.1GeForce GT 520M2.1GeForce GTX 485M2.1GeForce GTX 470M2.1GeForce GTX 460M2.1GeForce GT 445M2.1GeForce GT 435M2.1GeForce GT 420M2.1GeForce GT 415M2.1GeForce GTX 480M2.0GeForce 710M2.1GeForce 410M2.1Tegra X15.3Tegra K13.2Jetson TK13.2
我所用的TX1GPU所对应的compute capability为5.3;
第三步:打开Makefile.config文件,找到
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \-gencode arch=compute_20,code=sm_21 \-gencode arch=compute_30,code=sm_30 \-gencode arch=compute_35,code=sm_35 \-gencode arch=compute_50,code=sm_50 \-gencode arch=compute_52,code=sm_52 \-gencode arch=compute_60,code=sm_60 \-gencode arch=compute_61,code=sm_61 \-gencode arch=compute_61,code=compute_61
检查是否包含自己GPU的型号,假如自己型号为35,则修改为:
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \-gencode arch=compute_20,code=sm_21 \-gencode arch=compute_30,code=sm_30 \-gencode arch=compute_35,code=sm_35 \-gencode arch=compute_35,code=compute_35
其他型号以此类推,完成后保存退出;
第四步:用make all -j4命令重新编译caffe,成功后运行mnist测试。




1 0
原创粉丝点击