我是Caffe的新手,它的工作流程与我之前遇到的非常不同。我之前使用keras,sklearn,fann(C ++)用于神经网络,我想使用Caffe,因为它提供了一些额外的东西。但工作流程似乎很难适应。
我想从使用PyCaffe的简单,完全连接的MLP开始。我想为它提供一个N维输入向量,并对它们进行多标签分类。我有训练数据。所有Caffe示例似乎都是为图像(方阵输入)编写的
我也更喜欢以编程方式配置网络,而不是使用大量配置文件。例如,Keras有一种使用add()
顺序堆叠图层的方法。
是否可以仅使用Python在Caffe中构建一个简单的网络?
答案 0 :(得分:3)
您应该查看caffe.NetSpec()
界面:这允许您以编程方式构建网络。例如:
from caffe import layers as L, params as P, to_proto
import caffe
ns = cafe.NetSpec()
ns.fc1 = L.InnerProduct(name='fc1', inner_product_param={'num_output':100,
'weight_filler':{'type':'xavier','std':0.1},
'bias_filler':{'type':'constant','value':0}},
param=[{'lr_mult':1,'decay_mult':2},
{'lr_mult':2,'decay_mult':0}])
ns.relu1 = L.ReLU(ns.fc1, inplace=True)