这只是一种方法通过调用脚本方式替换配置文件中的对应选项,另一种就是通过看清源码动态传入参数:
Linux 脚本:
#!/bin/bash
#/usr/bin/sed -i s"?PATH_TO_BE_CONFIGURED?${1}?g" ${2}
/usr/bin/sed -i s"?PATH_TO_BE_CONFIGURED?${1}?g" ${4}
/usr/bin/sed -i s"?BATCH_SIZE?${2}?g" ${4}
/usr/bin/sed -i s"?NUM_CLS?${3}?g" ${4}
python脚本:
import subprocess
recp_path="/home/pycharm_pj382/Datasets/tmp/val.record"
num_classes='5'
batch_size='1'
cfgFile="/software/models/research/MyTrain/cfg/pipeline.config"
try:
subprocess.run(["sh", "/software/models/research/MyTrain/Model/renewCfg.sh", recp_path,num_classes,batch_size,cfgFile])
except Exception as e:
print("Unexpected Error: {}".format(e))
执行效果: