在Python中使用caffe.NetSpec()时,train.prototxt中的两个顶层blob

我在python中使用caffe.NetSpec来定义和导出架构,使用的代码如下:

conv1_1 = L.Convolution(data,top='conv1_1',name='conv1_1',                        convolution_param=                        {'kernel_size':3,'num_output':64,'pad':1},                        param=[{'lr_mult':1, 'decay_mult':1},                               {'lr_mult':2,'decay_mult':0}])

但是,在生成train.prototxt时,层中出现了两个顶层blob,如下所示:

layer {name: "conv1_1"type: "Convolution"bottom: "Data1"top: "Convolution1"top: "conv1_1"param {  lr_mult: 1  decay_mult: 1}param {  lr_mult: 2  decay_mult: 0}convolution_param {  num_output: 64  pad: 1  kernel_size: 3  }}

这里出了什么问题?谢谢


回答:

使用NetSpec()对象怎么样?

import caffens = caffe.NetSpec() # 使用此对象来存储层ns.data, ns.label = L.Data(name='data',  ntop=2,                            data_param={'source':'', 'batch_size': 32})ns.conv1_1 = L.Convolution(ns.data, name='conv1_1',                    convolution_param=                    {'kernel_size':3,'num_output':64,'pad':1},                    param=[{'lr_mult':1, 'decay_mult':1},                           {'lr_mult':2,'decay_mult':0}])print str(ns.to_proto()) # 打印存储在ns对象中的网络

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注