【bug记录】Windows rllab搭建及运行报错记录

安装rllab

https://github.com/rll/rllab下载zip,解压后将文件夹rllab放入到anaconda虚拟环境(虚拟环境!!)的\Lib\site-packages文件夹中。(这一步自己粗心把文件夹放在了主环境下,import rllab,一直提示 no model named ‘rllab’)
将解压后的文件夹scripts也移动到env\你的虚拟环境\Lib\site-packages文件夹中,因为examples代码中用到了run_experiment_lite.py。

测试

运行examples文件夹下的trpo_cartpole_pickled.py

报错:ImportError: cannot import name ‘MemmapingPool’
解决: 修改源文件,MemmapingPool 改成 MemmappingPool

报错:run_experiment_lite.py: error: argument --n_parallel: invalid int value: "'2'"

解决:这里可能是源码在参数处理的时候不太好,直接修改函数源码,找到\Lib\site-packages\rllab\misc\instrument.py的to_local_command函数,加一个elif

    for k, v in params.items():if isinstance(v, dict):for nk, nv in v.items():if str(nk) == "_name":command += "  --%s %s" % (k, _to_param_val(nv))else:command += \"  --%s_%s %s" % (k, nk, _to_param_val(nv))elif isinstance(v, int):command += "  --%s %d" % (k,v)else:command += "  --%s %s" % (k, _to_param_val(v))

 

报错:OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: “'C:”
这个问题在函数os.makedirs中,没弄明白是为什么,好像这个函数的参数必须是绝对路径,或者是传进去的参数不对?而rllab中,参数是虚拟环境安装的相对路径。
解决:直接在调用run_experiment_lite函数的时候,传入log的地址。

run_experiment_lite(run_task,# Number of parallel workers for sampling#n_parallel=2,# Only keep the snapshot parameters for the last iterationsnapshot_mode="last",# Specifies the seed for the experiment. If this is not provided, a random seed# will be used# seed=1,#plot=Truelog_dir = "data",
)

 

报错:UnicodeEncodeError: 'gbk' codec can't encode character '\xd6' in position 27: illegal multibyte sequence

解决:在logger.py的131行加上 out = out.encode('utf-8').decode("cp936"),将out的编码格式转换为cp936

回溯源码\lib\site-packages\rllab\misc\logger.py,打印_text_fds信息,输出:ssssss {"'data'\\debug.log": <_io.TextIOWrapper name="'data'\\debug.log" mode='a' encoding='cp936'>},_text_fds的编码格式是cp936(奇奇怪怪的编码)

报错: NotImplementedError

解决:打印了_snapshot_mode的结果为‘last’,却没有走 elif   _snapshot_mode == 'last':的条件语句

原来是字符串本身是‘last’,if判断时应该改为_snapshot_mode == "'last'",总之很迷。。字符串带引号,什么迷惑行为,hhhh

代码在D:\anaconda3\envs\py36\Lib\site-packages\rllab\misc\logger.py


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部