我运行了以下并行命令
parallel --header : --colsep , \
python -m imitation.scripts.train \
with \
"$@" \
gail \
{env_config} \
log_root="${OUTPUT_DIR}" \
init_trainer_kwargs.rollout_glob=expert_models/rollouts/{rollout_glob} \
init_trainer_kwargs.n_expert_demos={n_demonstrations} \
:::: experiments/gail_benchmark_config.csv这将从以下csv文件中提取{rollout_glob}、{n_demonstrations}和{env_config}:
$ cat -vet experiments/gail_benchmark_config.csv | head
env_config,rollout_glob,n_gen_steps_per_epoch,n_epochs,n_demonstrations^M$
cartpole,CartPole-v1.pkl,5000,300,1^M$
cartpole,CartPole-v1.pkl,5000,300,4^M$
cartpole,CartPole-v1.pkl,5000,300,7^M$
cartpole,CartPole-v1.pkl,5000,300,10^M$
mountain_car,MountainCar-v0.pkl,5000,300,1^M$
mountain_car,MountainCar-v0.pkl,5000,300,4^M$
mountain_car,MountainCar-v0.pkl,5000,300,7^M$
mountain_car,MountainCar-v0.pkl,5000,300,10^M$
acrobot,Acrobot-v1.pkl,5000,300,1^M$看起来parallel不能正确读取n_demonstrations,所以它留下了{n_demonstrations}空白。我需要在每个CSV行的末尾附加一个逗号,以使我的parallel脚本正常工作。
错误生成的命令示例:
python -m imitation.scripts.train with gail cartpole [...] init_trainer_kwargs.n_expert_demos={n_demonstrations} seed=0在其他问题中,人们似乎是reading CSVs fine without using these trailing commas。
有人知道我可以做什么不同的事情,这样我就不需要在CSV中添加逗号了吗?(这很烦人,因为它等同于一个空列,并且在我尝试导出my CSV时,Google Sheets会忽略空列。)
发布于 2019-07-31 15:05:48
我不能产生你的错误。我测试了自20120722以来的每个版本的GNU并行,如果您删除最后一个,,所有的工作都很好。
所以有别的事情发生了。
它可以在您的环境中。您能否找到另一台计算机(例如http://www.osboxes.org/virtualbox-images/的VM )并在那里运行它?
它可以在输入文件中。也许有些角色是看不见的?你能上传实际的文件(最好是压缩/gzipped,这样我们就不知道里面有什么变化了)?
https://stackoverflow.com/questions/57280651
复制相似问题