Обзор развертывания TensorFlow на сервере¶
Предварительные требования¶
Для успешного развертывания среды выполнения TensorFlow с поддержкой GPU необходимо соблюдение следующих условий:
-
Операционная система: Ubuntu или Debian.
-
Аппаратное обеспечение: Наличие графического ускорителя NVIDIA (в частности, оптимизировано для моделей H100).
-
Права доступа: Права суперпользователя (
sudo) для установки системных пакетов и драйверов. -
Сетевой доступ: Доступ к репозиториям Ubuntu, серверам NVIDIA и PyPI для загрузки драйверов, CUDA и библиотек Python.
Процесс установки приложения¶
Процесс развертывания является комплексным и включает в себя настройку операционной системы, установку проприетарных драйверов и подготовку изолированной среды Python.
1. Подготовка операционной системы¶
-
Обновление всех системных пакетов до последних версий.
-
Удаление неиспользуемых зависимостей и очистка системы.
-
Установка базовых утилит:
curl,wget,sudo. -
Если система обнаруживает видеокарту модели H100, устанавливается пакет ядра
linux-generic-hwe-22.04для обеспечения совместимости.
2. Настройка графической подсистемы (NVIDIA)¶
-
Установка пакета
ubuntu-drivers-common. -
Автоматический поиск и установка рекомендуемого проприетарного драйвера NVIDIA.
-
Установка компилятора
gcc. -
Добавление репозитория NVIDIA и установка пакета
cuda.
3. Настройка пользователя и окружения¶
-
Создание системного пользователя
userс домашним каталогом/home/userи правами администратора (sudo). -
Генерация случайного пароля для пользователя (сохраняется в файле
/root/user_credentials). -
Установка библиотек разработки:
libnvinfer5-dev. -
Установка Python 3.10, менеджера пакетов
pipи инструмента создания виртуальных окруженийvenv.
4. Настройка среды выполнения TensorFlow¶
Для пользователя user выполняется автоматическая настройка среды:
-
Создается виртуальное окружение (
venv). -
Устанавливается пакет
tensorflow[and-cuda]. -
Загружается и распаковывается библиотека TensorRT (версия 8.6.1).
-
Устанавливаются необходимые библиотеки через
pip(включаяwheelи обновленныйtensorrt).
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания используются специализированные скрипты для автоматизации сложных этапов:
| Имя файла | Расположение | Назначение |
|---|---|---|
install_script.sh | /root/install_script.sh | Основной установочный скрипт: настройка драйверов NVIDIA, CUDA, создание пользователя и подготовка Python-окружения. |
tensorflow_install.sh | /home/user/tensorflow_install.sh | Скрипт установки библиотек внутри виртуального окружения: установка TensorFlow, TensorRT и проверка доступности GPU. |
tensorflow.sh | /home/user/tensorflow.sh | Скрипт активации среды: настройка путей PATH, LD_LIBRARY_PATH для CUDA и TensorRT, а также инициализация переменных окружения. |
Права доступа и безопасность¶
-
Пользователь: Для работы с приложением используется выделенный пользователь
user. -
Безопасность: Пароль пользователя генерируется случайным образом через
opensslи хранится в/root/user_credentials. -
Ограничения: Все основные операции по установке драйверов выполняются от имени суперпользователя, в то время как работа с библиотеками Python изолирована внутри виртуального окружения пользователя.
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь / Описание |
|---|---|
| Данные пользователя | /home/user |
| Виртуальное окружение Python | /home/user/venv |
| Библиотеки TensorRT | /home/user/TensorRT-8.6.1.6/lib |
| Файл с учетными данными | /root/user_credentials |
Доступные порты для подключения¶
В данной конфигурации явные сетевые порты приложения не открываются, так как развертывание ориентировано на локальное выполнение вычислений через Python. Однако для работы GPU требуются стандартные системные ресурсы.
Запуск и управление приложением¶
Для начала работы с TensorFlow необходимо активировать настроенную среду:
-
Переключиться на пользователя
user: -
Активировать окружение с помощью вспомогательного скрипта:
После активации можно запускать Python-скрипты, использующие TensorFlow. Для проверки работоспособности используется команда: