我正在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'对象没有属性'base_dtype'
我是TensorFlow的新手,无法弄清楚为什么会如此。
完整的源代码:https://github.com/tanmay-bhatnagar/W-DCGAN
从此处获取train
函数:https://github.com/llSourcell/Pokemon_GAN/blob/master/pokeGAN.py
请询问所需的任何进一步细节。
答案 0 :(得分:2)
这样可行
up1 = tf.keras.layers.UpSampling2D(size = (2,2))(conv1)
up2 = tf.keras.layers.UpSampling2D(size = (2,2))(conv2)