Keras 使用PyCaffe的全连接多层感知器

Keras 使用PyCaffe的全连接多层感知器,keras,sklearn,fann,neural-network,deep-learning,caffe,pycaffe,Keras,Sklearn,Fann,Neural Network,Deep Learning,Caffe,Pycaffe,我是Caffe的新手,它的工作流程与我以前遇到的非常不同。我以前用过,(C++)来做神经网络,我想用Caffe,因为它提供了一些额外的东西。但工作流程似乎很难适应 我想从一个使用PyCaffe的简单、完全连接的MLP开始。我想给它一个N维输入向量,并对这些向量进行多标签分类。我有训练数据。所有的Caffe示例似乎都是为图像(方阵输入)编写的。 我还喜欢以编程方式配置网络,而不是使用大量配置文件。例如,Keras有一种使用add()顺序堆叠层的方法 是否可以仅使用Python在Caffe中构建一个

我是Caffe的新手,它的工作流程与我以前遇到的非常不同。我以前用过,(C++)来做神经网络,我想用Caffe,因为它提供了一些额外的东西。但工作流程似乎很难适应

我想从一个使用PyCaffe的简单、完全连接的MLP开始。我想给它一个N维输入向量,并对这些向量进行多标签分类。我有训练数据。所有的Caffe示例似乎都是为图像(方阵输入)编写的。
我还喜欢以编程方式配置网络,而不是使用大量配置文件。例如,Keras有一种使用
add()
顺序堆叠层的方法


是否可以仅使用Python在Caffe中构建一个简单的网络?

您应该查看
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)