大疆妙算2复现prometheus项目 !一步一坑

大疆妙算2复现prometheus项目

妙算2复现prometheus项目博客上面已经有很多版本,在参考别人的步骤的同时也遇到了很多新的问题,故在此记录,仅供各位参考。

需要做的事情

       1.挂载妙算二自带的128G硬盘。
       2.找到与cuda9.0对应的cudnn版本,并且一定要找到对应于arm架构的版本,否则后续会出现错误,并且难以找到相应的解决办法。
       3.安装pytorch1.0.0(因项目需要此版本)
       4.安装ros需要的依赖项
       5.下载并编译Prometheus源码

(一)挂载128G硬盘
因在参考别人挂载硬盘的过程时,经常出现卡在登录页面无法进入的情况,特此记录整个挂载过程。
1. 查看已有的分区找到硬盘的名称 :sudo fdisk -lu
2.对硬盘进行分区(这里用自己的硬盘名称):

  sudo  fdisk /dev/sda1
               a.输入m查看帮助
               b.输入d,删除已有的分区
               c.输入n,新建分区,这里注意创建成主分区否则后续无法格式化。
               d.输入w保存设置退出
       3.再次查看分区:sudo fdisk -lu
       4.格式化分区,挂载之前一定要格式化硬盘:
            sudo mkfs -t ext4 /dev/sda1
       5.挂载分区:先将硬盘挂载到一个临时的目录下,在/mnt/下新建一个home目录
                     cd  ~/mnt
                     mkdir home
                     sudo mount -t ext4 /dev/sda1 /mnt/home
          之后可以查看mnt/home目录下的剩余空间以确认硬盘是否挂载到相应的目录下面
         6.将原镜像下面的东西拷贝到新建的home文件下面
             sudo  cp -a /home/* /mnt/home/
         7.设置开机挂载:sudo vim /etc/fstab
               在末尾增加一行:/dev/sda1/  ext4 defaults 0 1
         8.挂载未挂载的分区:mount -a  
               查看挂载的硬盘位置   df -h

重启查看开机挂载是否成功:

sudo reboot

     至此硬盘挂载步骤结束,如果出现开机卡在登录页面无法进入系统的情况,可以先把开机挂载的硬盘删除,格式化硬盘重新按步骤走一遍。

(二)去Nvidia官网找到与CUDA版本对应的cudnn版本,这里选择7.1版本的cudnn如下图所示,在这里插入图片描述

sudo tar xvf cudnn-9.0-linux-x64-v7.1.tgz

进入解压的文件夹下:

cd ./cuda

将cudnn的文件拷贝到cuda相应的文件下,这里一定要用root权限:

sudo cp include /cudnn.h   /usr/local/cuda/include 
sudo  cp lib64/*  /usr/local/cuda/lib64/

进入cuda文件下更改权限:

      cd  /usr/local/cuda/lib64
      sudo chmod +r libcudnn.so.7.1.4
      sudo rm -rf libcundd.so   libcudnn.so.7
      sudo  ln -s libcudnn.so.7.1.4  libcudnn.so.7
      sudo ln -s libcudnn.so.7   libcudnn.so

最后更新动态链接库:

sudo ldconfig

到此cudnn配置完成

(三)安装pytorch=1.0.0
安装之前需要解释之前为什么挂载妙算二自带的硬盘。安装pytorch时,需要保证系统空间大于12G,而妙算本身的空间是不够的,好在大疆自带一块128G的硬盘,可以直接挂载使用。
下载pytorch源码:

  git clone --recursive --branch v1.0.0 https://github.com/pytorch/pytorch

这里需要注意:当源码下载完之后,还会克隆一些子模块到文件中,而下载子模块的时候会因为外网连接不上,出现联接不到网址的错误。此时不要慌,直接跳过就可以。后续会有命令继续下载没有下载完成的子模块。
接下来需要下载python的依赖项和必要的组件:

  1. sudo apt install libopenblas-dev libatlas-dev liblapack-dev

  2. sudo apt install liblapack-dev checkinstall
    下载安装pip,这里一定要安装最近几年的pip,否则后面会出现版本不对应,出现莫名奇妙的错误。参考pip官网

      wget   https://bootstrap.pypa.io/get-pip.py
      sudo python get-pip.py
    

安装完成之后,继续执行下面的命令:

sudo  apt-get install python-dev    
sudo pip install numpy scipy      #scipy:操控numpy数组来进行科学计算,统计分析
sudo pip install pyyaml        #pyymal  编写工程的配置文件
sudo pip install scikit-build     
sudo apt-get -y install cmake    
sudo apt install libffi-dev    
sudo pip install cffi            #python调用c的功能接口

以上命令在执行时可能会出现安装不上的情况,这里可以跳过,继续执行下面的步骤。
安装完成之后,添加cudnn中lib和include的路径:

sudo gedit  ~/.bashrc  
export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu   
export CUDNN_INCLUDE_DIR=/usr/include   
source ~/.bashrc

编译源码之前需要对源码进行修改,关闭源码中的NCCL:
在这里插入图片描述
以上步骤执行完之后终于可以编译安装pytorch了

cd  torch   
git  submodule update --init --recursive 
这条命令会执行很长时间,并且会出现联接外网地址中断的情况,此时只需要在连接中断后反复执行命令即可。  
sudo pip install -U setuptools  
sudo pip install -r requirement.txt  
sudo ~/jetson_clock.sh   这里是开启妙算2的最大模式,如果感觉声音比较大,可以不用执行命令  
sudo pip  install scikit-buils --user  sudo lsconfig

设置环境变量

export  USE_NCCL=0 USE_DISTRIBUTE=1 UES_OPENCV=ON USE_CUDNN=1 USE_CUDA=1  ONNX_ML=1

开始编译,以下两条命令会执行很长时间,只需耐心等待即可

sudo -E USE_MKLDNN=0 USE_QNNPACK=0 USE_NNPACK=0 USE_DISTRIBUTED=1 BUILD_TEST=0 python setup.py bdist_wheel
sudo -E USE_MKLDNN=0 USE_QNNPACK=0 USE_NNPACK=0 USE_DISTRIBUTED=0 BUILD_TEST=0 DEBUG=1 python setup.py build develop

经过漫长的编译之后,再执行下面的命令:

sudo apt clean   
sudo apt-get install libjpeg-dev zliblg-dev

在home目录下新建一个目录xx

cd xx    
git clone https://github.com/python-pillow/Pillow.git    
cd Pillow     
sudo python setup.py install     
sudo apt-get install python-sklearn    
sudo pip install pandas Cython  scikit-image   
sudo pip --no-cache-dir install torchvision

至此,torch已经安装完毕,可以新开一个终端进行验证。执行下面的命令。

    python
    import  torch

执行完上述命令之后没有出现错误,则pytorch安装完毕。
(四)安装ros需要的依赖项

       sudo apt install ros-kinetic-tf2-eigen
       sudo apt-get install ros-kinetic-mavros  ros-kinetic-macros-extras
       wget https://raw.githubusercontent.com/macvink/mavros/scripts/install_geographiclib_datasets.sh

执行第二,三条命令时会出现连接不上外网的情况:在这里插入图片描述
解决方案:
在这里插入图片描述
在这里插入图片描述
解决办法:
进入https://site.ip138.com/raw.Githubusercontent.com
输入raw.githubusercontent.com查寻ip地址,找到一个合适的地址添加到Ubuntu系统中。
在这里插入图片描述

sudo vim /etc/hosts
 添加一个地址即可,例:185.199.110.133  raw.githubusercontent.com

在这里插入图片描述

退出并保存
(五)下载并编译Prometheus源码

github clone https://github.com/amov-lab/Prometheus.git
cd Prometheus
./compile_detection.sh  #以root模式编译
echo 'source  /home/dji/gjh/Prometheus/devel.setup.bash/' >> ~/.bashrc
source ~/.bashrc

运行Prometheus实验
#新建一个终端,运行

 roscore

#再新建一个终端,用于运行摄像头

rosrun  prometheus_detection web-cam

回到原来的终端运行实验

  roslaunch prometheus_detection  ms_coco_det.launch 
  roslaunch prometheus_detection  uav_det.launch  
  roslaunch prometheus_detection  tracker_kcf.launch    
  roslaunch  prometheus_detection  tracker_siamrpn.launch

至此实验所有步骤结束

``

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值