【问题标题】:in cycle pass in values for terminal-like command inside jupyter notebook在 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 

【问题讨论】:

  • 如果答案解决了您的问题,请记得接受并投票;)

标签: python-3.x jupyter-notebook argparse


【解决方案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

【讨论】:

    猜你喜欢
    • 2016-12-06
    • 2018-04-05
    • 2019-08-20
    • 2022-11-12
    • 2021-11-25
    • 2023-02-06
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多