我想使用python编辑原型文件。我只需要将源从一个目录更改为另一个目录。有没有一种简单的方法可以解决这个问题,而不必重新定义网络并重写整个文件?
例如,在我的原型文件中,我有
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
data_param {
source: "examples/imagenet/ilsvrc12_train_lmdb"
batch_size: 256
backend: LMDB
}
}
我只想改变字段'source'。这是一个相对较长的网络def(这里发布的只是一个典型的例子,我有自己的网络def),所以不必手动输入像caffe示例中的每个字段,这将节省我很多时间
由于
答案 0 :(得分:1)
我怀疑如果您使用操作系统的命令行,您会有更轻松的时间。 UNIX(Linux)有很好的编辑器( sed,awk 等)。让操作系统为您处理文件打开,更改和重写。
您需要构建的命令会找到 source:,并使用您提供的字符串替换该行的其余部分。
适用的Python包括:
import os
os.system("<your command>")
另见this SO问题。