jetson nano 配置caffe环境

一、安装Protobuf

        1、安装依赖库

               sudo apt install -y autoconf automake libtool curl make g++ git python-dev python-setuptools unzip

        2、下载protobuf3.2

             git clone https//github.com/google/protobuf ~/protobuf -b '3.2.x'

        3、编译安装

              cd ~/protobuf          sudo  ./autogen.sh       sudo ./configure       sudo make -j6        sudo make install    sudo ldconfig   cd                      python     sudo python setup.py  install  --cpp_implementation

          安装完后显示Finished processing dependencies for protobuf==3.2.0  说明安装成功     

二、安装NVIDIA Caffe

      1、安装各种依赖库

            sudo apt install -y build-essential cmake git gfortran libopenblas-dev libboost-all-dev  libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libsnappy-dev python-all-dev python-dev python-h5py python-matplotlib python-numpy python-opencv python-pil python-pip python-pydot python-scipy python-skimage python-sklearn libturbojpeg0-dev libfreetype6-dev

     2、下载NVIDIA Caffe

          这里最好下载最新版本,git clone https://github.com/NVIDIA/caffe

     3、安装Python运行库

           sudo apt install python-leveldb

           gedit ~/caffe/python/requirements.txt

           删除文件中“leveldb>=0.191”行

           sudo -H install -r ~/caffe/python/requirements.txt

      4、编译NVIDIA Caffe

           cd ~/caffe     mkdir  build        cd build     cmake ..      sudo  make -j6       sudo   make install

           不过不幸的是,由于nano系统中自带的是opencv4.x而caffe-ssd的作者是根据opencv2.0版本写的,所以会出现很多错误。

            如下图所示:

   

         错误(1):

/src/caffe/layers/video_data_layer.cpp:55:30: error: ‘CV_CAP_PROP_FRAME_COUNT’ was not declared in this scope
     total_frames_ = cap_.get(CV_CAP_PROP_FRAME_COUNT);

         解决方法:

//加上一个头文件
#include <opencv2/videoio.hpp>
//加上cv命名空间
using namespace cv;
//去掉CV_CAP_PROP_FRAME_COUNT,CV_CAP_PROP_POS_FRAMES前面的CV_
不过建议还是在文件头部进行宏定义:
#define CV_CAP_PROP_FRAME_COUNT CAP_PROP_FRAME_COUNT
#define CV_CAP_PROP_POS_FRAMES   CAP_PROP_POS_FRAMES

错误(2):

caffe/src/caffe/layers/window_data_layer.cpp:293:42: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
         cv_img = cv::imread(image.first, CV_LOAD_IMAGE_COLOR);

解决方法:cv::IMREAD_COLOR 代替 CV_LOAD_IMAGE_COLOR

错误(3):

/home/neuron-drop/workspace/caffe/src/caffe/util/bbox_util.cpp:2186:42: error: ‘CV_FILLED’ was not declared in this scope
                   CV_RGB(255, 255, 255), CV_FILLED);

解决方法:

//修改CV_RGB为cv::Scalar,但应该注意两者的区别,前者为RGB,后者为BGR
//修改CV_FILLED为cv::FILLED

错误(四):

caffe/src/caffe/util/bbox_util.cpp:2221:48: error: there are no arguments to ‘CV_FOURCC’ that depend on a template parameter, so a declaration of ‘CV_FOURCC’ must be available [-fpermissive]
         cv::VideoWriter outputVideo(save_file, CV_FOURCC('D', 'I', 'V', 'X'),

解决方法:

cv::VideoWriter writer;
// 修改CV_FOURCC为writer.fourcc

错误(5):

caffe/src/caffe/util/im_transforms.cpp:246:39: error: ‘CV_BGR2GRAY’ was not declared in this scope
     cv::cvtColor(in_img, in_img_gray, CV_BGR2GRAY);

解决方法:

注释掉代码对opencv版本的if判断,并加上以下
#define CV_BGR2HSV cv::COLOR_BGR2HSV
#define CV_HSV2BGR cv::COLOR_HSV2BGR
#define CV_BGR2Lab cv::COLOR_BGR2Lab

错误(6):

caffe/src/caffe/util/io.cpp:86:34: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
   int cv_read_flag = (is_color ? CV_LOAD_IMAGE_COLOR :
  
  /home/neuron-drop/workspace/caffe/src/caffe/util/io.cpp:87:5: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
     CV_LOAD_IMAGE_GRAYSCALE);

解决方法:加上
#define CV_LOAD_IMAGE_COLOR cv::IMREAD_COLOR
#define CV_LOAD_IMAGE_GRAYSCALE cv::IMREAD_GRAYSCALE
 

错误(7):CV_INTER_LINEAR was not declared in this scope 

解决方法 : cv::INTER_LINEAR 替换 CV_INTER_LINEAR

 

      5、配置环境变量

           在 ~/.bashrc 中添加  export PYTHONPATH=/home/nvidai/caffe/python

           source ~/.barshrc

      命令行中输入

           python

            >>>import caffe

            >>>

       表示安装成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DSZS123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值