本页面将指导您在具有CUDA和cuDNN支持的Jetson Nano上安装Caffe。我们只指导您完成基础知识,所以最终您可以构建自己的应用程序。有关Caffe的更多信息,请访问:https://caffe.berkeleyvision.org/。
Caffe框架对其他库有一些依赖关系。根据我们的指南,我们假设您已经在您的Jetson Nano上安装了OpenCV。如果没有,最好先做。
$ sudo apt-get install cmake git unzip
$ sudo apt-get install libgoogle-glog-dev libgflags-dev
$ sudo apt-get install libprotobuf-dev libleveldb-dev liblmdb-dev
$ sudo apt-get install libsnappy-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libatlas-base-dev libopenblas-dev
$ sudo apt-get install the python3-dev python3-skimage
$ sudo -H pip3 install pydot
$ sudo apt-get install graphviz
安装了所有必需的库之后,就可以下载Caffe了。
在我们的GitHub页面上,你会发现著名的Caffe克隆自WeiLui89。与最初的Caffe不同,该版本支持SSD操作。WeiLui 是SSD探测器的最初开发者之一。有关详细信息,请参阅他的文章。
我们特别为OpenCV 4.4、cuDNN 8.0和Python3改编了他的fork。此外,我们还为树莓派、Jetson Nano和Ubuntu添加了一些额外的Makefile脚本。
$ cd ~
$ wget -O caffe.zip https://github.com/Qengineering/caffe/archive/ssd.zip
$ unzip caffe.zip
$ mv caffe-ssd caffe
从8.0版本开始,NVIDIA已经放弃了对Caffe所依赖的一些cuDNN API调用的支持。
编译生成cudnn_convolution_fwd_specificy_workspace_limit未在此作用域中声明
。
cudnnGetConvolutionForwardAlgorithm, cudnnGetConvolutionBackwardDataAlgorithm可以被其他调用替换。
然而,cudnnGetConvolutionBackwardFilterAlgorithm不再是一个合适的选择。
这给你留下了三种选择。
我们已经为Jetson Nano创建了一个配置文件。它应该没有错误。如果构建失败,请查看Caffe配置页面。
$ cd ~/caffe
# select the configuration
$ cp Makefile.config.JetsonNano_example Makefile.config
# start the build
$ make clean
$ make all -j4
$ make test -j4
$ make runtest -j4
希望您将在make runtest之后看到下面的屏幕,表明一切都很顺利。整个测试需要5分钟以上才能完成。与树莓派4相比,它需要更多的时间。有两个原因。首先,在启用CUDA和cuDNN的情况下,将运行更多的测试,分别为2301和1266。其次,在一些测试中,CUDA加速将执行启发式搜索,以找到最快的算法,稍后将在测试中使用。测试在几毫秒内完成,而准备工作可能需要几秒钟。
您可能还需要编译一些其他软件。首先是pycaffe。如果您想在Python 3中运行Caffe,您将需要这个接口。否则,Caffe只能从命令行或C++程序中运行。有关更多信息,请参阅原始的Caffe文档。
你也可以在MATLAB中运行Caffe。这次你需要make matcaffe
。但是在成功构建matcaffe之前,需要设置Makefile.config中的一些行配置。同样,原始文档是您的朋友。在pytest之后,你的屏幕看起来就像下图一样。
# Assuming you're still in ~/caffe
$ make pycaffe
$ make pytest
最后的说明时间到了,您的Caffe安装已经准备好在Jetson Nano上运行。
您需要将Caffe添加到PYTHONPATH
中。这可以在~/.bashrc
或~/.profile
中完成。我们选择~/.bashrc
。(打开文件,并在文件的最后添加一行export PYTHONPATH="$PYTHONPATH:$HOME/caffe/python"
。像往常一样用Crtl+X, Y和Enter键保存并关闭。
最后,您现在可以从任何位置导入Caffe,如截图所示。
$ cd ~
$ sudo nano ~/.bashrc
# at the end of the file add the next line
export PYTHONPATH="${PYTHONPATH}:$HOME/caffe/python"
# save and close with
Ctrl+X, Y, Enter