def semi_supervised_decoder_convolutional(input_tensor, batch_size, n_dimensions, network_scale=1.0, img_res=28, img_channels=1):
f_multiplier = network_scale
net = layers.fully_connected(input_tensor, 2*2*int(128*f_multiplier))
net = tf.reshape(net, [-1, 2, 2, int(128*f_multiplier)])
assert(img_res in [28, 32])
if img_res==28:
net = layers.conv2d_transpose(net, int(64*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(64*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, int(32*f_multiplier), 4, stride=1, padding='VALID')
net = layers.conv2d_transpose(net, int(32*f_multiplier), 4, stride=1)
net = layers.conv2d_transpose(net, int(16*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(16*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, int(8*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(8*f_multiplier), 3, stride=1)
else:
net = layers.conv2d_transpose(net, int(64*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(64*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, int(32*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(32*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, int(16*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(16*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, int(8*f_multiplier), 3, stride=2)
net = layers.conv2d_transpose(net, int(8*f_multiplier), 3, stride=1)
net = layers.conv2d_transpose(net, img_channels, 5, stride=1, activation_fn=tf.nn.sigmoid)
net = layers.flatten(net)
return net
components.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录