系列文章目录
jetson-inference入门
jetson-inference----docker内运行分类任务
文章目录
前言
继jetson-inference入门
一、进入jetson-inference的docker
官方运行命令
进入jetson-inference的docker
bash
docker/run.sh
docker run --runtime nvidia -it 【容器id】 【命令】
docker run --runtime nvidia -it 7a7d343029a2 /bin/bash
docker run --runtime nvidia -it dustynv/jetson-inference:r32.7.1 /bin/bash
这个命令就不用手动删除,容器id记得改成自己的
bash
docker run -it --rm --runtime nvidia 7a7d343029a2 /bin/

二、分类任务
官方文档
https://gitcode.com/dusty-nv/jetson-inference/blob/master/docs/imagenet-console-2.md
docker 和 宿主主机的磁盘映射
bash
cd jetson-inference/build/aarch64/bin
ll
没有查询到data文件,说明Linux系统上的data文件没有映射到docker中
本机【宿主机】数据目录
• ~/jetson-inference/data
容器数据目录
• /jetson-inference/data
启动时映射命令
bash
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data:/jetson-inference/data 7a7d343029a2 /bin/bash
或者
bash
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data:/jetson-inference/data dustynv/jetson-inference:r32.7.1 /bin/bash
映射成功
再次查看
开始测试
bash
cd build/aarch64/bin
# C++
$ ./imagenet images/orange_0.jpg images/test/output_0.jpg # (default network is googlenet)
# Python
$ ./imagenet.py images/orange_0.jpg images/test/output_0.jpg # (default network is googlenet)

这里是没有model.json,去下一下,
https://gitcode.com/dusty-nv/jetson-inference/blob/master/data/networks/models.json

外网问题,要自己下载模型
返回自己的主机
bash
cd jetson-inference
cd tools
vi download-models.sh
打开 download-models.sh,查找要下载的模型的下载地址

上面显示googleNet不能成功下载,所以要把googleNet的文件全都下载下来
function download_googlenet()
{
echo "$LOG Downloading GoogleNet..."
download_file "bvlc_googlenet.caffemodel" "https://nvidia.box.com/shared/static/at8b1105ww1c5h7p30j5ko8qfnxrs0eg.caffemodel"
download_file "googlenet.prototxt" "https://nvidia.box.com/shared/static/5z3l76p8ap4n0o6rk7lyasdog9f14gc7.prototxt"
download_file "googlenet_noprob.prototxt" "https://nvidia.box.com/shared/static/ue8qrqtglu36andbvobvaaj8egxjaoli.prototxt"
}
下载后copy到主机里jietson-inferenec的data目录下

下载好的三个文件都放在Googlenet下
在容器中的 jetson-inference/build/aarch64/bin/networks也可以查询到

再次运行
bash
# C++
$ ./imagenet images/orange_0.jpg images/test/output_0.jpg # (default network is googlenet)
# Python
$ ./imagenet.py images/orange_0.jpg images/test/output_0.jpg # (default network is googlenet)

可以看到图片保存在 image saved 'images/test/output_0.jpg' (1024x683, 3 channels)

总结
下一节是docker中运行目标检测