【发布时间】:2018-07-24 01:53:21
【问题描述】:
我正在 TensorFlow 中实现 Wasserstein DCGAN。 这是我的生成器模型:
w1 = tf.get_variable('w1', shape=[random_dim, 1024], dtype=tf.float32,
initializer=tf.contrib.layers.xavier_initializer())
b1 = b1 = tf.get_variable('b1', shape=[1024], dtype=tf.float32,
initializer=tf.constant_initializer(1.0))
flat_conv1 = tf.add(tf.matmul(input , w1) , b1 , name = 'flat_conv1')
act1 = tf.nn.tanh(flat_conv1, name='act1')
dense1 = tf.layers.dense(bias_initializer=tf.ones_initializer(),inputs=act1, units=128*7*7, activation=tf.nn.tanh , kernel_initializer = tf.contrib.layers.xavier_initializer())
bn1 = tf.contrib.layers.batch_norm(dense1, is_training=is_train, epsilon=1e-5, decay = 0.9, updates_collections=None, scope='bn1')
act2 = tf.nn.tanh(bn1, name='act1')
conv1 = tf.reshape(act2, shape=[-1,7,7,128], name='conv1')
up1 = tf.keras.layers.UpSampling2D(size = (2,2))
conv2 = tf.layers.conv2d(bias_initializer=tf.ones_initializer(),inputs=up1,filters=64,kernel_size=[5, 5],padding="same",activation=tf.nn.tanh , kernel_initializer = tf.contrib.layers.xavier_initializer())
up2 = tf.keras.layers.UpSampling2D(size = (2,2))
conv3 = tf.layers.conv2d(bias_initializer=tf.ones_initializer(),inputs=up2,filters =1,kernel_size=[5, 5],padding= "same",activation=tf.nn.tanh , kernel_initializer = tf.contrib.layers.xavier_initializer())
错误在 conv2 层,它说 - ''str' object has no attribute 'base_dtype'
我是 TensorFlow 的新手,不知道为什么会这样。
完整的源代码:https://github.com/tanmay-bhatnagar/W-DCGAN
从这里获得train函数:https://github.com/llSourcell/Pokemon_GAN/blob/master/pokeGAN.py
如果需要更多详细信息,请询问。
【问题讨论】:
-
inputs-参数到conv2d()必须是张量。见 C. Park 的回答
标签: python tensorflow deep-learning keras conv-neural-network