Tensorflow.keras: AlreadyExistsError - PullRequest
       5

Tensorflow.keras: AlreadyExistsError

1 голос
/ 17 февраля 2020

Я строю модель, используя тензорный поток. Я тренировал свою модель, и она работала нормально. Затем я изменил свой код, и когда я пытаюсь обучить свою модель, я получаю AlreadyExistError. Я перезагружаю ноутбук Jupyter, но все равно получаю ту же ошибку. Мне нужна помощь, пожалуйста. Вот мой кусок кода, где я строю сеть и обучаю ее. Проблема возникает в последней строке.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv1D, Dropout, Dense, Flatten, LSTM, MaxPooling1D, Bidirectional
from tensorflow.keras.optimizers import Adam
from keras.callbacks import EarlyStopping, TensorBoard

model = Sequential()

model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same',
                 input_shape=(vector_size, 1)))
model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=3, activation='relu', padding='same'))
model.add(MaxPooling1D(pool_size=3))

model.add(Bidirectional(LSTM(512, dropout=0.2, recurrent_dropout=0.3)))

model.add(Dense(512, activation='sigmoid'))
model.add(Dropout(0.2))
model.add(Dense(512, activation='sigmoid'))
model.add(Dropout(0.25))
model.add(Dense(512, activation='sigmoid'))
model.add(Dropout(0.25))

model.add(Dense(2, activation='softmax'))

model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=0.0001, decay=1e-6), metrics=['accuracy'])

tensorboard = TensorBoard(log_dir='logs/', histogram_freq=0, write_graph=True, write_images=True)

model.summary()
model.fit(np.array(x_train), np.array(y_train), batch_size=batch_size, epochs=no_epochs,
         validation_data=(np.array(x_test), np.array(y_test)),  callbacks=[tensorboard, EarlyStopping(min_delta=0.0001, patience=3)])

Поезд на 90000 выборок, проверка на 10000 выборок. Эпоха 1/10
500/90000 [.......... ....................] - ETA: 2:00:49 /anaconda3/lib/python3.7/site-packages/keras/callbacks/callbacks. py: 846: RuntimeWarning: Ранняя остановка обусловлена ​​метри c val_loss, которая недоступна. Доступны следующие метрики: (self.monitor, ','. Join (список (logs.keys ()))), RuntimeWarning ----------------------- -------------------------------------------------- - Отслеживание AlreadyExistsError (последний вызов был последним) в 1 model.fit (np.array (x_train), np.array (y_train), batch_size = batch_size, epochs = no_epochs, ----> 2 validation_data = (np.array) (x_test), np.array (y_test)), обратные вызовы = [тензорная доска, EarlyStopping (min_delta = 0,0001, терпение = 3)]) 3 print («Вы можете продолжить»)

/ anaconda3 / lib / python3 .7 / site-packages / tenorflow_core / python / keras / engine / training.py вписывается (self, x, y, batch_size, эпохи, подробные, обратные вызовы, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch , validation_steps, validation_freq, max_queue_size, рабочие, use_multiprocessing, ** kwargs) 817 max_queue_size = max_queue_size, 818 рабочих = рабочих, -> 819 use_multiprocessing = use_multiprocessing) 820 821 def оценивают (самостоятельно,

1010

*1010* * * /python3.7/site-packages /tensorflow_core/python/keras/engine/training_v2.py вписывается (самостоятельно, модель, x, y, batch_size, эпохи, подробные, обратные вызовы, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, valid_f_s_eval_s_val_val_val_val_s_val_val_val_val_val_id , works, use_multiprocessing, ** kwargs) 340 mode = ModeKeys.TRAIN, 341 training_context = training_context, -> 342 total_epochs = эпохи) 343 cbks.make_logs (модель, epoch_logs, training_result, ModeKeys.TRAIN) 344 * 344 * / anaconda3 / lib / python3 .7 / site-packages /ensorflow_core / python / keras / engine / training_v2.py в run_one_epoch (модель, итератор, execute_function, dataset_size, batch_size, стратегия, steps_per_epoch, num_samples, mode, training_context total_epochs) 126 step = step, mode = mode, size = current_batch_size) as batch_logs: 127 try: -> 128 batch_outs = execute_function (iterator) 129 за исключением (StopIteration, errors.OutOfRangeError): 130 # TODO (kaftan): ошибка файла о функции и ошибках. OutOfRangeError?

/ anaconda3 / lib / python3 .7 / site-packages / tenorflow_core / python / keras / engine / training_v2_utils.py в execute_function (input_fn) 96 # numpy переводит тензоры в значения в режиме Eager. 97 возврат nest.map_structure (_non_none_constant_value, ---> 98 распределенная_функция (input_fn)) 99 100 возврат выполнение_функции

/ anaconda3 / lib / python3 .7 / site-packages / tensorflow_core / python / eager / def_function .py in call *1019* (self, * args, ** kwds) 566 xla_context.Exit () 567 else: -> 568 result = self._call (* args, ** kwds) 569 570, если tracing_count == self._get_tracing_count ():

/ anaconda3 / lib / python3 .7 / site-packages / tenororflow_core / python / eager / def_function.py в _call (self, * args, ** kwds) 630 # Подъем успешно завершен, поэтому переменные инициализированы, и мы можем запустить функцию 631 # без сохранения состояния. -> 632 возвращают self._stateless_fn (* args, ** kwds) 633 else: 634 canon_args, canon_kwds = \

/ anaconda3 / lib / python3 .7 / site-packages /ensorflow_core / python / eager / function.py в вызов (self, * args, ** kwargs) 2361 с self._lock:
2362 graph_function, args, kwargs = self._maybe_define_function (args, kwargs) -> 2363 return graph_function._filtered_call (args, kwargs) # pylint: disable = protected-access 2364 2365 @ property

/ anaconda3 / lib / python3 .7 / site-packages / tenorflow_core / python / eager / function. py в _filtered_call (self, args, kwargs) 1609, если isinstance (t, (ops.Tensor, 1610
resource_variable_ops.BaseResourceVariable))), -> 1611 self.captured_inputs) 1612 1613 def _call_flat (self, args, capturedin) cancellation_manager = Нет):

/ anaconda3 / lib / python3 .7 / site-packages / tenorflow_core / python / eager / function.py в _call_flat (self, args, captured_inputs, cancellation_manager)
1690 # Нет ленты смотрит; перейдите к выполнению функции.
1691, верните self._build_call_outputs (self._inference_function.call (-> 1692 ctx, args, cancellation_manager = cancellation_manager)) 1693
forward_backward = self._select_forward_and_backward_functions (
1694, *1035* 1694 1036 *

/ anaconda3 / lib / python3 .7 / site-packages / tenorflow_core / python / eager / function.py в вызове (self, ctx, args, cancellation_manager) 543 входов = args, 544 attrs = (" executor_type ", executor_type," config_proto ", config), -> 545 ctx = ctx) 546 else: 547 output = execute.execute_with_cancellation (

/ anaconda3 / lib / python3 .7 / site-packages /tensorflow_core/python/eager/execute.py в quick_execute (op_name, num_outputs, input, attrs, ctx, name) 65 остальное: 66 message = e.message ---> 67 six.raise_from (core._status_to_exception (e.code , message), None) 68 за исключением TypeError как e: 69 keras_symbolic_tensors = [*

/ anaconda3 / lib / python3 .7 / site-packages / six.py в подъеме_из (значение, из_значения)

AlreadyExistsError: Reso urce __per_step_0 / последовательный / двунаправленный / forward_lstm / while_grad / body / _429 / градиенты / AddN_13 / tmp_var / N10tensorflow19TeilitaryVariableOp6TmpVarE [[{{узел последовательный / двунаправленный / forward_lstm / while_13}] / __v_v_v_v_v_v_v_v_v_v_v/v_t_v_t_v_t_v_t_v_v/_t_v/_t_v/_t_v/_t_v] : __inference_distributed_function_12060]

Стек вызовов функций: распределенная_функция

1 Ответ

0 голосов
/ 19 февраля 2020

У вас должны быть проблемы с теми же архитектурами, что и во время тренировки, которые были замечены во время предыдущего запуска.

Это должно сбросить сеанс keras:

from tensorflow.keras import backend
backend.clear_session()
...