【问题标题】:Fully connected multi layer perceptron using PyCaffe使用 PyCaffe 的全连接多层感知器
【发布时间】:2016-04-30 20:59:02
【问题描述】:
我是 Caffe 的新手,它的工作流程与我之前遇到的非常不同。我以前在神经网络中使用过keras、sklearn、fann (C++),我想使用 Caffe 因为它提供了一些额外的东西。但工作流程似乎很难适应。
我想从一个使用 PyCaffe 的简单、完全连接的 MLP 开始。我想给它一个 N 维输入向量并对其进行多标签分类。我有训练数据。所有 Caffe 示例似乎都是为图像编写的(方阵输入)。
我也更喜欢以编程方式配置网络,而不是使用大量配置文件。例如,Keras 有一种使用 add() 顺序堆叠层的方法。
是否可以仅使用 Python 在 Caffe 中构建一个简单的网络?
【问题讨论】:
标签:
keras
sklearn
fann
neural-network
deep-learning
caffe
pycaffe
【解决方案1】:
您应该查看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)