コード例 #1
0
    def get_deconv1d(conv1d_layer: Conv1D):
        W = conv1d_layer.get_weights()[0]
        # W: kernel_width, kernel_depth, n_filters

        # Reverse the conv operation
        W = np.transpose(W, (0, 2, 1))
        # Transpose the columns and rows
        W = W[::-1, :, :]

        n_filters = W.shape[2]
        kernel_size = W.shape[0]
        strides = conv1d_layer.strides
        padding = conv1d_layer.padding
        b = np.zeros(n_filters)

        return DeConv1D(n_filters,
                        kernel_size=kernel_size,
                        strides=strides,
                        padding=padding,
                        kernel_initializer=tf.constant_initializer(W),
                        bias_initializer=tf.constant_initializer(b),
                        trainable=False)
コード例 #2
0
 def get_deconv1d_reverse_bias(conv1d_layer: Conv1D):
     return ReverseBiasLayer(conv1d_layer.get_weights()[1])