что утверждают делать в нейронной сети? - PullRequest
1 голос
/ 01 мая 2019

Я видел слой между двумя слоями NN.

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

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

что делает это утверждение?и это нужно?

https://www.tensorflow.org/alpha/tutorials/generative/dcgan

1 Ответ

2 голосов
/ 01 мая 2019

Утверждение в точности соответствует тому, что говорит его название: Утверждение!в python мы используем команду «assert», чтобы убедиться, что оператор в точности равен тому, что мы ожидаем.посмотрите на этот простой код:

a = 2
b = 3
assert a + b == 5

Эта часть кода выполняется без ошибок, потому что a + b - это именно то, что мы ожидаем, 5. Но если вы измените код следующим образом:

assert a + b == 6 # 6 or other any number except 5,It doesn't matter

Код выдаст ошибку подтверждения, потому что a + b! = 6 ... Команда подтверждения в упомянутом вами коде проверяет, точно ли выходные данные модели имеют форму 7 * 7 * 256,в противном случае выдает ошибку.Это полезно для предотвращения возможных проблем в следующих строках кода из-за несоответствия измерений, поэтому, если вы удалите его, ничего не произойдет, но вас не заметят, если измерение не соответствует ожидаемому.

...