jetson-nano学习笔记
在 NVIDIA Jetson 运行 PoseNet 姿态识别
项目地址:
https://github.com/dusty-nv/jetson-inference/blob/master/docs/posenet.md
本教程使用平台:Jetson Nano, Jetpack 4.6
安装 Jetson Inference
依次运行以下命令
$ sudo apt-get update
$ sudo apt-get install git cmake libpython3-dev python3-numpy
$ git clone --recursive https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ mkdir build
$ cd build
$ cmake ../
在这个步骤会执行 jetson-inference/tools 下的 download-models.sh 与install-pythrch.sh 两个脚本,分别为这个项目执行以下两个动作:
- download-models.sh
- 在此可以下载实验所需要的神经网络的结构文件、预训练模型等数据,包括图像分类、物件检测、语义分割等不同应用的材料。由于这些神经网络与预训练模型文件,全部存放在国外的网站上,在国内直接下载会需要耗费相当多的时间。
- 在此列表中找到 "Pose Estimation - all models" ,按空格键勾选,然后回车进行安装。
- install-pythrch.sh
- 此脚本将会安装 pytorch 训练框架,因为本教程不涉及训练部分,所以可以不勾选直接回车跳过安装。如果后续需要,可以手动执行此脚本。
继续执行以下命令完成安装
$ make -j$(nproc)
$ sudo make install
$ sudo ldconfig
使用 PoseNet
导航到示例目录
cd jetson-inference/python/examples
PoseNet 有以下预训练模型,这在先前的步骤中已经安装好了。
模型 | CLI参数 |
Pose-ResNet18-Body | resnet18-body |
Pose-ResNet18-Hand | resnet18-hand |
Pose-DenseNet121-Body | densenet121-body |
我们可以使用 --network 参数来指定使用的模型,如果未指定使用哪个模型,默认会使用 Pose-ResNet18-Body 。
使用视频源
posenet.py 可以通过传入视频文件的路径来进行检测。
$ ./posenet.py [输入路径]
# 例
$ ./posenet.py /home/nvidia/example_video/202202102358.mp4
导出检测视频。添加 --headless 参数可以设置不显示,以提高性能。
$ ./posenet.py [输入路径] [输出路径] --headless
# 例
$ ./posenet.py /home/nvidia/example_video/202202102358.mp4 /home/nvidia/densenet121-example.mp4 --network=densenet121-body --headless
从摄像头进行检测
$ ./posenet.py --network=resnet18-hand /dev/video0 #csi://0 如果使用 CSI 摄像头
从摄像头进行检测:./posenet --network=resnet18-body csi://0;
2.jetson nano 安装jupyter lab详细教程
1.安装依赖环境,jupyter lab安装前先安装依赖库:
输入命令:
【1】sudo apt-get update;
【2】sudo apt install nodejs npm
但安装过程中,会出现如下错误:E: Unable to correct problems, you have held broken packages
修改方法:安装aptitude, 然后安装相关依赖库:
【1】sudo apt-get install aptitude
【2】sudo aptitude install nodejs npm;
2.安装jupyterlab
输入指令:sudo pip3 install jupyter jupyterlab
但jetson nano可能会报出版本不对的问题,
修改方法,直接安装对应的版本:
输入指令:pip install jupyterlab==(版本号);
还可能用到的指令:
更新jupyterlab指令:pip3 install --update jupyterlab;
查看jupyter版本:jupyter --version
删除jupyterlab:sudo pip3 uninstall jupyterlab
3.配置就朋友terlab
jupyter lab --generate-config
设置进入notebook的密码(这里会要设置两次,第二次为确认输入的密码):
jupyter notebook password
当第一次登录使用notebook时需要输入你在这里设置的密码才能进入,请务必记住的当前设置的密码!
设置开机自启动jupterlab,create_jupyter_service.py文件在环境配置的附件文件里面
运行create_jupyter_service.py文件产生jupyter_service.service文件
python3 create_jupyter_service.py
然后将产生的该服务文件移动至系统服务
sudo mv nano_jupyter.service /etc/systemd/system/nano_jupyter.servicebr
#使能该服务
sudo systemctl enable nano_jupyter.servicebr
# 手动开启该服务
sudo systemctl start nano_jupyter.service
下面部分也需要配置:
配置
安装完成后,JupyterLab默认只能是localhost访问,为了保证可以通过网络访问JupyterLab,需要对它进行一些配置,执行以下命令,并修改配置文件
~/.jupyter/jupyter_lab_config.py中关于限制IP地址的配置项c.ServerApp.ip = ‘*’,以便可以通过网络访问。
执行以下命令创建配置文件,并编辑配置文件中的配置项。
jupyter lab --generate-config
vi ~/.jupyter/jupyter_lab_config.py
编辑配置项。
启动
配置完成以后,可以执行以下命令来启动JupyterLab。
jupyter lab