编辑来自 python 的 prototxt 文件
Edit prototxt file from python
我想使用 python 编辑 prototxt 文件。我只需要将源代码从一个目录更改为另一个目录。有没有一种简单的方法可以解决这个问题,而不必重新定义网络和重写整个文件?
例如,在我的 prototxt 文件中我有
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'。这是来自一个比较长的net def(这里贴的只是一个典型的例子,我有自己的net def),所以不用像caffe例子那样手动输入每个字段会节省很多时间
谢谢
我怀疑如果使用操作系统的命令行会更轻松。 UNIX (Linux) 有很好的编辑器(sed、awk 等)。让 OS 为您处理文件的打开、更改和重写。
您需要构建的命令会找到 source: 并将该行的其余部分替换为您提供的字符串。
适用的Python包括:
import os
os.system("<your command>")
另见 this SO 问题。
我想使用 python 编辑 prototxt 文件。我只需要将源代码从一个目录更改为另一个目录。有没有一种简单的方法可以解决这个问题,而不必重新定义网络和重写整个文件?
例如,在我的 prototxt 文件中我有
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'。这是来自一个比较长的net def(这里贴的只是一个典型的例子,我有自己的net def),所以不用像caffe例子那样手动输入每个字段会节省很多时间
谢谢
我怀疑如果使用操作系统的命令行会更轻松。 UNIX (Linux) 有很好的编辑器(sed、awk 等)。让 OS 为您处理文件的打开、更改和重写。
您需要构建的命令会找到 source: 并将该行的其余部分替换为您提供的字符串。
适用的Python包括:
import os
os.system("<your command>")
另见 this SO 问题。