从python编辑prototxt文件

时间:2016-06-17 14:49:40

标签: python caffe pycaffe

我想使用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示例中的每个字段,这将节省我很多时间

由于

1 个答案:

答案 0 :(得分:1)

我怀疑如果您使用操作系统的命令行,您会有更轻松的时间。 UNIX(Linux)有很好的编辑器( sed,awk 等)。让操作系统为您处理文件打开,更改和重写。

您需要构建的命令会找到 source:,并使用您提供的字符串替换该行的其余部分。

适用的Python包括:

import os
os.system("<your command>")

另见this SO问题。