Tensorflow.python.framework.errors_impl.InvalidArgumentError: несовместимые фигуры: [5,3] против [5] ⇐ Python
Tensorflow.python.framework.errors_impl.InvalidArgumentError: несовместимые фигуры: [5,3] против [5]
Я пытаюсь составить модель cVAE в keras. Однако я продолжаю получать сообщение об ошибке: tensorflow.python.framework.errors_impl.InvalidArgumentError: Несовместимые фигуры: [5,3] против [5] [[{{node Training/Adam/gradients/gradients/loss/model_1_loss/add_4_grad/BroadcastGradientArgs}}]]
Вот мой код:
импортировать pre_keypoint как pk импортировать pre_sensor_data как PSD из tensorflow.keras.optimizers.legacy import Adam из бэкэнда импорта keras как K из импорта keras.layers (Input, Dense, Lambda, Flatten, Reshape, объединить, Conv2D, LeakyReLU) из keras.models импортировать модель импортировать matplotlib.pyplot как plt импортировать numpy как np из tensorflow.python.framework.ops import disable_eager_execution отключить_eager_execution() X_train_acce = psd.get_agm(psd.chuck_data(), «Акселерометр») y_train_acce = pk.get_keypoint() X_train_acce = np.array(X_train_acce, dtype=np.float32) y_train_acce = np.array(y_train_acce, dtype=np.float32) X_train_acce = X_train_acce[:int(len(X_train_acce) * 0,8)] X_test_acce = X_train_acce[int(len(X_train_acce) * 0,8):] y_train_acce = y_train_acce[:int(len(y_train_acce) * 0,8)] y_test_acce = y_train_acce[int(len(y_train_acce) * 0,8):] print(X_train_acce.shape, y_train_acce.shape, X_test_acce.shape, y_test_acce.shape) # размер_пакета = 64 latent_size= 2 # размер скрытого пространства encoder_dim1 = 512 # размер скрытого слоя кодировщика decoder_dim = 512 # размер скрытого слоя декодера актив = 'релу' оптим = Адам (learning_rate=0,001) n_epoch = 100 мю = Нет сигма = Нет секунды = 3 частота_х = 100 частота_у = 10 decoder_out_dim = секунды * частота_x * 3 # размер выходного слоя декодера защита sample_z(args): мю, сигма = аргументы eps = K.random_normal(shape=(latent_size,), среднее значение=0., stddev=1.)#batch_size, вернуть mu + K.exp(sigma / 2) * eps защита build_cvae_encoder(): глобальное му, сигма x_input = Input(shape=(секунды * частота_x, 3)) y_input = Input(shape=(секунды * частота_y, 2)) y = Плотный(3)(y_input) inputs = concatenate([x_input, y], ось=1) encoder_h = Dense(encoder_dim1, active=activ)(inputs) # shape: (Нет, 330, 512) mu = Dense(latent_size,activation='linear')(encoder_h) # shape: (Нет, 330, 2) sigma = Dense(latent_size,activation='linear')(encoder_h) # shape: (Нет, 330, 2) мю = K.mean(мю, ось=1) сигма = K.std(сигма, ось=1) print("mu.shape: ", mu.shape, "sigma.shape: ", sigma.shape) z = Lambda(sample_z, output_shape=(latent_size,))([mu, сигма]) print("z.shape: ", z.shape) encoder_model = Модель([x_input, y_input], z) encoder_model.summary() вернуть модель_кодировщика защита build_cvae_decoder(): z_input = Вход (форма = (latent_size)) y_input = Input(shape=(секунды * частота_y, 2)) y = Сгладить()(y_input) zc = объединить ([z_input, y], ось = 1) decoder_h_1 = Плотный (decoder_dim, активация = актив) decoder_h_2 = decoder_h_1(zc) decoder_out_1 = Плотный (decoder_out_dim, активация = 'сигмовидная') decoder_out_2 = decoder_out_1(decoder_h_2) decoder_out_2 = Изменить форму((секунды * частота_x, 3))(decoder_out_2) decoder_model = Модель([z_input, y_input], decoder_out_2) decoder_model.summary() вернуть модель_декодера защита vae_loss(y_true, y_pred): recon = K.sum(K.binary_crossentropy(y_pred, y_true), ось=1) kl = (0,5 * K.sum((K.exp(сигма) + K.square(мю) - 1. - сигма), ось=-1)) возврат разведки + кл защита recon_loss(y_true, y_pred): return K.sum(K.binary_crossentropy(y_pred, y_true), ось=1) защита kl_loss(y_true, y_pred): return (0,5 * K.sum((K.exp(sigma) + K.square(mu) - 1. - сигма ), 1)) защита build_cvae(): encoder_model = build_cvae_encoder() decoder_model = build_cvae_decoder() x_input, y_input = модель_кодировщика.вход print("x_input.shape: ", x_input.shape, "y_input.shape: ", y_input.shape) encoder_output = encoder_model.output print("encoder_output.shape: ", encoder_output.shape) decoder_out = decoder_model([encoder_output, y_input]) cvae = Модель([x_input, y_input], decoder_out) cvae.compile(optimizer=optim, loss=vae_loss, metrics=[recon_loss, kl_loss]) cvae.summary() вернуть cvae, модель_кодировщика, модель_декодера def train_cvae (модели, X_train, y_train, X_test, y_test): Batch_size_train = min(X_train.shape[0] // (секунды * частота_x), y_train.shape[0] // (секунды * частота_y)) Batch_size_test = min(X_test.shape[0] // (секунды * частота_x), y_test.shape[0] // (секунды * частота_y)) cvae, encoder_model, decoder_model = модели # Конвертируем X_train, y_train в формат # [размер_пакета, секунды * частота_x, 3] # [размер_пакета, секунды * частота_y, 2] print(X_train[: пакетный_размер_поезд * секунды * частота_х].shape, y_train[: пакетный_размер_поезд * секунды * частота_y].shape) X_train = np.reshape(X_train[: пакетный_размер_поезд * секунды * частота_х], (пакетный_размер_поезд, секунды * частота_х, 3)) y_train = np.reshape(y_train[: пакетный_размер_поезд * секунды * частота_y], (пакетный_размер_поезд, секунды * частота_y, 2)) X_test = np.reshape(X_test[: пакетный_размер_тест * секунды * частота_х], (пакетный_размер_тест, секунды * частота_х, 3)) y_test = np.reshape(y_test[: пакетный_размер_тест * секунды * частота_y], (пакет_размер_тест, секунды * частота_y, 2)) print(X_train.shape, y_train.shape, X_test.shape, y_test.shape) _ = cvae.fit(x=[X_train, y_train], y=X_train, validation_data=([X_test, y_test], X_test), эпохи = n_epoch, пакет_размер = пакет_размер_поезд) encoder_model.save_weights('cvae_encoder.h5') cvae.save_weights('cvae.h5') вернуть cvae ### Прогноз defstruct_numvec(цифра, z=Нет): out = np.zeros((1, секунды * частота_y, 2)) выход[:, цифра] = 1. вернуться (уйти) Защиту cvae_predict (cvae_model, цифра): sample_3 = build_numvec(цифра) plt.figure(figsize=(3, 3)) rand_input = np.random.rand(секунды * частота_x, 3) rand_input = np.expand_dims (rand_input, ось = 0) plt.imshow(cvae_model.predict([rand_input, sample_3[:,:10]]).reshape(28,28), cmap = plt.cm.gray) plt.axis('выкл') plt.show() # основной защита основной(): модели = build_cvae() train_cvae(модели, X_train_acce, y_train_acce, X_test_acce, y_test_acce) cvae_model, encoder_model, decoder_model = модели # cvae_model.load_weights('cvae.h5') cvae_predict (cvae_model, 4) если __name__ == '__main__': основной() В этом коде я пытаюсь использовать изображения и данные акселерометра в качестве входных данных. Следовательно, входные данные имеют вид (секунды * частота_x / частота_y).
Индикация ошибок приведена ниже:
Traceback (самый последний вызов — последний): Файл «c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py», строка 167, в основной() Файл "c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py", строка 159, в основном файле. train_cvae(модели, X_train_acce, y_train_acce, X_test_acce, y_test_acce) Файл "c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py", строка 130, в train_cvae _ = cvae.fit(x=[X_train, y_train], y=X_train, Файл "C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_v1.py", строка 856, по размеру вернуть func.fit( Файл "C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_arrays_v1.py", строка 734, по размеру вернуть fit_loop( Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_arrays_v1.py», строка 421, в model_iteration пакетные_выходы = f(ins_batch) Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\backend.py», строка 4609, в __call__ извлечено = self._callable_fn(*array_vals, run_metadata=self.run_metadata) Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\tensorflow\python\client\session.py», строка 1505, в __call__ ret = tf_session.TF_SessionRunCallable(self._session._session, tensorflow.python.framework.errors_impl.InvalidArgumentError: несовместимые фигуры: [5,3] против. [5] [[{{обучение узла/Adam/gradients/gradients/loss/model_1_loss/add_4_grad/BroadcastGradientArgs}}]] Краткое описание модели приведено ниже:
Модель: «модель» __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_2 (InputLayer) [(Нет, 30, 2)] 0 [] input_1 (InputLayer) [(Нет, 300, 3)] 0 [] плотный (Плотный) (Нет, 30, 3) 9 ['input_2[0][0]'] объединить (Объединить) (Нет, 330, 3) 0 ['input_1[0][0]', 'плотный[0][0]'] Density_1 (Плотный) (Нет, 330, 512) 2048 ['объединить[0][0]'] Densent_3 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 1, 2)] 0 ['dense_3[0][0]'] uce_variance/Среднее (TensorF лоуоплайер) tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['dense_3[0][0]', uce_variance/sub (TensorFl 'tf_op_layer_reduce_std/reduc owOpLayer) e_variance/Mean[0][0]'] tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Square (Tenso e_variance/sub[0][0]'] рФлоуоплайер) Densent_2 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Mean_1 (Tenso e_variance/Square[0][0]'] рФлоуоплайер) tf_op_layer_Mean (TensorFl [(None, 2)] 0 ['dense_2[0][0]'] owOpLayer) tf_op_layer_reduce_std/Sqr [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc t (TensorFlowOpLayer) e_variance/Mean_1[0][0]'] лямбда (Лямбда) (Нет, 2) 0 ['tf_op_layer_Mean[0][0]', 'tf_op_layer_reduce_std/Sqrt[ 0][0]'] =============================================== ============================================== Всего параметров: 4109 (16,05 КБ) Обучаемые параметры: 4109 (16,05 КБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ Модель: "модель_1" __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_4 (InputLayer) [(Нет, 30, 2)] 0 [] input_3 (InputLayer) [(Нет, 2)] 0 [] сгладить (Сгладить) (Нет, 60) 0 ['input_4[0][0]'] concatenate_1 (Объединить (Нет, 62) 0 ['input_3[0][0]', ) 'сгладить[0][0]'] Density_4 (Плотный) (Нет, 512) 32256 ['concatenate_1[0][0]'] Densent_5 (Плотный) (Нет, 900) 461700 ['dense_4[0][0]'] изменить форму (Изменить форму) (Нет, 300, 3) 0 ['dense_5[0][0]'] =============================================== ============================================== Всего параметров: 493956 (1,88 МБ) Обучаемые параметры: 493956 (1,88 МБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ x_input.shape: (Нет, 300, 3) y_input.shape: (Нет, 30, 2) encoder_output.shape: (Нет, 2) Модель: "модель_2" __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_2 (InputLayer) [(Нет, 30, 2)] 0 [] input_1 (InputLayer) [(Нет, 300, 3)] 0 [] плотный (Плотный) (Нет, 30, 3) 9 ['input_2[0][0]'] объединить (Объединить) (Нет, 330, 3) 0 ['input_1[0][0]', 'плотный[0][0]'] Density_1 (Плотный) (Нет, 330, 512) 2048 ['объединить[0][0]'] Densent_3 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 1, 2)] 0 ['dense_3[0][0]'] uce_variance/Среднее (TensorF лоуоплайер) tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['dense_3[0][0]', uce_variance/sub (TensorFl 'tf_op_layer_reduce_std/reduc owOpLayer) e_variance/Mean[0][0]'] tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Square (Tenso e_variance/sub[0][0]'] рФлоуоплайер) Densent_2 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Mean_1 (Tenso e_variance/Square[0][0]'] рФлоуоплайер) tf_op_layer_Mean (TensorFl [(None, 2)] 0 ['dense_2[0][0]'] owOpLayer) tf_op_layer_reduce_std/Sqr [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc t (TensorFlowOpLayer) e_variance/Mean_1[0][0]'] лямбда (Лямбда) (Нет, 2) 0 ['tf_op_layer_Mean[0][0]', 'tf_op_layer_reduce_std/Sqrt[ 0][0]'] model_1 (Функциональная) (Нет, 300, 3) 493956 ['лямбда[0][0]', 'input_2[0][0]'] =============================================== ============================================== Всего параметров: 498065 (1,90 МБ) Обучаемые параметры: 498065 (1,90 МБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ Я правда не совсем понимаю, почему так произошло. Я был бы очень признателен, если бы кто-нибудь дал мне какое-нибудь предложение.
Спасибо!
Я работаю над его отладкой. Кроме того, я читал подобные сообщения на stackoverflow. Один из постов очень похож на мою проблему. В сообщении говорится, что нам не следует включать пакетный размер в нашу модель. Я проверил входной слой, но в своем коде подобной проблемы не обнаружил.
Я пытаюсь составить модель cVAE в keras. Однако я продолжаю получать сообщение об ошибке: tensorflow.python.framework.errors_impl.InvalidArgumentError: Несовместимые фигуры: [5,3] против [5] [[{{node Training/Adam/gradients/gradients/loss/model_1_loss/add_4_grad/BroadcastGradientArgs}}]]
Вот мой код:
импортировать pre_keypoint как pk импортировать pre_sensor_data как PSD из tensorflow.keras.optimizers.legacy import Adam из бэкэнда импорта keras как K из импорта keras.layers (Input, Dense, Lambda, Flatten, Reshape, объединить, Conv2D, LeakyReLU) из keras.models импортировать модель импортировать matplotlib.pyplot как plt импортировать numpy как np из tensorflow.python.framework.ops import disable_eager_execution отключить_eager_execution() X_train_acce = psd.get_agm(psd.chuck_data(), «Акселерометр») y_train_acce = pk.get_keypoint() X_train_acce = np.array(X_train_acce, dtype=np.float32) y_train_acce = np.array(y_train_acce, dtype=np.float32) X_train_acce = X_train_acce[:int(len(X_train_acce) * 0,8)] X_test_acce = X_train_acce[int(len(X_train_acce) * 0,8):] y_train_acce = y_train_acce[:int(len(y_train_acce) * 0,8)] y_test_acce = y_train_acce[int(len(y_train_acce) * 0,8):] print(X_train_acce.shape, y_train_acce.shape, X_test_acce.shape, y_test_acce.shape) # размер_пакета = 64 latent_size= 2 # размер скрытого пространства encoder_dim1 = 512 # размер скрытого слоя кодировщика decoder_dim = 512 # размер скрытого слоя декодера актив = 'релу' оптим = Адам (learning_rate=0,001) n_epoch = 100 мю = Нет сигма = Нет секунды = 3 частота_х = 100 частота_у = 10 decoder_out_dim = секунды * частота_x * 3 # размер выходного слоя декодера защита sample_z(args): мю, сигма = аргументы eps = K.random_normal(shape=(latent_size,), среднее значение=0., stddev=1.)#batch_size, вернуть mu + K.exp(sigma / 2) * eps защита build_cvae_encoder(): глобальное му, сигма x_input = Input(shape=(секунды * частота_x, 3)) y_input = Input(shape=(секунды * частота_y, 2)) y = Плотный(3)(y_input) inputs = concatenate([x_input, y], ось=1) encoder_h = Dense(encoder_dim1, active=activ)(inputs) # shape: (Нет, 330, 512) mu = Dense(latent_size,activation='linear')(encoder_h) # shape: (Нет, 330, 2) sigma = Dense(latent_size,activation='linear')(encoder_h) # shape: (Нет, 330, 2) мю = K.mean(мю, ось=1) сигма = K.std(сигма, ось=1) print("mu.shape: ", mu.shape, "sigma.shape: ", sigma.shape) z = Lambda(sample_z, output_shape=(latent_size,))([mu, сигма]) print("z.shape: ", z.shape) encoder_model = Модель([x_input, y_input], z) encoder_model.summary() вернуть модель_кодировщика защита build_cvae_decoder(): z_input = Вход (форма = (latent_size)) y_input = Input(shape=(секунды * частота_y, 2)) y = Сгладить()(y_input) zc = объединить ([z_input, y], ось = 1) decoder_h_1 = Плотный (decoder_dim, активация = актив) decoder_h_2 = decoder_h_1(zc) decoder_out_1 = Плотный (decoder_out_dim, активация = 'сигмовидная') decoder_out_2 = decoder_out_1(decoder_h_2) decoder_out_2 = Изменить форму((секунды * частота_x, 3))(decoder_out_2) decoder_model = Модель([z_input, y_input], decoder_out_2) decoder_model.summary() вернуть модель_декодера защита vae_loss(y_true, y_pred): recon = K.sum(K.binary_crossentropy(y_pred, y_true), ось=1) kl = (0,5 * K.sum((K.exp(сигма) + K.square(мю) - 1. - сигма), ось=-1)) возврат разведки + кл защита recon_loss(y_true, y_pred): return K.sum(K.binary_crossentropy(y_pred, y_true), ось=1) защита kl_loss(y_true, y_pred): return (0,5 * K.sum((K.exp(sigma) + K.square(mu) - 1. - сигма ), 1)) защита build_cvae(): encoder_model = build_cvae_encoder() decoder_model = build_cvae_decoder() x_input, y_input = модель_кодировщика.вход print("x_input.shape: ", x_input.shape, "y_input.shape: ", y_input.shape) encoder_output = encoder_model.output print("encoder_output.shape: ", encoder_output.shape) decoder_out = decoder_model([encoder_output, y_input]) cvae = Модель([x_input, y_input], decoder_out) cvae.compile(optimizer=optim, loss=vae_loss, metrics=[recon_loss, kl_loss]) cvae.summary() вернуть cvae, модель_кодировщика, модель_декодера def train_cvae (модели, X_train, y_train, X_test, y_test): Batch_size_train = min(X_train.shape[0] // (секунды * частота_x), y_train.shape[0] // (секунды * частота_y)) Batch_size_test = min(X_test.shape[0] // (секунды * частота_x), y_test.shape[0] // (секунды * частота_y)) cvae, encoder_model, decoder_model = модели # Конвертируем X_train, y_train в формат # [размер_пакета, секунды * частота_x, 3] # [размер_пакета, секунды * частота_y, 2] print(X_train[: пакетный_размер_поезд * секунды * частота_х].shape, y_train[: пакетный_размер_поезд * секунды * частота_y].shape) X_train = np.reshape(X_train[: пакетный_размер_поезд * секунды * частота_х], (пакетный_размер_поезд, секунды * частота_х, 3)) y_train = np.reshape(y_train[: пакетный_размер_поезд * секунды * частота_y], (пакетный_размер_поезд, секунды * частота_y, 2)) X_test = np.reshape(X_test[: пакетный_размер_тест * секунды * частота_х], (пакетный_размер_тест, секунды * частота_х, 3)) y_test = np.reshape(y_test[: пакетный_размер_тест * секунды * частота_y], (пакет_размер_тест, секунды * частота_y, 2)) print(X_train.shape, y_train.shape, X_test.shape, y_test.shape) _ = cvae.fit(x=[X_train, y_train], y=X_train, validation_data=([X_test, y_test], X_test), эпохи = n_epoch, пакет_размер = пакет_размер_поезд) encoder_model.save_weights('cvae_encoder.h5') cvae.save_weights('cvae.h5') вернуть cvae ### Прогноз defstruct_numvec(цифра, z=Нет): out = np.zeros((1, секунды * частота_y, 2)) выход[:, цифра] = 1. вернуться (уйти) Защиту cvae_predict (cvae_model, цифра): sample_3 = build_numvec(цифра) plt.figure(figsize=(3, 3)) rand_input = np.random.rand(секунды * частота_x, 3) rand_input = np.expand_dims (rand_input, ось = 0) plt.imshow(cvae_model.predict([rand_input, sample_3[:,:10]]).reshape(28,28), cmap = plt.cm.gray) plt.axis('выкл') plt.show() # основной защита основной(): модели = build_cvae() train_cvae(модели, X_train_acce, y_train_acce, X_test_acce, y_test_acce) cvae_model, encoder_model, decoder_model = модели # cvae_model.load_weights('cvae.h5') cvae_predict (cvae_model, 4) если __name__ == '__main__': основной() В этом коде я пытаюсь использовать изображения и данные акселерометра в качестве входных данных. Следовательно, входные данные имеют вид (секунды * частота_x / частота_y).
Индикация ошибок приведена ниже:
Traceback (самый последний вызов — последний): Файл «c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py», строка 167, в основной() Файл "c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py", строка 159, в основном файле. train_cvae(модели, X_train_acce, y_train_acce, X_test_acce, y_test_acce) Файл "c:\Users\......\Desktop\evasion\Synthetic-Data-Generator-\cVAE_train_2D.py", строка 130, в train_cvae _ = cvae.fit(x=[X_train, y_train], y=X_train, Файл "C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_v1.py", строка 856, по размеру вернуть func.fit( Файл "C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_arrays_v1.py", строка 734, по размеру вернуть fit_loop( Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\engine\training_arrays_v1.py», строка 421, в model_iteration пакетные_выходы = f(ins_batch) Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\keras\src\backend.py», строка 4609, в __call__ извлечено = self._callable_fn(*array_vals, run_metadata=self.run_metadata) Файл «C:\Users\......\anaconda3\envs\env39\lib\site-packages\tensorflow\python\client\session.py», строка 1505, в __call__ ret = tf_session.TF_SessionRunCallable(self._session._session, tensorflow.python.framework.errors_impl.InvalidArgumentError: несовместимые фигуры: [5,3] против. [5] [[{{обучение узла/Adam/gradients/gradients/loss/model_1_loss/add_4_grad/BroadcastGradientArgs}}]] Краткое описание модели приведено ниже:
Модель: «модель» __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_2 (InputLayer) [(Нет, 30, 2)] 0 [] input_1 (InputLayer) [(Нет, 300, 3)] 0 [] плотный (Плотный) (Нет, 30, 3) 9 ['input_2[0][0]'] объединить (Объединить) (Нет, 330, 3) 0 ['input_1[0][0]', 'плотный[0][0]'] Density_1 (Плотный) (Нет, 330, 512) 2048 ['объединить[0][0]'] Densent_3 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 1, 2)] 0 ['dense_3[0][0]'] uce_variance/Среднее (TensorF лоуоплайер) tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['dense_3[0][0]', uce_variance/sub (TensorFl 'tf_op_layer_reduce_std/reduc owOpLayer) e_variance/Mean[0][0]'] tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Square (Tenso e_variance/sub[0][0]'] рФлоуоплайер) Densent_2 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Mean_1 (Tenso e_variance/Square[0][0]'] рФлоуоплайер) tf_op_layer_Mean (TensorFl [(None, 2)] 0 ['dense_2[0][0]'] owOpLayer) tf_op_layer_reduce_std/Sqr [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc t (TensorFlowOpLayer) e_variance/Mean_1[0][0]'] лямбда (Лямбда) (Нет, 2) 0 ['tf_op_layer_Mean[0][0]', 'tf_op_layer_reduce_std/Sqrt[ 0][0]'] =============================================== ============================================== Всего параметров: 4109 (16,05 КБ) Обучаемые параметры: 4109 (16,05 КБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ Модель: "модель_1" __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_4 (InputLayer) [(Нет, 30, 2)] 0 [] input_3 (InputLayer) [(Нет, 2)] 0 [] сгладить (Сгладить) (Нет, 60) 0 ['input_4[0][0]'] concatenate_1 (Объединить (Нет, 62) 0 ['input_3[0][0]', ) 'сгладить[0][0]'] Density_4 (Плотный) (Нет, 512) 32256 ['concatenate_1[0][0]'] Densent_5 (Плотный) (Нет, 900) 461700 ['dense_4[0][0]'] изменить форму (Изменить форму) (Нет, 300, 3) 0 ['dense_5[0][0]'] =============================================== ============================================== Всего параметров: 493956 (1,88 МБ) Обучаемые параметры: 493956 (1,88 МБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ x_input.shape: (Нет, 300, 3) y_input.shape: (Нет, 30, 2) encoder_output.shape: (Нет, 2) Модель: "модель_2" __________________________________________________________________________________________________ Слой (тип) Параметр выходной формы # Подключен к =============================================== ============================================== input_2 (InputLayer) [(Нет, 30, 2)] 0 [] input_1 (InputLayer) [(Нет, 300, 3)] 0 [] плотный (Плотный) (Нет, 30, 3) 9 ['input_2[0][0]'] объединить (Объединить) (Нет, 330, 3) 0 ['input_1[0][0]', 'плотный[0][0]'] Density_1 (Плотный) (Нет, 330, 512) 2048 ['объединить[0][0]'] Densent_3 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 1, 2)] 0 ['dense_3[0][0]'] uce_variance/Среднее (TensorF лоуоплайер) tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['dense_3[0][0]', uce_variance/sub (TensorFl 'tf_op_layer_reduce_std/reduc owOpLayer) e_variance/Mean[0][0]'] tf_op_layer_reduce_std/red [(Нет, 330, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Square (Tenso e_variance/sub[0][0]'] рФлоуоплайер) Densent_2 (Плотный) (Нет, 330, 2) 1026 ['dense_1[0][0]'] tf_op_layer_reduce_std/red [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc uce_variance/Mean_1 (Tenso e_variance/Square[0][0]'] рФлоуоплайер) tf_op_layer_Mean (TensorFl [(None, 2)] 0 ['dense_2[0][0]'] owOpLayer) tf_op_layer_reduce_std/Sqr [(Нет, 2)] 0 ['tf_op_layer_reduce_std/reduc t (TensorFlowOpLayer) e_variance/Mean_1[0][0]'] лямбда (Лямбда) (Нет, 2) 0 ['tf_op_layer_Mean[0][0]', 'tf_op_layer_reduce_std/Sqrt[ 0][0]'] model_1 (Функциональная) (Нет, 300, 3) 493956 ['лямбда[0][0]', 'input_2[0][0]'] =============================================== ============================================== Всего параметров: 498065 (1,90 МБ) Обучаемые параметры: 498065 (1,90 МБ) Необучаемые параметры: 0 (0,00 байт). __________________________________________________________________________________________________ Я правда не совсем понимаю, почему так произошло. Я был бы очень признателен, если бы кто-нибудь дал мне какое-нибудь предложение.
Спасибо!
Я работаю над его отладкой. Кроме того, я читал подобные сообщения на stackoverflow. Один из постов очень похож на мою проблему. В сообщении говорится, что нам не следует включать пакетный размер в нашу модель. Я проверил входной слой, но в своем коде подобной проблемы не обнаружил.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Несовместимые формы Tensorflow: [64] против [64,8,8,3] при расчете MSE.
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Несовместимые фигуры. Ошибка при использовании моей модели в приложении C#.
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-