我有以下运行的并行命令
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表格会忽略空列。)
答案 0 :(得分:2)
我无法产生您的错误。自20120722以来,我已经测试了GNU Parallel的每个版本,并且如果删除了最后一个,
,一切都可以正常工作。
所以还有其他事情发生。
它可以在您的环境中。您能找到另一台计算机(例如http://www.osboxes.org/virtualbox-images/中的VM)并在那里运行吗?
它可以在输入文件中。也许有些字符是不可见的?您可以上传实际文件(最好压缩/压缩,以便我们不知道其中的任何更改)吗?