Я хочу построить 3d dcgan из 2d dcgan.В то время как все работало для 2d, в 3d я получил ошибку измерения при попытке натренировать генератор.К сожалению, выбрасываемая ошибка довольно загадочна, и я ничего не могу из нее сделать:h: 607] Проверка не удалась: dims == sizes.size () (5 против 4)
На данный момент я проверил, может ли каждая модель работать самостоятельно, и она работает.Как и ожидалось, генератор дает мне куб, а дискриминатор тоже выполняет свою работу.Я попытался найти заголовок mkl_util.
Это мой init:
def __init__(self):
# Input shape
self.axis = 16
self.channels = 1
self.img_shape = (self.axis, self.axis, self.axis, self.channels)
self.dimensions = 500
optimizer = tf.keras.optimizers.Adam(0.0002, 0.5)
self.discriminator = self.build_discriminator()
self.discriminator.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
self.generator = self.build_generator()
z = tf.keras.layers.Input(shape=(self.dimensions,))
img = self.generator(z)
self.discriminator.trainable = False
valid = self.discriminator(img)
self.combined = tf.keras.models.Model(z, valid)
self.combined.compile(loss='binary_crossentropy', optimizer=optimizer)
И здесь произошла ошибка self.combined.train_on_batch(noise, valid)
valid = np.ones((batch_size, 1))
noise = np.random.normal(0, 1, (batch_size, self.dimensions))
g_loss = self.combined.train_on_batch(noise, valid)
Я бы не сталожидайте этого результата, поскольку генерирующая модель работает сама по себе, как и дискриминатор.