slim.conv2d преобразовать в tf.conv2d - PullRequest
0 голосов
/ 09 мая 2020

Я хочу преобразовать slim.conv2d в tf.conv2d. Это код, использующий:

def senet(input, n_layers=13, training=True, reuse=False, norm_type="NM",
      ksz=3, n_channels=32):

if norm_type == "NM": # ADAPTIVE BATCH NORM
    norm_fn = nm
elif norm_type == "SBN": # BATCH NORM
    norm_fn = slim.batch_norm
else: # NO LAYER NORMALIZATION
    norm_fn = None

for id in range(n_layers):

    if id == 0:
        net = slim.conv2d(input, n_channels, [1, ksz], activation_fn=lrelu,
                          normalizer_fn=norm_fn, scope='se_conv_%d' % id,
                          padding='SAME', reuse=reuse)

    else:
        net, pad_elements = signal_to_dilated(net, n_channels=n_channels, dilation=2 ** id)
        net = slim.conv2d(net, n_channels, [1, ksz], activation_fn=lrelu,
                          normalizer_fn=norm_fn, scope='se_conv_%d' % id,
                          padding='SAME', reuse=reuse)
        net = dilated_to_signal(net, n_channels=n_channels, pad_elements=pad_elements)



net = slim.conv2d(net, n_channels, [1, ksz], activation_fn=lrelu,
                  normalizer_fn=norm_fn, scope='se_conv_last',
                  padding='SAME', reuse=reuse)

output = slim.conv2d(net, 1, [1, 1], activation_fn=None,scope='se_fc_last', padding='SAME', reuse=reuse)

return output

И я хочу добавить слой Lstm после последнего слоя. Как я могу это сделать? Любые предложения, коды и ссылки ....

...