深度强化学习环境搭建
Conda环境搭建
下载安装
新建环境
conda create -n rl python=3.8
激活环境
conda activate rl
安装软件
IDE建议安装Jupyter Lab或者Pycharm
执行以下命令在rl环境中安装运行jupyter-lab:
# 激活环境
conda activate rl
# 安装
conda install -c conda-forge jupyterlab
# 运行
jupyter-lab
深度学习环境搭建
Windows
查看支持的CUDA版本
注意看CUDA Version
nvidia-smi
# 输出:
Mon Nov 8 18:37:26 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 496.49 Driver Version: 496.49 CUDA Version: 11.5 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... WDDM | 00000000:01:00.0 Off | N/A |
| N/A 0C P8 12W / N/A | 162MiB / 6144MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
安装驱动和CUDA
显卡驱动下载:
程序安装完后记得打开更新下显卡驱动
CUDA工具包下载:
CUDA Toolkit 11.5 Downloads | NVIDIA Developer
如果官网下载速度太慢,可以从百度网盘下载驱动:
链接:https://pan.baidu.com/s/1qy7hJKPAktqoNy8xwFxM3Q
提取码:d7z3
是否安装成功
nvcc -V
# 安装成功的输出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Sep_13_20:11:50_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.5, V11.5.50
Build cuda_11.5.r11.5/compiler.30411180_0
Ubuntu
检查依赖
验证自己的GPU是否有一个可以支持CUDA的GPU:
lspci | grep -i nvidia
验证自己的Linux版本是否支持 CUDA:
uname -m && cat /etc/*release
验证系统是否安装了gcc 在终端中输入:
gcc –v
验证系统是否安装了kernel header
和package development
sudo apt-get install linux-headers-$(uname -r)
安装驱动
检测你的NVIDIA显卡型号和推荐的驱动安装型号。
输入命令:
ubuntu-drivers devices
建议安装驱动程序是 nvidia-390版本的驱动。
安装驱动命令:
sudo ubuntu-drivers autoinstall
命令是自动安装合适的显卡驱动。也可以选择所需驱动进行安装,命令如下:
sudo apt-get install nvidia-driver-390
然后等待安装完成,重启系统。
sudo reboot
最后检查是否安装成功:
输入以下命令:
nvidia-smi
安装CUDA
CUDA工具包下载:
CUDA Toolkit 11.5 Downloads | NVIDIA Developer
查看是否安装成功:
ls /dev/nvidia*
设置环境变量:
sudo vim ~/.bashrc
添加以下内容:
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/bin/lib64:$LD_LIBRARY_PATH
更新配置文件:
source ~/.bashrc
安装cuDNN
官网下载cuda对应版本的cudnn
下载完成以后将其解压到Cuda的目录当中,依次执行如下命令:
tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
是否安装成功
构建一个示例:
cd NVIDIA_CUDA-10.0_Samples/
make
cd NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release
./deviceQuery
Torch
安装Torch
Torch官网:Start Locally | PyTorch
我是用以下命令安装的PyTorch(结合上面安装的CUDA版本):
pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio===0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
# GPU版:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
# CPU版:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
验证GPU
打开jupyter-lab输入并运行:
import torch
torch.cuda.is_available()
# 输出True则表示CUDA版的Torch安装成功
TensorFlow
安装TensorFlow
conda install tensorflow # 使用conda安装cpu版TensorFlow
conda install tensorflow-gpu # 使用conda安装gpu版TensorFlow(会自动安装cuda,cuDNN)
pip install --ignore-installed --upgrade tensorflow-gpu # 使用pip安装
pip install --ignore-installed --upgrade tensorflow_gpu==1.8.0 # 指定版本
验证GPU
import tensorflow as tf
# Creates a graph.
tf.compat.v1.disable_eager_execution()
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))
强化学习环境搭建
安装依赖环境
可能需要先安装TensorFlow
pip install scipy numpy mkl matplotlib opencv-contrib-python pandas ray networkx -i https://pypi.tuna.tsinghua.edu.cn/simple
安装Gym
执行第三条命令:
pip install gym # 基本安装
pip install gym[all] # 完全安装(需要先安装mujoco)
pip install gym[all] --no-deps mujoco_py # 排除mujoco_py依赖安装
是否安装成功
打开jupyter-lab输入并运行:
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample()) # take a random action
env.close()
其他
必备软件
sudo apt-get install build-essential cmake git vim
配置pip源
执行以下命令升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
# 后接为要安装的包
注意,
simple
不能少, 是https
而不是http
更新pip:
python -m pip install --upgrade pip
配置Ubuntu18.04源
执行以下命令备份并修改配置文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list
替换内容:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
运行命令进行更新:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -f
配置conda源
# 执行下面的命令生成.condarc文件
conda config --set show_channel_urls yes
# 编辑.condarc文件
vim ~/.condarc
.condarc
文件修改后的内容:
channels:
- defaults
show_channel_urls: true
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
修改完成后运行下面的命令,清除索引缓存
conda clean -i
# 测试一下吧
# 创建一个新环境
conda create -n myenv numpy
# 激活环境
conda activate myenv
# 删除环境
conda remove -n myenv --all
Ubuntu安装Typora
# or see https://support.typora.com.cn/Typora-on-Linux/
sudo snap install typora
GitHub 镜像访问
这里提供两个最常用的镜像地址:
github.com.cnpmjs.org
hub.fastgit.org
也就是说上面的镜像就是一个克隆版的 GitHub,你可以访问上面的镜像网站,网站的内容跟 GitHub 是完整同步的镜像,然后在这个网站里面进行下载克隆等操作,使用方法是简单的网址替换,比如将https://github.com/openai/gym.git
替换为https://github.com.cnpmjs.org/openai/gym.git
。
Ubuntu18.04安装搜狗输入法
以下是简洁的安装命令:
# 更新源
sudo apt update
# 安装fcitx输入法框架(需要后续在设置中进行一些操作)
sudo apt install fcitx
# 设置fcitx开机自启动
sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/
# 卸载系统ibus输入法框架
sudo apt purge ibus
# 安装搜狗输入法
sudo dpkg -i 安装包名
# 安装输入法依赖
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1
# 重启电脑(重启之前也许需要先添加搜狗输入法)
# super + space 切换语言
# ctrl + space 切换输入法
Windows Terminal配置Anaconda
Windows Terminal在Win11中内置,Win10可在应用商店下载
出现权限错误时请尝试使用管理员身份运行
- 名称:Anaconda
- 命令行:%SystemRoot%\System32\cmd.exe /K "C:\Users\shang\anaconda3\Scripts\activate.bat"
- 命令行(可选):%SystemRoot%\System32\cmd.exe /K "C:\Users\shang\anaconda3\Scripts\activate.bat & set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890"
- 启动目录:%USERPROFILE%
- 不使用父进程目录(否则可能会默认进入C盘的Windows目录)
- 图标:C:\Users\shang\anaconda3\Menu\anaconda-navigator.ico
- 选项卡标题:Anaconda
使用批处理文件配置Conda环境
call D:\Users\Username\anaconda3\Scripts\activate.bat D:\Users\Username\anaconda3
call conda activate envname
cd /d D:\WorkSpace\projectdir
python pyfilename.py
pause
其中Username
替换为自己的用户名;
envname
替换为自己的环境名
/d
替换为自己的python文件所在盘符
D:\WorkSpace\projectdir
替换为自己的Python文件目录
pyfilename.py
替换为自己的py文件名
示例:
echo "激活conda环境"
call C:\Users\shang\anaconda3\Scripts\activate.bat C:\Users\shang\anaconda3
echo "激活rl环境"
call conda activate rl
echo "进入工作目录"
cd C:\Users\shang\Documents\rl
echo "执行命令"
python example.py
pause