jetson的docker中装torch、torchvision

阅读: 评论:0

jetson的docker中装torch、torchvision

jetson的docker中装torch、torchvision

极简:

网址:
按照这个上面的操作说明,拉取,启动与系统版本相匹配的镜像。


错误:

按照下面命令安装的 torch 不能使用 cuda 也就是说 torch.cuda.is_available() 是False

安装 torch 命令

$ pip3 install torch -f .html

安装 torchvision 命令

$ pip3 install torchvision -f .html

详细错误经历∠(°ゝ°)

时间:2022/4/14

环境

设 备:联想 EA-B310
核心模块:NVIDIA Jetson Xavier NX
系 统:系统自带的 ubuntu18.04
使用该设备自带的 docker,用下面的命令启动了一个容器

$ sudo docker run --runtime nvidia --network host -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/l4t-base:r32.3.1 

思路:根据网页 要求,查看Jetpack版本,然后根据版本下载安装推荐的torch版本

页面截图

查看 Jetson 的 Jetpack

提示:是查看系统的 Jetpack 版本,不是在 docker 容器里面查看

$ cat /etc/nv_tegra_release

结果

# R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t186ref, 
EABI: aarch64, DATE: Fri Jun 26 04:34:27 UTC 2020

上面的意思是系统 L4t 的版本是32.4.3
但是 docker 启动命令来看 L4t 的版本是 32.3.1

各版本对应关系

- Jetpack4.2.2
./source_sync.sh -t tegra-l4t-r32.2.1- Jetpack4.3
./source_sync.sh -t tegra-l4t-r32.3.1- Jetpack4.4
./source_sync.sh -t tegra-l4t-r32.4.3- Jetpack4.4.1
./source_sync.sh -t tegra-l4t-r32.4.4- Jetpack4.5
./source_sync.sh -t tegra-l4t-r32.5

我想既然我是在 docker 中运行的,所以参考的是 docker 启动命令, 选择的J etpack 版本是 Jetpack4.3, 因此下载了 Jetpack4.3 对应的 v1.14.0的 pytorch安装包

下载的时候需要梯子。
下载完成以后,拷贝到U盘,再用U盘拷贝的设备里。最后用docker命令拷贝到容器里。
用docker命令查看正在运行的容器ID的命令

$ sudo docker ps -a

拷贝到docker容器里,xxxxxx是容器ID

$ sudo docker cp torch-1.4.0-cp36-cp36m-linux_aarch64.whl xxxxxx:/home

安装

$ sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
$ pip3 install Cython
$ pip3 install numpy torch-1.4.0-cp36-cp36m-linux_aarch64.whl

安装成功,但是导入包的时候报错
ImportError:libnvToolsExt.so.1:cannot open shared object file: No such file or directory

使用查找命令

$ find / -name libnvToolsExt*

结果如下,说明有

然后猜想可能是没有包含这个路径

在 ~/.bashrc 文件中的最后添加

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

执行命令更新环境

$ source ~/.bashrc

完成以后 在导入的时候依旧报错
ImportError:libcudart.so.10.0:cannot open shared object file: No such file or directory

我想是不是环境里面包含不存在的cuda10.0版本的路径

用 env 命令查看 发现果真包含了,然后不知道怎么删除,搜索了一下用命令
export -n PATH=/usr/local/cuda-10.0/bin
然后发现很多命令都用不了了,包括ls命令,开始的时候挺紧张的。然后突然试着把之前的PATH内容都重新用export添加一下,发现不能用的命令都又可以用了。
接着用类似的命令重新添加了一下环境,把cuda-10.0排除外,后用env查看了一下。就没有发现有cuda-10.0了。认为环境中应该不包含cuda10.0了
最后导入torch的时候依旧报一样的错误。。。
emmmm 所以最后放弃了这种安装方法,改用另外一个安装方法。一行命令就安装成功了,导入也没有问题。

$ pip3 install torch -f .html

emmmm。。。。我都经历了些啥。。。最后也不知道是哪的问题。。。

是我启动的容器版本不对吗?
或者我应该装与系统版本匹配的pytorch吗?而不是与容器版本匹配。

本文发布于:2024-01-28 04:24:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063870694751.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:中装   docker   jetson   torch   torchvision
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23