use*_*707 6 neural-network deep-learning caffe
我想使用caffe.NetSpec()
界面设置一个带有python的caffe CNN .虽然我看到我们可以放入测试网solver.prototxt
,但我想model.prototxt
用不同的阶段写出来.例如,caffe模型原型实现两个具有不同阶段的数据层:
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
....
}
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
....
}
Run Code Online (Sandbox Code Playgroud)
我应该如何在python中实现这样的实现?
我假设您的意思是在使用时编写原型文件时如何定义阶段caffe.NetSpec
?
from caffe import layers as L, params as P, to_proto
import caffe
ns = caffe.NetSpec()
ns.data = L.Data(name="data",
data_param={'source':'/path/to/lmdb','batch_size':32},
include={'phase':caffe.TEST})
Run Code Online (Sandbox Code Playgroud)
如果你想在同一个原型文件中同时使用火车和测试图层,我通常会做的是ns
使用所有图层的火车,而另一个ns_test
只使用复制图层的测试版本.然后,在编写实际的原型文件时:
with open('model.prototxt', 'w') as W:
W.write('%s\n' % ns_test.to_proto())
W.write('%s\n' % ns.to_proto())
Run Code Online (Sandbox Code Playgroud)
这样你就可以在同一个原型中同时拥有两个阶段.我知道,有点hacky.
归档时间: |
|
查看次数: |
2927 次 |
最近记录: |