写这个博文的初衷是这样的:老师让我训练LeNet,并且修改它的网络架构(多种变形),然后每一种做N次重复试验求平均值,最后和随机权重的网络进行比较;如此多的训练网络以及如此多重复的内容,便激发了我写shell脚本来自动化运行它;
主要的shell脚本
#!/usr/bin/env sh
folder="/path/"
solver="lenet_solver.prototxt" #solver文件保持不变
N=10 # 每个网络训练N次
for file in ${folder}*
do
filename=$(basename $file)
if [[ "${filename}" == lenet_train_test*.prototxt ]] #用模糊匹配的方式遍历所有的网络架构文件
then
for i in $(seq ${N})
do
python ${folder}modifySolver.py $folder $solver $filename $i #这个python脚本用来修改solver中net和snap的位置
./build/tools/caffe train --solver=${folder}${solver} &>