Jetson nano配置Docker和torch运行环境

这里将介绍Jeston安装docker并部署walk-these-way的jeston镜像。

注意,该方法有版本问题,Jepack4.6.1的python3.6 torch无法与unitree官方提供的python3.8库兼容

1. Docker安装

这里安装的是docker engine,如果已经有了docker desktop也同样可以使用。

Ubuntu | Docker Docs

Run the following command to uninstall all conflicting packages:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

设置仓库:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 测试:

sudo docker run hello-world

2. 准备镜像

下载image:

https://drive.usercontent.google.com/download?id=1XkVpyYyYqQQ4FcgLIDUxg-GR1WI89-XC&export=download&authuser=0

使用docker加载image:

docker load -i ~/Downloads/deployment_image.tar

Jetson nano配置Docker和torch运行环境_第1张图片

3. 运行容器

walktheseway使用了makefile运行docker, 类似的,稍作修改以适应我的程序。

将主机的/home/go1/lowlevel挂载到/home/isaac/lowlevel目录

run:
	docker stop foxy_controller || true
	docker rm foxy_controller || true
	docker run -it \
		--env="DISPLAY" \
		--env="QT_X11_NO_MITSHM=1" \
		--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
		--env="XAUTHORITY=${XAUTH}" \
		--volume="${XAUTH}:${XAUTH}" \
		--volume="/home/go1/lowlevel:/home/isaac/lowlevel" \
		--privileged \
		--runtime=nvidia \
		--net=host \
		--workdir="/home/isaac/lowlevel" \
		--name="foxy_controller" \
		jetson-model-deployment bash

将Makefile发送到nano后运行:

scp -r Makefile [email protected]:/home/go1/lowlevel/
sudo make run

Jetson nano配置Docker和torch运行环境_第2张图片

 

4. 测试容器

进入容器后运行python检查cuda:

Jetson nano配置Docker和torch运行环境_第3张图片
Jetson nano配置Docker和torch运行环境_第4张图片

发送测试文件
​​​​​​​scp -r lowlevel [email protected]:/home/go1/

运行:

python3 play_policy_isolated.py

再次发现报错,原因是目前的image使用了python3.6,这与unitree提供的3.8版本库不兼容。

walktheseway使用的软件包是cp36

FROM nvcr.io/nvidia/l4t-pytorch:r32.6.1-pth1.9-py3

查看jeson pytorch相关兼容性:

PyTorch for Jetson - Announcements - NVIDIA Developer Forums

发现在JetPack 5才更新至python3.8。

PyTorch for Jetson Platform - NVIDIA Docs

NVIDIA L4T PyTorch | NVIDIA NGC

GitHub - dusty-nv/jetson-containers: Machine Learning Containers for NVIDIA Jetson and JetPack-L4T

run_31:
	docker stop py31_controller || true
	docker rm py31_controller || true
	docker run -it \
		--env="DISPLAY" \
		--env="QT_X11_NO_MITSHM=1" \
		--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
		--env="XAUTHORITY=${XAUTH}" \
		--volume="${XAUTH}:${XAUTH}" \
		--volume="/home/go1/lowlevel:/home/isaac/lowlevel" \
		--privileged \
		--runtime=nvidia \
		--net=host \
		--workdir="/home/isaac/lowlevel" \
		--name="foxy_controller" \
		dustynv/l4t-pytorch:r36.2.0 bash

你可能感兴趣的:(docker,容器,运维)