Я тренирую модель нейронной сети и при запуске кода:
Код: Выделить всё
history = model.fit(
X_train, y_train_encoded,
epochs=20,
batch_size=32,
validation_data=(X_val, y_val_encoded),
)
Первая эпоха завершается успешно (примерно через 11 минут), а затем я получаю эту ошибку:
Код: Выделить всё
InternalError: Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run _EagerConst: Dst tensor is not initialized.
В отличие от большинства людей, получающих эту ошибку до начала обучения. Для меня обучение работает в течение первой эпохи, завершается успешно (это занимает около 11 минут), а затем вылетает, прежде чем перейти к следующей эпохе. Кажется, что тензорный поток плохо управляет памятью графического процессора, потому что при проверке я вижу, что используются 3,1 ГБ/4 ГБ графического процессора (даже после сбоя кода), и я не начинаю обучение снова, когда запускаю его из ноутбука Jupyter. , всегда мгновенно выдает одну и ту же ошибку. Мне нужно перезапустить графический процессор, чтобы он снова стал пустым, и только тогда он будет работать в течение первой эпохи, а затем получит ту же ошибку.
Кто-нибудь сталкивался с этой проблемой? И связана ли это с некоторыми вещами, которые tensorflow выполняет между эпохами (например, с очисткой памяти)?
Я использую tensorflow 2.10.1 в Windows с графическим процессором GTX 1050ti (ps : Я не могу позволить себе лучшее оборудование, работа на процессоре занимает примерно в 5 раз больше времени)
Спасибо за любую помощь.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... irst-epoch