笔者近期接触深度强化学习,想按照网上的相关资料实际操作和学习一番,而深度强化学习的实例中,很多都用到了gym这个库。有关这个gym库的介绍,笔者在此不再赘述,只简单说一下实际使用过程中遇到的问题。
笔者在刚刚接触gym的时候,直接使用如下命令进行安装 pip install gym
结果自然是顺利安装gym,但是随后在具体编程实践过程中,发现总是报错,具体报错信息如下:
ValueError: expected sequence of length 4 at dim 1 (got 0)
该报错发生在类似如下语句中:
state = torch.tensor(state, dtype=torch.float).to(device)
经过在网上多方搜索,找到原因提示说安装指定版本的gym可以解决该问题,并建议安装 pip install gym==0.20.0
但是上述命令运行过程中会出现报错信息,具体如下:
ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects
上网搜索好久没有解决,真是让笔者束手无策。
后来突发奇想,能否实验一下gym的其他版本?
于是pip install gym==0.22.0
惊喜的发现居然安装成功,并且原来的实验程序可以顺利运行了,至此该问题彻底解决。
在随后的实践过程中发现,网上有关gym 的源代码照搬过来之后经常报错,实际上这个很大程度上与gym的版本有关系,所以在提供源代码的 时候最好能够说明使用的gym版本号。