环境
显卡RTX-3060
Ubuntu 18.04
pytorch 1.9
cuda 11.1
时间2021-8
安装步骤
- 安装ubuntu18.04
- 手动安装nvidia驱动,就在在软件更新,附加驱动里,找个带nvidia驱动安装即可,最新的也行。本机安装的驱动470,然后cuda自己就装了,nvidia-smi,显示cuda11.4
- 安装anaconda,各自挑个喜欢的就行,本机安装为
wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
- 安装pytorch,新建环境为python3.7,根据各自需要修改
conda create -n pytorch_py3 python=3.7 pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c nvidia
- 重点:
-c nvidia
,不然会各种报错,亲测运行ok,根据pytorch官网来安装即可
优缺点
简单高效
驱动是在软件更新中安装,本机安装,驱动470,cuda11.4,nvidia-smi,查看也是如此。不需要再添加变量,禁止驱动之类的
缺点:nvidia-smi,显示驱动470,cuda11.4,没得nvcc,pytorch运行自己有一套cuda,不用担心
模型结果
跑起来感觉比1050ti还慢
后来加大batchsize,差距就出来了,正常运转ok。
网上说,nvidia驱动cuda驱动,和pytorch运行时的cuda是不同的,不用担心。conda安装pytorch和cuda后,cudnn都不用再装了,测试了装了还不如不装快。也许conda安装的时候,pytorch已经内置cudnn了吧
我的浅显理解。
3060的cuda核心明显比1050ti多很多,但是训练小batch的时候,感觉还不如1050ti,增大batch后,3060的其它cuda核心才会用起来吧。
不过也可能,小batch,中间记录log文件的时候 i/o操作 把时间耽误了,所以看起来比1050ti还慢点。
安装tensorflow2.6
新建环境 conda create -n
新环境,然后启动环境
conda install cudnn=8.2
会自动安装cuda8.2和cudatoolkit 11.3
然后pip install tensorflow-gpu
,会安装2.6.0
安装tensorflow1.15.4
参考安装链接
https://github.com/NVIDIA/tensorflow
ubuntu18.04,python只能用3.6,才能装,不然会报错,装好了也会报错,系统glibc版本低,只有2.27,但是最新的nvidia-tensorflow需要2.29
ldd --version
查看ubuntu18.04,glibc版本ldd (Ubuntu GLIBC 2.27-3ubuntu1.2) 2.27
因为是python3.6,会自动安装符合ubuntu18.04的nvidia-tensorflow
python3.7会直接报错
python3.8,会安装最新版nvidia-tensorflow,安装成功,但是运行报错`GLIBC_2.29’ not found
ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found
创建python3.6环境
conda create -n tf python=3.6
conda activate tf
pip install nvidia-pyindex
pip install nvidia-tensorflow