人生苦短,我用python,python虽好,环境难搞!少则半日,多则半月。
qq:1028900249
1、Pytorch在arm-gpu安装方式
由于pytorch官网https://download.pytorch.org/whl/没有提供arm的gpu版本的pytorch安装包,所以安装方式通常有基于pytorch源码编译和基于做好的docker实现。
Pytorch源码下载https://github.com/pytorch/pytorch/releases/,
不要在这里下载:
https://github.com/pytorch/pytorch/
更不要使用
git clone https://github.com/pytorch/pytorch.git
网上很多介绍这二种下载方式的,估计很多都没有实验过,只转载。简直坑死人了,下载一周都没有下全。
然后自己根据环境编译,由于太复杂没有成功。
2、基于docker的arm-gpu的pytorch环境实现
在
网站拉取docker,这个页面的docker里面自身不带cuda,如果对实体机器cuda版本有要求。可能会出现实体机器cuda版本与docker中pytorch版本不对应,出现pytorch不支持浮点数类型。所以可以在PyTorch | NVIDIA NGCPyTorch is a GPU accelerated tensor computational framework. Functionality can be extended with common Python libraries such as NumPy and SciPy. Automatic differentiation is done with a tape-based system at the functional and neural network layer levels.https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch
拉取docker,该docker中带有cuda。以我安装经验来看,虽然docker里面安装了显卡驱动,但是和实体机器要保持大版本相同,才不会应该cuda版本和docker中pytorch版本不匹配而出错。比如我的实体机器的cuda版本为11.4或者11.6。docker 里面的cuda版本是11.8是可以的,但是docker里面cuda版本12.0会出问题。
3、docker-gpu安装
可以参考这个https://www.cnblogs.com/haolb123/p/16553001.html。
4、遇到一些问题解决
1、ssh远程配置:
vim /etc/ssh/sshd_config
在配置文件中,我们需要找到以下行:
#PermitRootLogin prohibit-password
将其改为:
PermitRootLogin yes
这将允许root用户登录SSH。
Ssh重启 /ect/init.d/ssh start
2、pycharm远程调试问题
vim /etc/ssh/sshd_config
AllowTcpForwarding
后面是yes
systemctl restart sshd.service
3、Ssh连接慢
vim /etc/ssh/sshd_config
UseDNS no
重启docker
4、shm空间修改
当docker运行出现shm空间不足时候。
1、关闭docker
2、使用 docker ps -a 命令找到要修改容器的 CONTAINER ID
3、cd /var/lib/docker/containers 命令进入找到与 Id 相同的目录
4、找到容器对应的配置文件hostconfig.json,找到参数"ShmSize",改!重启doker
5、pytorch远程调试错误 /lib/aarch64-linux-gnu/libGLdispatch.so.0: cannot allocate memory in static TLS block
- 编辑 ~/.bashrc,
- 添加export LD_PRELOAD=/home/nano/miniforge3/envs/SNDW/lib/python3.6/site-packages/faiss/../faiss_cpu_py36.libs/libgomp-d22c30c5.so.1.0.0:$LD_PRELOAD
- Pycharm运行环境中添加LD_PRELOAD=变量。