妙算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的依赖项和必要的组件:
sudo apt install libopenblas-dev libatlas-dev liblapack-dev
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
至此实验所有步骤结束
``
Unix的标准化1.ISO C的标准化按照该标准定义的各个头文件,可将ISO C库分成24个区。POSIX.1标准包含这些头文件以及另一些头文件,(表中也列出了四种UNIX实现所支持的头文件):Figure 2.1. Headers defined by the ISO C standardHeaderFreeBSD 5.2.1L
基本逻辑说明首先微信扫码打开APP是一个间接行为。本质上扫码打开的都只是一个页面,通过页面内的JS代码实现唤醒第三方APP的功能。所以我们的工作都从打开的这个页面开始。方案一(免费简单)扫码打开引导页(避免微信拦截)页面中通过打开android支持的网址即可唤醒(当然须要app端本身配合)核心代码就是打开个新地址:window.location.href = 'jerryjin://hostname:80/path?query='+param;URL Scheme协议格式:<sch
方式一:IDEA自带展开快捷键:小键盘:展开当前文件夹:+展开所有文件夹:*IDEA自带折叠快捷键:折叠当前文件夹:- // 试过无效果折叠所有文件夹:ctrl + -方式二:自定义ctrl + NumPad+ // 自定义的:展开当前文件夹ctrl + NumPad- // 自定义:折叠当前文件夹ctrl + shift + NumPad+ // ...
STM32入门100步 第1期 是时候学ARM了!文 / 杜洋 洋桃电子 一,为啥学?标题的意思是“现在是学习ARM最好的时机”。什么是ARM?(读英文单词arm,不要读字母A-R-M)简单来说就一种性能出众的32位处理器的内核架构。1991 年,一家叫ARM的公司在英国成立了,它 们设计出了一种高性能、低功耗的处理器 的设计方案,给方案取的名字也叫ARM。ARM公司设计出了AR...
发现问题:解决问题:yum -y install gcc
高德地图实现地址查询和经纬度定位
&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;九宫格&lt;/title&gt; &lt;meta name="viewport" content="maximum-scale=
1.SetSiblingIndex用于设置一个物体在其父物体下的索引,根据该索引值来排列一个物体下所有child节点的位置(这些节点拥有同一个direct parent),是孩子节点,不是子节点;注意:改变该值时,层级视图中的位置也会发生改变,在UI的布局中常常会用到;2.支持foreach遍历Transform支持Enumerator,它实现了IEnumerableInterfac...
到cd /etc/yum.repos.d/目录下修改文件CentOS-Base.repo和epel.repo中所有http://mirrors.cloud.aliyuncs.com为http://mirrors.aliyun.com/centos最后运行yum -y update即可
学校自然语言处理第二次大作业,训练中英文语料获得词向量,那我们开始吧~、目录一、CBOW模型二、程序说明1. 输入与预处理模块2. 训练模块参数设置模型结构训练过程3.测试模块4. 输出处理模块5. 可视化模块三、实验结果中文结果可视化:英文结果可视化:四、疑问与思考1.cbow模型与词向量是什么关系2.keras如何实现cbow3.jieba分词:4.关于训练负样本的问题5.为什么中文语料要加载停用词作业要求:.
一、使用Bazel编译编译完没有找到dll,还没仔细研究。过程如下。Install BazelInstall Bazel, the build tool used to compile TensorFlow.Add the location of the Bazel executable to your %PATH% environment variable.Install M...
navicat premium导入表格时出现无法打开excel 文件在做实验时遇到此问题所以做一下笔记主要原因应该是navicat 和 excel 不同时是64位或者32位,查看软件版本信息把office给删除后再安装64位的office即可导入但在卸载完office2010 32位的后由于没有卸载干净,不能安装64位的office,所以在网上找到了彻底卸载干净office软件,软件可以由此链接获取百度网盘链接:https://pan.baidu.com/s/1yoXn_yCm3GZ_HC