Caffe Pythonlayer编写
2017-09-05 14:45
411 查看
#--------------------------------------------
1.使用方法:
layer{
name:"out-put"
type:"Python"
bottom:"loss"
python_param{
module:.py文件到$PYTHONPATH的相对路径
layer:.py文件具体的类}
}
eg:我的PATHONPATH为caffe/python,我将outputal.py文件放到该目录下,readaclo为我使用的具体方法
layer{
name:"out-put"
type:"Python"
bottom:"loss"
python_param{
module:"outputal"
layer:"readaclo"}
}
#--------------------------------------------
自己编写的方法(函数)注意实现要通过setup、reshape、forward、backward调用,并且前面加self
setup()是类启动时该做的事情,比如层所需数据的初始化。
reshape()就是取数据然后把它规范化为四维的矩阵。每次取数据都会调用此函数。
forward()就是网络的前向运行,这里就是把取到的数据往前传递。
backward()就是网络的反馈
importcaffe
importos
importpandas as pd
importnumpy as np
classreadaclo(caffe.Layer):
defsetup(self, bottom, top):
pass
defreshape(self, bottom, top):
pass
defforward(self, bottom, top):
self.read_loss(bottom)
pass
defbackward(self, top, bottom):
pass
defread_loss(self, out_bottom):
ifos.path.exists("1.csv"):
data= pd.DataFrame({'loss': []})
data.to_csv("1.csv",index=False)
data_original=pd.read_csv("1.csv")
#printnp.shape(out_bottom[0].data)
data_midinal=pd.DataFrame({'loss':[out_bottom[0].data]})
data_distination=pd.concat([data_original,data_midinal])
data_distination.to_csv('1.csv',index=False)
1.使用方法:
layer{name:"out-put"
type:"Python"
bottom:"loss"
python_param{
module:.py文件到$PYTHONPATH的相对路径
layer:.py文件具体的类}
}
eg:我的PATHONPATH为caffe/python,我将outputal.py文件放到该目录下,readaclo为我使用的具体方法
layer{
name:"out-put"
type:"Python"
bottom:"loss"
python_param{
module:"outputal"
layer:"readaclo"}
}
#--------------------------------------------
2.out-put.py文件的编写:
该文件必须包括setup、reshape、forward、backward,而且只有它们可以调用caffe的bottom与top自己编写的方法(函数)注意实现要通过setup、reshape、forward、backward调用,并且前面加self
setup()是类启动时该做的事情,比如层所需数据的初始化。
reshape()就是取数据然后把它规范化为四维的矩阵。每次取数据都会调用此函数。
forward()就是网络的前向运行,这里就是把取到的数据往前传递。
backward()就是网络的反馈
importcaffe
importos
importpandas as pd
importnumpy as np
classreadaclo(caffe.Layer):
defsetup(self, bottom, top):
pass
defreshape(self, bottom, top):
pass
defforward(self, bottom, top):
self.read_loss(bottom)
pass
defbackward(self, top, bottom):
pass
defread_loss(self, out_bottom):
ifos.path.exists("1.csv"):
data= pd.DataFrame({'loss': []})
data.to_csv("1.csv",index=False)
data_original=pd.read_csv("1.csv")
#printnp.shape(out_bottom[0].data)
data_midinal=pd.DataFrame({'loss':[out_bottom[0].data]})
data_distination=pd.concat([data_original,data_midinal])
data_distination.to_csv('1.csv',index=False)
相关文章推荐
- caffe添加自己编写的Python层
- Caffe新手教程傻瓜系列(5):Blob,Layer and Net以及对应配置文件的编写
- caffe的python layer
- caffe python layer
- caffe: Python层的编写、使用
- 在python中编写caffe的prototxt文件
- caffe系列之:Blob,Layer and Net以及对应配置文件的编写
- 使用 Caffe Python 编写 LeNet
- caffe python layer
- Caffe PythonLayer
- caffe学习笔记6:Blob,layer and net以及对应配置文件的编写
- Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
- Caffe系列(5):Blob,Layer and Net以及对应配置文件的编写
- caffe学习:Blob、Layer、Net的说明及其配置文件编写
- Blob,Layer and Net以及对应配置文件的编写_caffe
- caffe python layer初次使用记录
- Caffe python layer方法执行时机
- Caffe python layer 的自定义
- caffe python layer
- 【转】Caffe初试(八)Blob,Layer和Net以及对应配置文件的编写