【问题标题】:running a python file from the ipython notebook using command line in loop使用循环中的命令行从 ipython 笔记本运行 python 文件
【发布时间】:2018-09-15 18:21:48
【问题描述】:
我已经建立了一个使用 training.py 进行训练的模型。我想通过改变传递的参数来调整超参数并从笔记本循环运行以下脚本。
python training.py --cuda --emsize 1500 --nhid 1500 --dropout 0.65 --epochs 10
例如:如果超参数是 dropout,我希望能够通过改变 dropout 值并绘制图形来循环运行脚本。
【问题讨论】:
标签:
for-loop
command-line
neural-network
pytorch
hyperparameters
【解决方案1】:
您可以在 ipython 环境中使用 ! 运行 shell 命令
!ls -l
如果你想将它与变量一起使用,那么你可以使用{}。
# Supposing you have epochs in e and dropout size in d
!python training.py --cuda --emsize 1500 --nhid 1500 --dropout {d} --epochs {e}
您还可以使用 !! 而不是 ! 在 ipython 中捕获 shell 运行的输出。 !! 魔术命令将命令的输出作为字符串列表返回。所以,你可以做类似的事情
files = !! ls - l