Ubuntu搭建Pytorch环境
Ubuntu搭建Pytorch环境
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Ubuntu搭建Pytorch环境
- 前言
- 一、Anaconda
- 二、Cuda
- 1.安装流程
- 2、环境变量:
- 3、cuDNN
- 4、创建Anaconda环境
- 1.Anaconda常用命令:查看,创建,删除环境
- 2.创建ai空间,用于搭建pytorch深度学习框架
- 4、创建PyTorch环境
- 1、官网:
- 2、在 planner 空间中执行上面生成的命令
- 五、安装相关依赖库的方式
- 六、问题解决:
- 问题一:AttributeError: module 'distutils' has no attribute 'version'
- 问题二:ImportError: TensorBoard logging requires TensorBoard version 1.15 or above
- 问题三:module 'numpy' has no attribute 'object'.
前言
Ubuntu搭建Pytorch环境
提示:以下是本篇文章正文内容,下面案例可供参考
参考文献:
Ubuntu物理机显卡驱动安装的几种方式
Ubuntu搭建Pytorch环境(Anaconda、Cuda、cuDNN、Pytorch、Python、Pycharm、Jupyter)
一、Anaconda
二、Cuda
1.安装流程
查看版本:
nvidia 官网:
https://developer.nvidia.com/cuda-toolkit-archive
下载:
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run
安装:
先给权限:
再安装:
sudo sh cuda_12.8.0_570.86.10_linux.run
查看:
2、环境变量:
sudo gedit ~/.bashrc
# <<< cuda initialize <<<
# export PATH="/anaconda3的路径名/anaconda3/bin:$PATH"
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
# <<< cuda initialize <<<
测试cuda是否安装成功
nvcc -V
cd /usr/local/cuda/extras/demo_suite/
./bandwidthTest
3、cuDNN
官网:
https://developer.nvidia.com/rdp/cudnn-archive
点击进入:
权限
sudo chmod +777 cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz
并解压
unxz cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz
tar -vxf cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar
安装:
sudo cp include/cudnn*.h /usr/local/cuda/include/
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
显示:
测试:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
结果:
4、创建Anaconda环境
1.Anaconda常用命令:查看,创建,删除环境
(1)查看anaconda的安装版本:
conda --version
(2)查看已经安装的环境(带星号的表示目前正在使用的环境):
conda env list
(3)激活对应的虚拟环境(进入环境):
source activate envone(环境名)
(4)激活默认的虚拟环境(base环境):
source activate
(5)退出当前conda环境:
conda deactivate
(6)删除conda环境:
conda uninstall -n envone(环境名) --all
(7)在环境里安装需要的包:
pip install xxx
(8)查看已经安装的包:
pip list
(9)克隆已有环境:
conda create -name python32(新名字) --clone python321(老名字)
(10)删除conda环境:
conda remove -n envone(环境名) -all
2.创建ai空间,用于搭建pytorch深度学习框架
使用anaconda安装环境后,本地默认环境成为base环境。
(1)创建名为 planner 的空间:
conda create -n planner python=3.8
查看创建的环境:
(2)进入 planner 空间(虚拟环境):
conda activate planner
4、创建PyTorch环境
1、官网:
https://pytorch.org/get-started/previous-versions/
·选择pytorch版本
·选择对应的操作系统
·选择使用什么安装,conda里可以使用pip安装的
·选择编程语言为python
·选择cuda版本:我的版本是12.1,pytorch官网上目前只给出了11.8的Cuda支持,但是社区明确表明了兼容高版本Cuda。
2、在 planner 空间中执行上面生成的命令
通过conda 创建:
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 -c pytorch
查看安装列表:
pip list
验证pytorch是否安装:
五、安装相关依赖库的方式
六、问题解决:
问题一:AttributeError: module ‘distutils’ has no attribute ‘version’
(planner) cj@apollo:~/torch_tensorBoard$ python3 test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
from torch.utils.tensorboard import SummaryWriter
File "/home/cj/.conda/envs/planner/lib/python3.8/site-packages/torch/utils/tensorboard/__init__.py", line 5, in <module>
LooseVersion = distutils.version.LooseVersion
AttributeError: module 'distutils' has no attribute 'version'
解决方法:
加入:
from distutils.version import LooseVersion
在文件加入文件:
问题二:ImportError: TensorBoard logging requires TensorBoard version 1.15 or above
(planner) cj@apollo:~/torch_tensorBoard$ python3 test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
from torch.utils.tensorboard import SummaryWriter
File "/home/cj/.conda/envs/planner/lib/python3.8/site-packages/torch/utils/tensorboard/__init__.py", line 9, in <module>
raise ImportError('TensorBoard logging requires TensorBoard version 1.15 or above')
ImportError: TensorBoard logging requires TensorBoard version 1.15 or above
这是版本问题:
我们可以降低TensorBoard的版本:
(planner) cj@apollo:~/torch_tensorBoard$ pip install tensorboard==1.15.0
安装完成后:
查看一下版本:
pip list | grep tensorboard
问题三:module ‘numpy’ has no attribute ‘object’.
AttributeError: module 'numpy' has no attribute 'object'.
`np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
解决方法:
在numpy 1.19.0的版本中,存在np.object,所以要把版本降低;
查看版本:
(planner) cj@apollo:~/torch_tensorBoard$ pip list | grep numpy
numpy 1.24.3
降低版本:
(planner) cj@apollo:~/torch_tensorBoard$ pip install numpy==1.19.0
(planner) cj@apollo:~/torch_tensorBoard$ pip list | grep numpy
numpy 1.19.0
测试案例:
test.py文件内容:
import torch
from torch.utils.tensorboard import SummaryWriter
# 创建 SummaryWriter,日志保存到 runs/test 目录
writer = SummaryWriter("runs/test")
for i in range(100):
# 记录 y=3x 的标量值:tag为"y=3x",值为3*i,步骤为i
writer.add_scalar("y=3x", 3 * i, i)
writer.close() # 关闭写入器,确保数据保存
运行一下:
(planner) cj@apollo:~/torch_tensorBoard$ python3 test.py
(planner) cj@apollo:~/torch_tensorBoard$ tensorboard --logdir runs
TensorFlow installation not found - running with reduced feature set.
TensorBoard 1.15.0 at http://apollo:6006/ (Press CTRL+C to quit)
点击链接:
就可以看到tensorboard绘制的图。