将烤宽面条模型转换为Keras

时间:2017-03-07 06:08:07

标签: python machine-learning deep-learning keras lasagne

我想将烤宽面条模型规格转换为Keras。在烤宽面条中Keras的等效层是什么:

  nn = Conv3DDNNLayer(nn, 8, 3)  # Lasagne layers

Keras的Convolution3D层规范是:

keras.layers.convolutional.Convolution3D(nb_filter, kernel_dim1, kernel_dim2, kernel_dim3, init='glorot_uniform', activation=None, weights=None, border_mode='valid', subsample=(1, 1, 1), dim_ordering='default', W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint=None, bias=True)

......和烤宽面条:

class lasagne.layers.dnn.Conv3DDNNLayer(incoming, num_filters, filter_size, stride=(1, 1, 1), pad=0, untie_biases=False, W=lasagne.init.GlorotUniform(), b=lasagne.init.Constant(0.), nonlinearity=lasagne.nonlinearities.rectify, flip_filters=False, **kwargs)

因此,在上面的例子中,烤宽面条层有' nn'传入,8个过滤器和过滤器大小3.

但是,Keras要求指定每个 kernel_dim 。它们都只是3个吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以阅读here

  

filter_size:int或iterable of int

     

指定过滤器大小的整数或3元素元组。

nn = Conv3DDNNLayer(nn, 8, 3)

相当于:

model.add(Convolution3D(8, 3, 3, 3, ...)

conv_3d_output = Convolution3D(8, 3, 3, 3, ...)(conv_3d_input)

取决于您使用的Keras.API