Я изучаю керас и использую код для генерации музыки, чтобы учиться.Я проверил код, и я показал это, я думаю, что это theano:
start_note_values = T.alloc(np.array(0, dtype=np.int8), 5 * 128, 1, 2)
Функция:
def y_labels(y):
start_note_values = T.alloc(np.array(0, dtype=np.int8), BATCH_SIZE * NUM_TIMESTEPS, 1, OUTPUT_LAYER)
correct_choices = y[:, :, :-1, :].reshape((BATCH_SIZE * NUM_TIMESTEPS, NUM_NOTES - 1, OUTPUT_LAYER))
features = T.concatenate([start_note_values, correct_choices], axis=1)
return features.reshape((BATCH_SIZE, NUM_TIMESTEPS, NUM_NOTES, OUTPUT_LAYER)).transpose((0, 2, 1, 3)).reshape((BATCH_SIZE * NUM_NOTES, NUM_TIMESTEPS, OUTPUT_LAYER))
get_labels_shape = lambda shape: [BATCH_SIZE * NUM_NOTES, NUM_TIMESTEPS, OUTPUT_LAYER]
previous_notes = Sequential([
Lambda(y_labels, output_shape=get_labels_shape, batch_input_shape=(BATCH_SIZE, NUM_TIMESTEPS, NUM_NOTES, OUTPUT_LAYER), name='y_labels')
])
Я не понимаю, что это значит, может кто-тообъясни мне?Вход имеет следующий формат:
X = (440, 128, 300)
Есть ли способ исправить это в керасе?Спасибо, ребята!