Я пытаюсь построить модель, которая принимает два входных параметра. В рамках этой модели я разработал три блока: два соответствуют структуре первых блоков EfficientNetB0 до блока 4 (A), а третий блок (B) отражает архитектуру последних блоков EfficientNetB0 5, 6 и 7. Я создал функцию build_model() для создания этой модели, и кажется, что при вызове функции и выполнении model.summary() все работает правильно. Однако при применении функции model.fit() я столкнулся со следующей ошибкой:
Кто-нибудь сталкивался с этой ошибкой раньше?
Я пытаюсь построить модель, которая принимает два входных параметра. В рамках этой модели я разработал три блока: два соответствуют структуре первых блоков EfficientNetB0 до блока 4 (A), а третий блок (B) отражает архитектуру последних блоков EfficientNetB0 5, 6 и 7. Я создал функцию build_model() для создания этой модели, и кажется, что при вызове функции и выполнении model.summary() все работает правильно. Однако при применении функции model.fit() я столкнулся со следующей ошибкой: Кто-нибудь сталкивался с этой ошибкой раньше? [code]--------------------------------------------------------------------------- StagingError Traceback (most recent call last) Cell In[50], line 24 21 with strategy.scope(): 22 model = build_model() ---> 24 model.fit(train_gen, verbose=1, validation_data = valid_gen, epochs=10, callbacks = [LR2]) 25 model.save_weights(f'EffNet_v{VER}_f{i}.weights.h5') 26 oof = model.predict(valid_gen, verbose=1)
File /opt/conda/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py:123, in filter_traceback..error_handler(*args, **kwargs) 120 filtered_tb = _process_traceback_frames(e.__traceback__) 121 # To get the full stack trace, call: 122 # `keras.config.disable_traceback_filtering()` --> 123 raise e.with_traceback(filtered_tb) from None 124 finally: 125 del filtered_tb
File /opt/conda/lib/python3.10/site-packages/tensorflow/python/eager/polymorphic_function/autograph_util.py:52, in py_func_from_autograph..autograph_handler(*args, **kwargs) 50 except Exception as e: # pylint:disable=broad-except 51 if hasattr(e, "ag_error_metadata"): ---> 52 raise e.ag_error_metadata.to_exception(e) 53 else: 54 raise
StagingError: in user code:
File "/opt/conda/lib/python3.10/site-packages/keras/src/backend/tensorflow/trainer.py", line 105, in one_step_on_data ** return self.train_step(data) File "/opt/conda/lib/python3.10/site-packages/keras/src/backend/tensorflow/trainer.py", line 56, in train_step y_pred = self(x, training=True) File "/opt/conda/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py", line 123, in error_handler raise e.with_traceback(filtered_tb) from None File "/opt/conda/lib/python3.10/site-packages/keras/src/ops/function.py", line 161, in _run_through_graph output_tensors.append(tensor_dict[id(x)])
KeyError: 'Exception encountered when calling Functional.call().\n\n\x1b[1m137598607979904\x1b[0m\n\nArguments received by Functional.call():\n • inputs=tf.Tensor(shape=(None, 256, 512, 3), dtype=float32)\n • training=True\n • mask=None' [/code] Функция для построения модели: [code]from tensorflow.keras.applications import EfficientNetB0 from tensorflow.keras.layers import Concatenate, GlobalAveragePooling2D, Dense from tensorflow.keras import Model from tensorflow.keras.optimizers import Adam from tensorflow.keras.losses import KLDivergence from tensorflow.keras.layers import Lambda, Concatenate from tensorflow.keras.layers import Layer
# Load the EfficientNetB0 model pre-trained on ImageNet base_model = tf.keras.applications.EfficientNetB0( include_top=False, weights='imagenet', input_shape=None)
# Reshape Input X1 229x232x4 => 458x464x3 Monotone Image => Resize to 256x512x3 x1 = [inp1[:,:,:,i:i+1] for i in range(2)] x1 = tf.keras.layers.Concatenate(axis=1)(x1) x2 = [inp1[:,:,:,i+2:i+3] for i in range(2)] x2 = tf.keras.layers.Concatenate(axis=1)(x2) x_1 = tf.keras.layers.Concatenate(axis=2)([x1,x2]) x_1 = tf.keras.layers.Concatenate(axis=3)([x_1,x_1,x_1]) x_1 = tf.keras.layers.Resizing(height=256, width=512)(x_1)
# Reshape Input X2 128x256x4 => 256x512x3 x3 = [inp2[:,:,:,i:i+1] for i in range(2)] x3 = tf.keras.layers.Concatenate(axis=1)(x3) x4 = [inp2[:,:,:,i+2:i+3] for i in range(2)] x4 = tf.keras.layers.Concatenate(axis=1)(x4) x_2 = tf.keras.layers.Concatenate(axis=2)([x3,x4]) x_2 = tf.keras.layers.Concatenate(axis=3)([x_2,x_2,x_2])
# Create the model for block A block_a_outputs_1 = [base_model.get_layer(name).output for name in block_a_layers] block_a_outputs_2 = [base_model.get_layer(name).output for name in block_a_layers] block_a_model_1 = tf.keras.Model(inputs=inp_A1, outputs=block_a_outputs_1) block_a_model_2 = tf.keras.Model(inputs=inp_A2, outputs=block_a_outputs_2)
# Create the model for block B block_b_outputs = [base_model.get_layer(name1).output for name1 in block_b_layers] block_b_model = tf.keras.Model(inputs=input_B, outputs=block_b_outputs)
# Get the outputs from block A for both inputs block_a_output_1 = block_a_model_1(x_1) block_a_output_2 = block_a_model_2(x_2)
# Concatenate the outputs from block A concatenated_output = tf.keras.layers.Concatenate(axis=-1)([block_a_output_1[-1],block_a_output_2[-1]])
# Get the output from block B using the concatenated features block_b_output = block_b_model(concatenated_output) #block_b_output = tf.keras.layers.Concatenate(axis=-1)(block_b_output[-1])
# OUTPUT x = tf.keras.layers.GlobalAveragePooling2D()(block_b_output[-1]) x = tf.keras.layers.Dense(6,activation='softmax', dtype='float32')(x)
# COMPILE MODEL model = tf.keras.Model(inputs=(inp1, inp2), outputs=x) opt = tf.keras.optimizers.Adam(learning_rate = 1e-3) loss = tf.keras.losses.KLDivergence() model.compile(loss=loss, optimizer = opt)
return model [/code] Код для обучения: [code]from sklearn.model_selection import KFold, GroupKFold import tensorflow.keras.backend as K, gc VER = 2 all_oof = [] all_true = []
gkf = GroupKFold(n_splits=5)
for i, (train_index, valid_index) in enumerate(gkf.split(train, train.target, train.patient_id)): print('#'*25) print(f'### Fold {i+1}')
Я пытаюсь создать составной автокодер последовательности LSTM, который принимает сигнал из 430 временных шагов, каждый из которых имеет 1 значение. Код модели можно увидеть ниже:
feat_dim = 1
timesteps = 430
inputs = keras.Input(shape = (timesteps,...
Ниже приведены зависимости, которые я использовал
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
Ниже приведен код, который я называю API модернизации
RequestBody jsonBody =...
Не удалось настроить исключение инициализации контекста получения спящего режима. Пробовали альтернативные версии зависимости Hibernate, и хотя таблица создается в БД, я думаю, что существует некоторая проблема, связанная с Bean.
Студент
package...
Не удалось настроить исключение инициализации контекста получения спящего режима. Пробовали альтернативные версии зависимости Hibernate, и хотя таблица создается в БД, я думаю, что существует некоторая проблема, связанная с Bean.
Студент
package...