Stable Baselines-用户向导-安装

Stable Baselines官方文档中文版 Github CSDN

  • 预备知识

    Baselines要求Python3(>=3.5),同时需要CMakeOpenMPIzlib包。可以通过如下方式安装:

  • Ubuntu

    sudo apt-get update && sudo apt-get install cmake libopenmpi-dev python3-dev zlib1g-dev
    
  • Mac OS X

    在Mac上安装系统包需要 Homebrew。安装 Homebrew后,运行如下代码:

    brew install cmake openmpi
    
  • Windows 10

    我们建议windows用户采用Anaconda.

    1. Anaconda Navigator (至少python 3.5) 创建一个新环境,在此环境下安装zlib
    2. 复制Github上Stable-Baselines仓库,并用gym[classic_control]>=0.10.9替换setup.py中的gym[atari,classic_control]>=0.10.9
    3. 从源文件安装Stable-Baselines。在安装目录运行pip install -e
    4. [可选]如果你想用atari环境,你需要安装这个包:https://github.com/j8lp/atari-py (再用 pip install -e)
  • 稳定版本

    pip install stable-baselines
    
  • 最新版本

    支持运行测试和构建文档

    git clone https://github.com/hill-a/stable-baselines && cd stable-baselines
    pip install -e .[docs,tests]
    
  • 使用Docker图像

    如果你用已安装的stable-baselines寻找docker图像,我们建议用来自RL Baselines Zoo的图片。

    不然,下面图片包含stable-baselines的所有依赖项,但不包含stable-baselines包本身。他们是为开发而生。

  • 用构建好的图像

    GPU图像(需要 nvidia-docker):

    docker pull araffin/stable-baselines
    

    只用CPU

    docker pull araffin/stable-baselines-cpu
    
  • 构建Docker图像

    构建GPU图像(用nvidia-docker):

    docker build . -f docker/Dockerfile.gpu -t stable-baselines
    

    构建CPU图像:

    docker build . -f docker/Dockerfile.cpu -t stable-baselines-cpu
    

    如果你是用了代理,在构建过程中你需要额外传递一些参数并做微调:

    --network=host --build-arg HTTP_PROXY=http://your.proxy.fr:8080/ --build-arg http_proxy=http://your.proxy.fr:8080/ --build-arg HTTPS_PROXY=https://your.proxy.fr:8080/ --build-arg https_proxy=https://your.proxy.fr:8080/
    
    
  • 运行图像(CPU/GPU)

    运行nvidia-docker GPU图像

    docker run -it --runtime=nvidia --rm --network host --ipc=host --name test --mount src="$(pwd)",target=/root/code/stable-baselines,type=bind araffin/stable-baselines bash -c 'cd /root/code/stable-baselines/ && pytest tests/'
    
    

    或者,用shell文件:

    ./run_docker_gpu.sh pytest tests/
    
    

    运行docker CPU图像

    docker run -it --rm --network host --ipc=host --name test --mount src="$(pwd)",target=/root/code/stable-baselines,type=bind araffin/stable-baselines-cpu bash -c 'cd /root/code/stable-baselines/ && pytest tests/'
    
    

    或者用shell文件:

    ./run_docker_cpu.sh pytest tests/
    
    

    解释docker命令:

    • doctor run -it 创建图像实例(等同于容器),并交互式地运行(ctrl+c会起作用)
    • --rm 选项意味着容器一旦推出/停止就删除。不然,你就要用docker rm
    • --network host 不用网络隔离,着允许在主机使用tensorboard/visdom
    • --ipc=host 用主机系统的IPC命名空间。IPC (POSIX/SysV IPC)命名空间提供命名共享内存段、信号量和消息队列的分离
    • --name test 明确给容器test名字,不会会被随机赋名
    • --mount src=... 给容器本地目录(pwd命令)权限(应该匹配/root/code/stable-baselines),以便容器在此目录下创建的日志都被保留
    • bash -c '...' 在docker图像内运行命令。此处运行pytest tests测试

你可能感兴趣的:(#,Stable,#,强化学习,stable,baseline,安装)