Я надеюсь, что вы здесь, потому что не можете или не хотите использовать существующий образ докера сервера выводов Triton. У меня была та же причина, которая заставила меня потратить свои 3 недели на создание сервера логического вывода Triton с нуля на платформе RHEL7. Я нашел это очень трудоемким, так как для него недостаточно документации. Это были пробные и пробные попытки, и это отнимало очень много времени. Я делюсь своим опытом, так что это может сэкономить ваше время. Пожалуйста, не стесняйтесь оставлять свои предложения и отзывы.
Пожалуйста, обратитесь к https://github.com/triton-inference-server/server/blob/main/docs/build.md#building-on-unsupported-platforms, прежде чем переходить на мою страницу. Мой блог поможет вам создать его без Docker. Я создал свой собственный образ докера. Я построил это только для бэкэнда тензорного потока. Если вы хотите другой бэкэнд, вам, возможно, придется попробовать себя.
Добавить основной репозиторий Yum: cuda-rhel7
yum-config-manager — add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
Установите требуемые библиотеки через yum:
yum install -y git vim autoconf automake boost-devel make openssl-devel python3-devel wget bzip2 patchelf bison gcc gcc-c++ libnccl libnccl-devel libnccl-static docker
Нам нужен GCC 9.3.0; Я не нашел репозиторий Centos7, поэтому установил его сам.
mkdir gcc-build && cd gcc-build && GCC_VERSION=9.3.0 && wget https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.gz && tar xzvf gcc-${GCC_VERSION}.tar.gz && mkdir obj.gcc-${GCC_VERSION} && cd gcc-${GCC_VERSION} && ./contrib/download_prerequisites && cd ../obj.gcc-${GCC_VERSION} && ../gcc-${GCC_VERSION}/configure — disable-multilib — enable-languages=c,c++&& make -j 3 && make install
Нам нужна версия cmake-3.19. По умолчанию используется меньшая версия. Нам нужна версия 3.19 cmake для установки тритона
wget https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8.tar.gz && tar -xf cmake-3.19.8.tar.gz && cd cmake-3.19 .8 && ./bootstrap && make && make install
Вам требуется re2 последней версии. Скачайте и установите его.
git clone https://github.com/google/re2.git && cd re2 && make && make test && make install && make
git проверить код тритона. Перейти в ветку r21.04
git clone https://github.com/triton-inference-server/server.git && cd server && git checkout -b r21.04 origin/r21.04
Установите тритон с помощью скрипта сборки:
./build.py — cmake-dir=/server/build‹это путь к каталогу сборки внутри родительского каталога кода tritonserver› — build-dir=/tmp/citritonbuild — no-container-build — endpoint=http — endpoint =grpc — repo-tag=common:r21.04 — repo-tag=core:r21.04 — repo-tag=backend:r21.04 — repo-tag=firstparty:r21.04 — backend=tensorflow1:r21.04 — включить-логирование — включить-статистику — включить-трассировку
Нам нужен glib версии 2.29. По умолчанию Centos rhel7 имеет версию 2.17.
нам нужен make-4.3 для установки glib 2.29, поэтому мы загружаем и устанавливаем версию make-4.3. Версия по умолчанию меньше в centos7.
wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz && tar xf make-4.3.tar.gz && cd make-4.3 && ./configure — prefix=/usr/local && сделать && сделать установить
Хорошо удалить старую версию, а затем загрузить и установить glib2.29.
ням удалить сделать
wget https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz && tar xf glibc-2.29.tar.gz && cd glibc-2.29 && mkdir glibc-build && cd glibc-build && ../configure — префикс=/usr && /usr/local/bin/make && /usr/local/bin/make install
Каталог /tmp/citritonbuild содержит установку бэкенда triton и pytorch. Переместите каталог /tmp/citritonbuild/opt/tritonserver в каталог /opt
cp -r /tmp/citritonbuild/opt/tritonserver /opt
Задайте путь:
export PATH=$PATH:/opt/tritonserver/bin
Если вы не хотите делать это самостоятельно, загрузите этот образ Docker с Docker Hub.
https://hub.docker.com/repository/docker/chandramohanmeena/centos7-tritonserver-tensorflow