Код: Выделить всё
Traceback (most recent call last):
File "~/Library/CloudStorage/Dropbox/programming/python_image_learning/./248-cifar_GAN.py", line 240, in
train(generator, discriminator, gan_model, dataset, latent_dim, n_epochs=2)
File "~/Library/CloudStorage/Dropbox/programming/python_image_learning/./248-cifar_GAN.py", line 195, in train
d_loss_real, _ = d_model.train_on_batch(X_real, y_real)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "~/miniconda3/envs/pyimage/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py", line 549, in train_on_batch
logs = self.train_function(data())
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "~/miniconda3/envs/pyimage/lib/python3.12/site-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler
raise e.with_traceback(filtered_tb) from None
File "~/miniconda3/envs/pyimage/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py", line 121, in one_step_on_iterator
outputs = self.distribute_strategy.run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "~/miniconda3/envs/pyimage/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py", line 108, in one_step_on_data
return self.train_step(data)
^^^^^^^^^^^^^^^^^^^^^
File "~/miniconda3/envs/pyimage/lib/python3.12/site-packages/keras/src/backend/tensorflow/trainer.py", line 61, in train_step
self._loss_tracker.update_state(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'update_state'
Однако эти сценарии хорошо работали в Google Colab, что заставило меня предположить, что что-то не так с моей локальной средой программирования:
Код: Выделить всё
MacBook Pro 16-in, 2019
Bash shell
conda 24.9.2
Python 3.12.7
tensorflow 2.16.2
keras 3.6.0
Код: Выделить всё
generator_inputs = Input(shape = (100, ))
G1d1, G1l1, G1n1 = dense_leak_norm(parents = generator_inputs, input_shape = (100, ))
G2d1, G2l1, G2n1 = dense_leak_norm(parents = G1n1, units = 512)
G3d1, G3l1, G3n1 = dense_leak_norm(parents = G2n1, units = 1024)
G4d1 = Dense(np.prod(img_shape), activation = "tanh")(G3n1)
generator_outputs = Reshape(img_shape)(G4d1)
generator = Model(inputs = generator_inputs, outputs = generator_outputs)
# This line is required to evade the error
discriminator_inputs = generator_outputs
# If discriminator_inputs is defined using the line below, same error is reproduced
#discriminator_inputs = Input(shape = img_shape)
D1f1 = Flatten(input_shape = img_shape)(discriminator_inputs)
D1d1, D1l1 = dense_leak_norm(parents = D1f1, units = 512, bool_norm = False)
D2d1, D2l1 = dense_leak_norm(parents = D1l1, units = 256, bool_norm = False)
discriminator_outputs = Dense(units = 1, activation = "sigmoid")(D2l1)
discriminator = Model(inputs = discriminator_inputs, outputs = discriminator_outputs)
discriminator.compile(loss = "binary_crossentropy", optimizer = optimizer, metrics = ["accuracy"])
Код: Выделить всё
Layer (type) ┃ Output Shape ┃ Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ keras_tensor_11CLONE (InputLayer) │ (None, 28, 28, 1) │ 0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ flatten (Flatten) │ (None, 784) │ 0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_4 (Dense) │ (None, 512) │ 401,920 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ leaky_re_lu_3 (LeakyReLU) │ (None, 512) │ 0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_5 (Dense) │ (None, 256) │ 131,328 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ leaky_re_lu_4 (LeakyReLU) │ (None, 256) │ 0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_6 (Dense) │ (None, 1) │ 257 │
Если кто-нибудь имеет представление о том, что происходит, пожалуйста, дайте мне знать . Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/791 ... work-gan-o
Мобильная версия