小编Avi*_*beg的帖子

批量规范化在Tensorflow 2.0中没有渐变吗?

我正在尝试制作一个简单的GAN,以从MNIST数据集生成数字。但是,当我开始接受培训时(这是自定义的),我会得到这个烦人的警告,我怀疑这是我不习惯的原因造成的。

请记住,使用默认的急切执行,这一切都在tensorflow 2.0中。

获取数据(不是那么重要)

(train_images,train_labels),(test_images,test_labels) = tf.keras.datasets.mnist.load_data()

train_images = train_images.reshape(train_images.shape[0], 28, 28, 1).astype('float32')
train_images = (train_images - 127.5) / 127.5 # Normalize the images to [-1, 1]

BUFFER_SIZE = 60000
BATCH_SIZE = 256

train_dataset = tf.data.Dataset.from_tensor_slices((train_images,train_labels)).shuffle(BUFFER_SIZE).batch(BATCH_SIZE)
Run Code Online (Sandbox Code Playgroud)

生成器模型(这是批处理归一化的位置)

def make_generator_model():
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Dense(7*7*256, use_bias=False, input_shape=(100,)))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.LeakyReLU())

    model.add(tf.keras.layers.Reshape((7, 7, 256)))
    assert model.output_shape == (None, 7, 7, 256) # Note: None is the batch size

    model.add(tf.keras.layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False))
    assert model.output_shape == (None, 7, 7, 128)  
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.LeakyReLU()) …
Run Code Online (Sandbox Code Playgroud)

python-3.x tensorflow batch-normalization tensorflow2.0

3
推荐指数
1
解决办法
1184
查看次数