Обзор развертывания TensorFlow на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu 22.04. Система должна быть оснащена видеокартой NVIDIA модели H100 (идентификатор 10de:2330), так как установка драйверов и компонентов CUDA привязана к этому оборудованию.
Требуемые права доступа: - Права суперпользователя (root) для установки системных пакетов, драйверов и создания пользователей. - Доступ к сети для загрузки репозиториев NVIDIA, CUDA, TensorRT и пакетов Python.
Необходимые системные компоненты, устанавливаемые перед запуском основного скрипта: - curl - wget - sudo - ubuntu-drivers-common - gcc - python3.10 - python3-pip - python3-venv - libnvinfer5-dev
Структура файлов и каталогов¶
После выполнения скрипта установки на сервере формируется следующая структура файлов и каталогов:
/root/install_script.sh— основной скрипт установки, созданный в каталоге суперпользователя./root/user_credentials— файл, содержащий сгенерированный пароль для учетной записи пользователя./home/user— домашний каталог пользователяuser, где размещаются рабочие файлы./home/user/venv— виртуальное окружение Python для изоляции зависимостей TensorFlow./home/user/TensorRT-8.6.1.6— каталог с распакованными файлами библиотеки TensorRT./home/user/tensorflow_install.sh— скрипт установки зависимостей Python и TensorRT./home/user/tensorflow.sh— скрипт активации окружения и настройки переменных среды.~/.bashrc— файл конфигурации оболочки пользователя, куда добавляются переменные пути для CUDA.
Процесс установки приложения¶
Установка приложения выполняется в несколько этапов, начиная с обновления системы и заканчивая настройкой среды выполнения.
- Обновление всех пакетов системы до последних версий и удаление неиспользуемых компонентов.
- Установка базовых утилит:
curl,wget,sudo. - Проверка наличия видеокарты NVIDIA H100 через команду
lspci. При обнаружении карты устанавливается пакет ядраlinux-generic-hwe-22.04. - Установка рекомендованных драйверов NVIDIA через утилиту
ubuntu-drivers-common. - Установка компилятора
gccдля поддержки CUDA. - Определение версии релиза Ubuntu и загрузка ключа репозитория CUDA.
- Установка пакета
cudaчерез менеджер пакетовapt. - Генерация случайного пароля и создание учетной записи пользователя
userс добавлением в группуsudo. - Установка библиотеки
libnvinfer5-dev. - Установка интерпретатора Python 3.10, менеджера пакетов
pipи модуляvenv. - Переключение на пользователя
userи выполнение скриптаtensorflow_install.sh, который:- Создает и активирует виртуальное окружение.
- Устанавливает TensorFlow с поддержкой CUDA.
- Скачивает и распаковывает TensorRT версии 8.6.1.6.
- Устанавливает и обновляет пакет
tensorrtчерезpip. - Выполняет тестовый скрипт для проверки доступности GPU.
Права доступа и безопасность¶
Учетная запись пользователя user создается с правами на выполнение команд от имени суперпользователя (группа sudo). Пароль для входа генерируется автоматически и сохраняется в файл /root/user_credentials.
Доступ к файлам скриптов установки (install_script.sh, tensorflow_install.sh, tensorflow.sh) предоставляется с правами на выполнение (chmod +x).
Файл конфигурации оболочки ~/.bashrc модифицируется для добавления переменных среды, необходимых для работы CUDA.
Контейнеры Docker и их запуск¶
В предоставленных данных отсутствует информация о развертывании приложения в контейнерах Docker. Установка выполняется напрямую на операционную систему хоста.
Настройки прав¶
После завершения установки переменные среды для работы с CUDA добавляются в файл ~/.bashrc пользователя user:
PATHдополняется путем/usr/local/cuda/bin.LD_LIBRARY_PATHдополняется путем/usr/local/cuda-12.2/lib64.
Скрипт tensorflow.sh дополнительно настраивает переменные: - CUDNN_PATH — путь к библиотеке cuDNN. - LD_LIBRARY_PATH — пути к библиотекам cuDNN, CUDA и TensorRT.
Запуск, остановка и обновление¶
Для запуска среды выполнения приложения необходимо выполнить следующие действия от имени пользователя user:
-
Перейти в домашний каталог:
-
Активировать виртуальное окружение и переменные среды с помощью скрипта:
-
Для проверки корректности установки и доступности GPU выполнить тестовую команду:
Для обновления зависимостей Python или TensorRT необходимо повторно запустить скрипт tensorflow_install.sh внутри активированного виртуального окружения.