Я создаю модель дискриминатора CNN для проверки звука для gan . Он берет выходной тензор из генераторной части ГАН. Но по какой-то причине я получаю эту странную ошибку, которая даже не указывает номер строки, при использовании скомпилированной модели с тензором звука из генератора.
Код:
def build_audio_discriminator(audio_shape, num_classes):
model = Sequential()
model.add(Conv1D(32, kernel_size=(2), padding="same", input_shape=audio_shape))
model.add(MaxPooling1D(pool_size=(2)))
model.add(Dropout(0.25))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(128))
model.summary()
audio_shape_ = (None, audio_shape[1])
audio = Input(shape=audio_shape_)
# Extract feature representation
features = model(audio)
# Determine validity and label of the image
validity = Dense(1, activation="sigmoid")(features)
label = Dense(num_classes+1, activation="softmax")(features)
return Model(audio, [validity, label])
# Build and compile the discriminator
#audio_shape: (31, 214161), num_classes: 1
audio_discriminator = build_audio_discriminator(audio_shape, num_classes)
audio_discriminator.compile(loss=losses, optimizer=optimizer, metrics=['accuracy'])
# audio: Tensor("model_4/sequential_4/activation_4/Softmax:0", shape=(?, 214161), dtype=float32)
audio_valid, audio_target_label = audio_discriminator(audio)
Ошибка:
Traceback (most recent call last):
File "main.py", line 103, in <module>
main()
File "main.py", line 91, in main
audio_valid, audio_target_label = audio_discriminator(audio)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\topology.py", line 603, in __call__
output = self.call(inputs, **kwargs)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\topology.py", line 2061, in call
output_tensors, _, _ = self.run_internal_graph(inputs, masks)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\topology.py", line 2212, in run_internal_graph
output_tensors = _to_list(layer.call(computed_tensor, **kwargs))
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\models.py", line 546, in call
return self.model.call(inputs, mask)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\topology.py", line 2061, in call
output_tensors, _, _ = self.run_internal_graph(inputs, masks)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\topology.py", line 2212, in run_internal_graph
output_tensors = _to_list(layer.call(computed_tensor, **kwargs))
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\layers\convolutional.py", line 156, in call
dilation_rate=self.dilation_rate[0])
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\backend\tensorflow_backend.py", line 3151, in conv1d
data_format=tf_data_format)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 750, in convolution
name=name, data_format=data_format)
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 796, in __init__
input_channels_dim = input_shape[num_spatial_dims + 1]
File "C:\Users\MrGrimod\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 521, in __getitem__
return self._dims[key]
IndexError: list index out of range