在 jupyter notebook 中循环传入类似终端的命令的值
Posted
技术标签:
【中文标题】在 jupyter notebook 中循环传入类似终端的命令的值【英文标题】:in cycle pass in values for terminal-like command inside jupyter notebook 【发布时间】:2021-06-17 21:44:28 【问题描述】:当我使用 argparse 运行一些脚本时,找不到在 jupyter notebook 中为类似终端的命令传递值的方法:
!python train.py --img 512 --batch 8 --epochs 40
需要使用不同的时期数值迭代运行该脚本:10,40,70,100。喜欢:
!python train.py --img 512 --batch 8 --epochs 10
!python train.py --img 512 --batch 8 --epochs 40
!python train.py --img 512 --batch 8 --epochs 70
!python train.py --img 512 --batch 8 --epochs 100
【问题讨论】:
如果答案解决了您的问题,请记得接受并投票;) 【参考方案1】:您可以将 python 变量传递给命令行环境 (!
),并在其前面加上 $
:
你也可以在 python 代码中运行命令行:
epochs = [10, 40, 70, 100]
for e in epochs:
!echo $e
输出:
10
40
70
100
您的 jupyter 单元应如下所示:
epochs = [10, 40, 70, 100]
for e in epochs:
!python train.py --img 512 --batch 8 --epochs $e
【讨论】:
以上是关于在 jupyter notebook 中循环传入类似终端的命令的值的主要内容,如果未能解决你的问题,请参考以下文章
在 jupyter/iPython notebook 脚本和类方法之间同步代码
Jupyter Notebook从同一目录中的python文件导入类
使用Jupyter Notebook在Python3中使用`exit`关键字做什么?
Jupyter Notebook - 在函数内绘图 - 未绘制图 [重复]
Jupyter Lab 在错误的路径中打开,与 Jupyter Notebook 不同,两者在“jupyter_notebook_config.py”中具有相同的映射。