#tensorflow #amazon-sagemaker
#tensorflow #amazon-sagemaker
Вопрос:
Я получил следующую ошибку при попытке обучить мою модель tensorflow на экземпляре sagemaker ml.p2.xlarge. Я использую tensorflow ==2.3.0. Интересно, связано ли это с несовместимостью версии tensorflow с cuda. sagemaker ml.p2.xlarge, похоже, использует cuda 10.0
GPU error:
2020-08-31 08:46:46.429756: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/openmpi/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64
2020-08-31 08:47:02.170819: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/openmpi/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64
2020-08-31 08:47:02.764874: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1753] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
Ответ №1:
Этот вопрос, вероятно, устарел, но он возвращается к открытой проблеме, обнаруженной в начале выбора того, какие версии фреймворков использовать. Проблема не зависит от типа указанного вами экземпляра (с графическим процессором NVidia).
Из официальной документации «Доступные изображения контейнеров глубокого обучения«, на сегодняшний день 20/10/2022, предварительно скомпилированные версии выше 2.2, похоже, не пригодны для использования:
Фреймворк | Тип задания | Параметры хоровода | Процессор / графический процессор | Параметры версии Python | Пример URL |
---|---|---|---|---|---|
TensorFlow 2.2 (Cuda 10.2) | Обучение | ДА | Графический процессор | 3.7 (py37) | 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training:2.2.0-gpu-py37-cu102-ubuntu18.04 |
TensorFlow 2.2 | вывод | НЕТ | Графический процессор | 3.7 (py37) | 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference:2.2.0-gpu-py37-cu102-ubuntu18.04 |
В файле dockerfile, который используется для использования контейнера, содержится инструкция по установке библиотек, которые отсутствуют в вашей пользовательской версии:
RUN apt-get update amp;amp; apt-get install -y --no-install-recommends --allow-unauthenticated
python3-dev
python3-pip
python3-setuptools
ca-certificates
cuda-command-line-tools-10-1
cuda-cudart-dev-10-1
cuda-cufft-dev-10-1
cuda-curand-dev-10-1
cuda-cusolver-dev-10-1
cuda-cusparse-dev-10-1
curl
libcudnn7=7.6.2.24-1 cuda10.1
# TensorFlow doesn't require libnccl anymore but Open MPI still depends on it
libnccl2=2.4.7-1 cuda10.1
libgomp1
libnccl-dev=2.4.7-1 cuda10.1
....
Затем вы можете установить необходимые библиотеки из своей пользовательской версии непосредственно с помощью requirements.txt файл или запустите команду установки непосредственно в сценарии обучения.
Если нет особых требований к проекту, я рекомендую использовать предварительно скомпилированные версии sagemaker. В противном случае создайте образ docker с нуля вместо установки библиотек таким способом..