Рейтинг:0

Невозможно запустить модель Tensorflow с CUDA в Ubuntu 20.04

флаг cn

Последние несколько дней я пытался установить CUDA, чтобы он соответствовал моим Tensorflow CNN. Прямо сейчас на моей машине установлено (Ubuntu 20.04 LTS, RTX3060):

тензорный поток-GPU 2.4

питон 3.8.10

cuDNN 8.0

КУДА 11.0

nvidia-драйвер-495

Драйвер был установлен вместе с CUDA 11.0.

Когда я подгоняю модель, я вижу, что мой графический процессор выделяет всю свою память, но подробное описание модели остается на: Эпоха: 1/50 и никогда не пойдет дальше.

Я попытался понизить версию своего драйвера до nvidia-driver-470, так как 495 официально не выпущен. Это действие привело к тому, что все перестало работать: мой графический процессор больше не выделяет ресурсы при установке, nvidia -smi больше не работает, и теперь импорт тензорного потока возвращает:

Не удалось загрузить динамическую библиотеку libcudart.so.11.0; ошибка: ,

чего раньше не было.

Кто-нибудь знает, откуда может появиться эта проблема?

Спасибо

редактировать 1:

После перезагрузки импорт Tensorflow возвращает:

tensorflow/stream_executor/platform/default/dso_loader.cc:60] Не удалось загрузить динамическую библиотеку «libcudart.so.11.0»; dlerror: libcudart.so.11.0: невозможно открыть общий объектный файл: нет такого файла или каталога; LD_LIBRARY_PATH: /usr/lib/cuda/include:/usr/lib/cuda/lib64:
2021-11-02 06:24:40.852786: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Игнорируйте вышеуказанную ошибку cudart dlerror, если на вашем компьютере не настроен графический процессор.

Каталоги /usr/lib/cuda/include и /usr/lib/cuda/lib64 действительно существуют.

редактировать 2:

После переустановки cuda по этой ссылке: https://askubuntu.com/a/1288405/231142

Импорт Tensorflow работает и не возвращает никаких проблем.

EarlyStop=EarlyStopping(терпение=10,restore_best_weights=True)
Reduce_LR = ReduceLRonPlateau (монитор = 'val_accuracy', подробный = 2, коэффициент = 0,5, min_lr = 0,00001)
model_check=ModelCheckpoint('model.hdf5',monitor='val_loss',verbose=1,save_best_only=True)
tensorbord = TensorBoard (log_dir = 'журналы')
callback=[EarlyStop, Reduce_LR,model_check,tensorbord]

возвращает:

2021-11-02 20:09:55.607299: I tensorflow/core/profiler/lib/profiler_session.cc:131] Инициализация сеанса профилировщика.
2021-11-02 20:09:55.607335: I tensorflow/core/profiler/lib/profiler_session.cc:146] Сеанс профилировщика запущен.
2021-11-02 20:09:55.608325: I tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1614] Profiler обнаружил 1 GPU
2021-11-02 20:09:55.609026: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Не удалось загрузить динамическую библиотеку «libcupti.so.11.2»; dlerror: libcupti.so.11.2: невозможно открыть общий объектный файл: нет такого файла или каталога; LD_LIBRARY_PATH: /usr/local/cuda-11.5/lib64:/usr/lib/cuda/include:/usr/lib/cuda/lib64:/usr/local/cuda-11.5/lib64
2021-11-02 20:09:55.609320: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Не удалось загрузить динамическую библиотеку libcupti.so; dlerror: libcupti.so: невозможно открыть общий объектный файл: нет такого файла или каталога; LD_LIBRARY_PATH: /usr/local/cuda-11.5/lib64:/usr/lib/cuda/include:/usr/lib/cuda/lib64:/usr/local/cuda-11.5/lib64
2021-11-02 20:09:55.609372: E tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1666] Функция cupti_interface_->Subscribe( &subscriber_, (CUpti_CallbackFunc)ApiCallback, this) не удалось с ошибкой CUPTI не может быть загружен или символ не найден.
2021-11-02 20:09:55.609476: I tensorflow/core/profiler/lib/profiler_session.cc:164] Сеанс профилировщика разрывается.
2021-11-02 20:09:55.609527: функция Etensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1757] cupti_interface_->Finalize() завершилась с ошибкой CUPTI не может быть загружен или символ не может быть найден.

Подгонка модели начинается и использует все мои GPU и CPU, но все еще идет медленно и возвращается:

2021-11-02 20:09:55.832301: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Выделение 428802048 превышает 10% свободной системной памяти.
2021-11-02 20:09:56.269844: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Выделение 571736064 превышает 10% свободной системной памяти.
2021-11-02 20:09:56.669900: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Выделение 428802048 превышает 10% свободной системной памяти.
2021-11-02 20:09:56.821919: W tensorflow/core/framework/cpu_allocator_impl.cc:80] Выделение 571736064 превышает 10% свободной системной памяти.
2021-11-02 20:09:57.065544: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] Ни один из проходов оптимизации MLIR не включен (зарегистрировано 2)
Эпоха 1/20
2021-11-02 20:09:59.868007: I tensorflow/stream_executor/cuda/cuda_dnn.cc:369] Загружена версия 8204 cuDNN
  1/137 [................................] - Расчетное время прибытия: 1:15:21 - Потери: 0,7485 - Точность: 0.38712021-11-02 20:10:30.404084: I tensorflow/core/profiler/lib/profiler_session.cc:131] Инициализация сеанса профилировщика.
2021-11-02 20:10:30.404114: I tensorflow/core/profiler/lib/profiler_session.cc:146] Сеанс профилировщика запущен.
2021-11-02 20:10:30.404277: E tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1666] функция cupti_interface_->Subscribe( &subscriber_, (CUpti_CallbackFunc)ApiCallback, this) не удалось с ошибкой CUPTI не может быть загружен или символ не найден.

Может возникнуть проблема с libcupti.so.11.2 библиотека, но я не нашел ее на данный момент.

Terrance avatar
флаг id
Ненавижу это спрашивать, но когда вы объявили устаревшим свой драйвер NVIDIA, перезагрузили ли вы свою систему, чтобы старый драйвер вступил в силу?
Louis avatar
флаг cn
я сделал для хороших мер. импортирование тензорного потока теперь возвращает: `2021-11-02 06:01:48.281681: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Не удалось загрузить динамическую библиотеку 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: невозможно открыть общий объектный файл: нет такого файла или каталога; LD_LIBRARY_PATH: /usr/lib/cuda/include:/usr/lib/cuda/lib64: 2021-11-02 06:01:48.281751: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Игнорируйте выше cudart dlerror, если на вашем компьютере не настроен графический процессор.`
Terrance avatar
флаг id
Я не уверен, как вы настроили свою систему для CUDA, но вы можете посмотреть мой ответ [здесь] (https://askubuntu.com/a/1288405/231142) и посмотреть, не пропустили ли вы шаг в установка CUDA для дополнительной информации, которую необходимо добавить в файл `~/.profile`. Я бы хотел, чтобы в моей домашней системе была лучшая карта, так как некоторые тесты тензорного потока я не могу запустить из-за того, что моя карта устарела, но другие тесты CUDA проходят. Иногда запуск `sudo ldconfig` также может исправить проблемы с файлами библиотек.
Louis avatar
флаг cn
Я следовал инструкциям по вашей ссылке. я обновил сообщение с новым состоянием.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.