最近在学习《深度强化学习入门与实践指南》,书中给出了其所有代码所用的安装包及版本如下图:
但是这些版本代码比较老了,特别是Pytorch的0.4.0版本在官网上一直没找到,折腾了好一段时间。因此写下这日志来记录一下自己的成功安装经历。
(电脑已事先安装好Aconda)在Cmd命令行中输入
conda create -n DRL python=3.6
这里DRL是自定义的虚拟环境名。由于书中写道所有代码都是用python3.6版本写的,因此这里选择虚拟环境的python版本为3.6。
首先安装numpy包。进入DRL虚拟环境然后安装对应版本的numpy:
activate DRL
pip install numpy==1.14.2
显示安装成功。
下一步是安装pytorch的0.4.0版本。在网上找了半天找到这段代码。试过用conda安装,但是conda好像会自动安装最新版本,因此这里使用pip安装。原网址:(4条消息) Windows系统安装和使用PyTorch 0.4.0 (官方已经支持 Windows )_杭州豆角焖面的博客-CSDN博客_pytorch == 0.4.0
pip3 install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl
由于电脑有GPU,这里选择安装GPU版本。
显示安装成功。
紧接着安装 torchvision以及其他包。
pip install torchvision==0.2.1
pip install gym==0.10.4
pip install ptan==0.3
pip install scipy==1.0.1
pip install tensorboard-pytorch==0.7.1
在安装atari-py这里出了问题,无法安装其0.1.1版本。网上搜索也查不到相关资料,推测可能是版本太旧被淘汰了。这里直接安装atari-py。以及其他包。
pip install atari-py
pip install tensorboard-pytorch==0.7.1
pip install opencv-python==3.4.0.12
pip install tensorflow==1.7.0
这里不需要额外安装tensorboard,跟着tensorflow一起安装了。除了pytorch的版本问题,其他包几乎都是pip直接安装对应版本,非常顺利。
最后输入pip list查看安装的所有包。都与书上的版本完美对上。
在Pycharm中新建项目尝试运行代码。
在解释器这里选择Add Interpreter添加解释器,从Conda Environment中选择刚刚新建的DRL环境。
运行本书的示例代码。可从 GitHub - PacktPublishing/Deep-Reinforcement-Learning-Hands-On: Hands-on Deep Reinforcement Learning, published by Packt
上下载。
这里运行的是Chapter04中的cartpole代码。
完美运行。示例代码中给出了一段可视化的代码来记录训练过程。
env = gym.wrappers.Monitor(env, directory="mon", force=True)
这段代码前本来是带注释的。将#号去掉后运行,却出现了错误。
这里推测不知啥时候自动安装了pyglet的2.0.1版本,与python3.6版本不匹配 。卸载现有的 pyglet,然后安装一个较老的版本。
pip uninstall pyglet
pip install pyglet==1.2.4
再次运行却还是报错。
网上各种搜索折腾近几小时后发现,其实在书上第二章有一节专门讲过gym.wrappers.Monitor函数。
看到这里心凉了半截。Xvfb是用在Linux上的可视化系统,而我用的是Windows10系统。Xvfb无法在Windows上使用,详情可看此网站python - Xvfb on Windows - Stack Overflow
都知道Linux系统配置起来极为麻烦。似乎也有在Windows上可视化gym的办法,需要通过Docker,搞了半天没弄明白,大家可以参考以下网页。本人已打算放弃可视化。
window10下载并安装docker desktop | 码农家园
How to Render OpenAI-Gym on Windows | by Jian Xu | Towards Data Science
GitHub - jianxu305/openai-gym-docker: A Docker for OpenAI Gym that can render on Windows