迷你主机折腾系列(一)8845HS APU/安装Pytorch
本文最后更新于 2024-11-01,文章内容可能已经过时。
R7 7840HS 780m核显成功运行Stable Diffusion生成图片-论坛-深度科技
OS:Ubuntu 22.04LTS
CPU:8845HS
GPU:780M
安装AMD GPU驱动
AMD Radeon 和 Radeon PRO 显卡 Linux® 驱动程序
下载对应系统的驱动即可
sudo apt install ./amdgpu-install_6.2.60203-1_all.deb
正式安装amdgpu驱动
sudo amdgpu-install --usecase=rocm,hip,mllib --no-dkms
#安装结束后添加当前用户到render和video用户组让达芬奇等应用能够识别到显卡
sudo usermod -a -G video,render $LOGNAME
Docker安装ROCm with Pytorch
AMD官方安装教程:Installing PyTorch for ROCm — ROCm installation (Linux)
Docker Tag对应的Package version:Docker image support matrix — ROCm installation (Linux)
docker run -itd --name pytorch --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
--device=/dev/kfd --device=/dev/dri --group-add video \
-v /home/moon/project/jupyter-pytorch:/var/lib/jenkins/project -p 2022:22 -p 5022:5022 --ipc=host --shm-size 8G --restart=always rocm/pytorch:latest
在容器中安装工具
docker exec -it pytorch /bin/bash
apt install nano openssh-server
pip install jupyterlab -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
wget -c 'https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh' -P /home
cd /home
bash ./Anaconda3-2023.09-0-Linux-x86_64.sh
随后一路Enter
下去
输入yes
确认路径后一路安装即可
conda
查看
ssh设置
nano /etc/ssh/sshd_config
将PermitRootLogin
设置为yes
Ctrl+O
保存并Ctrl+X
退出
Jupyter设置
生成配置文件
jupyter lab --generate-config
会输出config
所在路径
打开配置文件
nano /root/.jupyter/jupyter_lab_config.py
找到并修改以下内容
#c.ExtensionApp.open_browser = True
#c.LabServerApp.open_browser = True
c.ServerApp.allow_remote_access = True
c.ServerApp.allow_root = True
c.ServerApp.ip = '*'
c.ServerApp.port = 5022
输入jupyter lab
随后可在浏览器访问
其中token
在刚刚的log
里
如果需要长时间挂在后台,可以通过nohup jupyter lab --allow-root &
启动,但是需要手动通过kill
命令关闭
测试AMD 样例
如果使用Docker Pre-build版本测试之前无需安装依赖,其他自定义安装方式参加官方文档
设置环境变量使其能够正常工作,根据不同显卡型号设置版本,780m可以用11.0.0
在~/.bashrc
中添加
export HSA_OVERRIDE_GFX_VERSION=11.0.0
下载pytorch
样例
由于我使用卷绑定了宿主的/home/moon/project/jupyter-pytorch
与容器的/var/lib/jenkins/project
,因此我们在宿主机的/home/moon/project/jupyter-pytorch
下运行git即可添加到容器中
# <Host>
git clone https://github.com/pytorch/examples.git
接下来在容器中进入目录
# <Container>
cd /var/lib/jenkins/project/examples/mnist
python3 main.py
一个Epoch
跑完out of memory
了,由于核显是分配了一部分内存作为显存,笔者的内存是8+8
,所以32
的内存已经在路上了,当然其实我们不会在迷你主机上训练模型,我们要做的仅仅只是部署(推理),当然这也是换内存的一个借口。
最后如果需要设置显存大小
参考调整显存大小教程
- 感谢你赐予我前进的力量