使用 PyCaffe 的全连接多层感知器
Fully connected multi layer perceptron using PyCaffe
我是 Caffe 的新手,它的工作流程与我之前遇到的有很大不同。我以前使用过 keras, sklearn, fann (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)
我是 Caffe 的新手,它的工作流程与我之前遇到的有很大不同。我以前使用过 keras, sklearn, fann (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)