我想将papermill
用作数据科学工作流程的一部分来记录实验。关键思想是,输出笔记本应作为唯一的工件存储-实验的不变记录。因此,我希望输出文件名是唯一文件名,例如experiment_<hash>.ipynb
。如何在Linux CLI上自动执行此操作?从papermill文档中,看来我必须指定确切的输出文件名,如
papermill local/input.ipynb s3://bkt/output.ipynb -f parameters.yaml
而我真正想要的是类似的东西
papermill local/input.ipynb s3://bkt/output_[UNIQUE HASH HERE].ipynb -f parameters.yaml
我想在papermill
呼叫中自动进行此操作 。
$ echo cat input.ipynb | md5sum
22f69c25ee3a855b17fead21e702668a
$ papermill local/input.ipynb s3://bkt/output_22f69c25ee3a855b17fead21e702668a.ipynb -f parameters.yaml
但是我不想通过剪切和粘贴手动完成。
答案 0 :(得分:0)
您可以使用命令替换,例如:
papermill local/input.ipynb s3://bkt/output_`date +%s | sha256sum | base64 | head -c 32`.ipynb -f parameters.yaml
或更新的方式
papermill local/input.ipynb s3://bkt/output_$(date +%s | sha256sum | base64 | head -c 32).ipynb -f parameters.yaml