Обзор развертывания TensorFlow на сервере¶
Предварительные требования и базовые условия¶
Развертывание предназначено для операционных систем на базе Ubuntu или Debian. Для выполнения задач установки системе требуются права суперпользователя (root) или доступ к sudo. Необходимо выполнить следующие аппаратные и программные требования:
-
Операционная система: Дистрибутивы Ubuntu или Debian.
-
Аппаратное обеспечение: Требуется графический процессор NVIDIA. В частности, скрипт установки обнаруживает графические процессоры NVIDIA H100 (идентификатор устройства
10de:2330) для установки соответствующего пакета ядра Linux (linux-generic-hwe-22.04). -
Права доступа: Требуется доступ с привилегиями
rootдля установки пакетов во всей системе и создания пользователей. -
Учетная запись пользователя: Приложение запускается под учетной записью системного пользователя с именем
user. -
Порты: В конфигурационных файлах не определены специфические сетевые порты для внешнего доступа; настройка ориентирована на локальное ускорение через GPU и среду Python.
Структура файлов и каталогов¶
Процесс установки создает специфические каталоги и файлы для управления средой TensorFlow, драйверами CUDA и учетными данными пользователя.
-
/root/install_script.sh: Основной скрипт установки, сгенерированный в процессе развертывания. -
/root/user_credentials: Файл, содержащий случайным образом сгенерированный пароль для учетной записиuser. -
/home/user: Домашний каталог пользователя приложения, где создается виртуальная среда Python. -
/home/user/venv: Каталог виртуальной среды Python. -
/home/user/TensorRT-8.6.1.6: Распакованный каталог пакета TensorRT. -
/home/user/tensorflow_install.sh: Скрипт для установки и настройки зависимостей TensorFlow. -
/home/user/tensorflow.sh: Скрипт активации для загрузки переменных окружения и виртуальной среды. -
/usr/local/cuda: Каталог установки набора инструментов NVIDIA CUDA Toolkit. -
/usr/local/cuda-12.2/lib64: Путь к библиотекам для версии CUDA 12.2.
Процесс установки приложения¶
Развертывание выполняется с помощью скрипта оболочки (install_script.sh), расположенного в корневом каталоге. Этот скрипт выполняет следующие действия:
-
Обновление системы: Обновление всех системных пакетов и удаление неиспользуемых зависимостей.
-
Установка драйверов:
-
Обнаружение оборудования NVIDIA (специфическая проверка на наличие
10de:2330для GPU H100). -
Установка рекомендуемого драйвера NVIDIA с использованием
ubuntu-drivers-common. -
Установка компилятора GCC, необходимого для CUDA.
-
-
Настройка набора инструментов CUDA:
- Скачивание ключа (keyring) CUDA и установка набора инструментов CUDA на основе обнаруженной версии выпуска Ubuntu.
-
Создание пользователя:
-
Создание системного пользователя с именем
userи домашним каталогом в/home/user. -
Генерация случайного пароля длиной 8 символов, который сохраняется в
/root/user_credentials. -
Добавление пользователя
userв группыusersиsudo.
-
-
Настройка окружения:
-
Установка Python 3.10,
pipиvenv. -
Установка
libnvinfer5-devдля поддержки TensorRT. -
Добавление необходимых переменных
PATHиLD_LIBRARY_PATHв~/.bashrcдля указания на бинарные файлы и библиотеки CUDA.
-
-
Установка TensorFlow и TensorRT:
-
Запуск
tensorflow_install.shот имени пользователяuser. -
Создание виртуальной среды.
-
Установка
tensorflow[and-cuda]через pip. -
Скачивание и распаковка TensorRT 8.6.1.6.
-
Установка предварительной версии колеса
tensorrt.
-
-
Проверка (Validation):
- Запуск команды Python для проверки работоспособности TensorFlow и возможности обнаружения физических устройств GPU.
Права доступа и безопасность¶
Безопасность и управление доступом осуществляются через учетные записи пользователей и права на файлы, установленные в процессе установки:
-
Учетная запись пользователя: Приложение работает под учетной записью
user, которая является членом группыsudo, что предоставляет права администратора. -
Пароли: Уникальный пароль генерируется во время выполнения и сохраняется в
/root/user_credentials. Этот файл доступен для чтения пользователем root. -
Права на файлы:
-
/root/install_script.sh:u=rwx,g=r,o=r(владелец: чтение/запись/выполнение, другие: только чтение). -
Скрипты в
/home/user/: Командаchmod +xприменяется кtensorflow_install.shиtensorflow.sh.
-
-
Ограничения: В предоставленной конфигурации не определены специфические правила межсетевого экрана (firewall) или ограничения по ключам SSH.
Базы данных¶
В предоставленных исходных файлах не содержатся установки, настройки или параметры подключения баз данных. Развертывание сосредоточено на фреймворке TensorFlow и драйверах GPU.
Контейнеры Docker и их развертывание¶
В конфигурации отсутствуют контейнеры Docker, команды docker run или файлы docker-compose. Приложение развертывается непосредственно на операционной системе хоста с использованием нативных менеджеров пакетов и виртуальных сред Python.
Прокси-серверы¶
Не определены прокси-серверы (Nginx, Traefik), SSL-сертификаты или конфигурации пользовательских доменов. Настройка не включает Certbot или управление обратным прокси.
Настройки разрешений¶
Скрипт установки применяет следующие настройки разрешений:
-
Системные скрипты: Основной установщик в
/root/install_script.shустановлен в режиме744(u=rwx,g=r,o=r). -
Скрипты пользователя: Скрипты, созданные в
/home/user/(tensorflow_install.sh,tensorflow.sh), делаются исполняемыми с помощьюchmod +x. -
Владелец: Файлы и каталоги внутри
/home/user/принадлежат учетной записи пользователяuser.
Расположение файлов конфигурации и данных¶
Файлы конфигурации и данные находятся по следующим путям:
-
Скрипт активации:
/home/user/tensorflow.sh(Загружает виртуальную среду и устанавливаетCUDNN_PATHиLD_LIBRARY_PATH). -
Виртуальная среда:
/home/user/venv. -
Данные TensorRT:
/home/user/TensorRT-8.6.1.6. -
Учетные данные пользователя:
/root/user_credentials. -
Переменные окружения: Определены в
/home/user/.bashrcи загружаются черезtensorflow.sh.
Доступные порты для подключения¶
В предоставленной конфигурации не определены сетевые порты для удаленного доступа. Установка TensorFlow является локальной для экземпляра сервера.
Запуск, остановка и обновление¶
Для управления средой TensorFlow необходимо выполнять следующие команды от имени пользователя user:
-
Запуск окружения: Для активации виртуальной среды и установки необходимых путей к библиотекам для CUDA и TensorRT выполните:
Эта команда активируетvenvи экспортирует переменныеCUDNN_PATHиLD_LIBRARY_PATH. -
Тестирование установки: После активации окружения проверьте настройку с помощью:
-
Переустановка или обновление: Для переустановки или обновления зависимостей повторно запустите скрипт установки:
Обратите внимание, что этот скрипт создает новую виртуальную среду и переустанавливает пакеты, что может привести к перезаписи предыдущего состояния.