如题所述,为了搭建在Linux下的基于GPU版pytorch的Stable-Baselines3,花费了很大的经历。特此记录。
Ubuntu 18.04
Python3.7
RTX3080
通过Anaconda创建环境。
# 先创建一个环境
conda create -n env_name python=3.7
# 激活环境
conda activate env_name
# 安装cudatoolkit
conda install cudatoolkit=11.3
# 安装tensorboard,可省略,看是否需要
pip install tensorboard
# 安装pytorch,cudatoolkit与上述对应
conda install pytorch cudatoolkit=11.3 -c pytorch
# 但是安装完毕发现是CPU版本的,但是也先进行安装即可
# 解决方法见下文
# 最后安装stable-baselines3
pip install stable-baselines3
参照地址:
PyTorch官网说明
同时使用的镜像是清华镜像。
安装提示给的是CPU版本的:
在安装的前提下,进行更换为GPU版本的。
参考方法:这个博客
第1步
到清华的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
第2步
第3步
CPU版本的是1.10.2的,所以下载的也是GPU版的1.10.2
第4步
其他两个包同理,我下载的依次是:
第5步
将其拷贝到一个目录下,然后进行安装:
conda install --offline xxxxx[这三个包的具体名字]
conda install --offline xxxx[这三个包的具体名字]
conda install --offline xxx[这三个包的具体名字]
第6步
最终,安装到了GPU版本的pytorch,如图:
import torch
# 用此方法检查,有效。
torch.zeros(1).cuda()
# 用下面这种方法,不一定能检测出正确,因为可能出现如下错误:
# GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
print(torch.device("cuda:0" if torch.cuda.is_available() else "cpu"))