Перейти к содержанию

Обзор развертывания 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.

Процесс установки приложения

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

  1. Обновление всех пакетов системы до последних версий и удаление неиспользуемых компонентов.
  2. Установка базовых утилит: curl, wget, sudo.
  3. Проверка наличия видеокарты NVIDIA H100 через команду lspci. При обнаружении карты устанавливается пакет ядра linux-generic-hwe-22.04.
  4. Установка рекомендованных драйверов NVIDIA через утилиту ubuntu-drivers-common.
  5. Установка компилятора gcc для поддержки CUDA.
  6. Определение версии релиза Ubuntu и загрузка ключа репозитория CUDA.
  7. Установка пакета cuda через менеджер пакетов apt.
  8. Генерация случайного пароля и создание учетной записи пользователя user с добавлением в группу sudo.
  9. Установка библиотеки libnvinfer5-dev.
  10. Установка интерпретатора Python 3.10, менеджера пакетов pip и модуля venv.
  11. Переключение на пользователя 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:

  1. Перейти в домашний каталог:

    cd ~
    

  2. Активировать виртуальное окружение и переменные среды с помощью скрипта:

    ./tensorflow.sh
    

  3. Для проверки корректности установки и доступности GPU выполнить тестовую команду:

    python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000]))); print(tf.config.list_physical_devices())"
    

Для обновления зависимостей Python или TensorRT необходимо повторно запустить скрипт tensorflow_install.sh внутри активированного виртуального окружения.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×