如何在Python中循环访问各种命令行参数集并循环运行脚本?

如何解决如何在Python中循环访问各种命令行参数集并循环运行脚本?

我目前正在使用这个tensorflow-pression库:https://github.com/tensorflow/compression。我的问题不是特定于该库的工作方式,而是必须遍历命令行参数集,而需要做更多的工作,但是我想我会分享其他上下文。我正在训练具有各种datasets和各种lambda值的模型(lambda捕获损失函数的两个组件之间的折衷),而这两个都会影响命令行参数。可以在here中找到有关此库的特定argparse参数的更多信息。

当前,我正在命令行中为每个唯一的参数集手动运行模型训练脚本,如下所示:

python bls2017.py [arguments] 

例如,对于一组参数,它看起来像:

python bls2017.py --verbose --num_filters=32 train --patchsize=32 --lambda=0.1 --laststep=100000 --train_glob="images/cifar10/*". 

然后我将模型检查点保存到名称包含特定参数的目录中。对于上面的特定参数,此目录路径将为checkpoints/num_filters=64_patchsize=32_lambda=0.1_laststep=100000_train_glob=images/cifar100/*,总而言之,每个模型都有一个检查点文件夹(唯一的一组参数)。但是,这效率低下,因为我是针对每个参数集手动运行脚本,而不是通过编程迭代它们并运行脚本。有没有办法以编程方式循环训练这些模型(或达到某种效果),所以我不必为每组参数手动运行python bls2017.py [arguments]命令?

此外,我想使用compress子命令评估每个训练后的模型,该命令要求使用--checkpoint_dir来输入训练后的模型的检查点目录。获取所有模型目录的一种方法是执行glob.glob('checkpoints/*')获取模型检查点目录的列表。与我上面描述的类似,然后我想遍历所有模型检查点目录并运行脚本,而不是通过以下方式为每个模型/目录手动运行命令:

python bls2017.py --num_filters=64 --checkpoint_dir='checkpoints/num_filters=64_patchsize=32_lambda=0.1_laststep=100000_train_glob=images/cifar100/*' compress original.png compressed.tfci

我该怎么做?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?