问题描述
我目前正在使用这个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 (将#修改为@)