手把手教你使用jetson nano运行maskrcnn-benchmark

准备工作

  1. 一块jetson Nano
  2. 一个SD卡,我这里是64G的
  3. 从nvidia官网上烧录镜像到SD卡上,然后把SD卡插到nano里,开机

安装pytorch

Python 2.7

wget https://nvidia.box.com/shared/static/m6vy0c7rs8t1alrt9dqf7yt1z587d1jk.whl
-O torch-1.1.0a0+b457266-cp27-cp27mu-linux_aarch64.whl pip install torch-1.1.0a0+b457266-cp27-cp27mu-linux_aarch64.whl

Python 3.6

wget https://nvidia.box.com/shared/static/veo87trfaawj5pfwuqvhl6mzc5b55fbj.whl -O torch-1.1.0a0+b457266-cp36-cp36m-linux_aarch64.whl
pip3 install numpy torch-1.1.0a0+b457266-cp36-cp36m-linux_aarch64.whl

安装opencv

由于无法使用pip3 install opencv-python 来直接安装,所以我们使用从源码安装的方法:

  1. 下载opencv release版的source.zip

  2. 运行

     cd opencv
     mkdir build
     cd build
     cmake ..
     make all
     sudo make install
    

安装maskrcnn-benchmark

  1. cuda环境在nano的官方镜像里就已经有了,我们不需要关心。
  2. 这里我没有使用anaconda,因为装不上,估计是aarch64平台的原因,这里直接在系统的python3里进行安装:
pip3 install ninja yacs cython matplotlib tqdm  --user -i https://pypi.tuna.tsinghua.edu.cn/simple
(我在运行这里的时候装ninja出现了No module named skbuild 的错误,原因是没有装scikit-build, pip3 install scikit-build 即可)
pip3 install pycocotools --user
git clone https://github.com/NVIDIA/apex.git
cd apex/
sudo python3 setup.py install --cuda_ext --cpp_ext --user
(运行这里的时候出现了numpy,protobuf版本太低的错误,升级一下即可)
cd ..
git clone https://github.com/facebookresearch/maskrcnn-benchmark.git
cd maskrcnn-benchmark
sudo python3 setup.py build develop --user

运行maskrcnn-benchmark

由于jetson nano 只有4G的内存(显存公用),所以运行稍微大点的模型的时候,虚拟内存是有必要的:

sudo dd if=/dev/zero of=/swap bs=1M count=2048
mkswap -f /swap
swapon /swap

然后运行demo/Mask_R-CNN_demo.ipnb文件,效果如下:
记得要把cpu改成cuda):
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章