NVIDIA
Merlin PyTorch
Container
NVIDIA
Merlin PyTorch

The Merlin PyTorch container allows users to do preprocessing and feature engineering with NVTabular, and then train a deep-learning based recommender system model with PyTorch, and serve the trained model on Triton Inference Server.

  • LayerLabelCreated
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ENTRYPOINT
    /opt/nvidia/nvidia_entrypoint.sh
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4CMD
    /bin/bash
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4HEALTHCHECK
    &{["NONE"] "0s" "0s" "0s" '\x00'}
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4RUN
    CONTAINER=null HUGECTR_BACKEND_VER=main HUGECTR_DEV_MODE=false HUGECTR_HOME=/usr/local/hugectr HUGECTR_VER=main INSTALL_DISTRIBUTED_EMBEDDINGS=true INSTALL_HDFS=false TFDE_VER=v0.2 _CI_JOB_TOKEN= _HUGECTR_BACKEND_REPO=github.com/triton-inference-server/hugectr_backend.git _HUGECTR_REPO=github.com/NVIDIA-Merlin/HugeCTR.git if [[ ${CONTAINER} == *"tensorflow" ]]; then export LD_LIBRARY_PATH=/usr/local/hugectr/lib:$LD_LIBRARY_PATH LIBRARY_PATH=/usr/local/hugectr/lib:$LIBRARY_PATH SOK_COMPILE_UNIT_TEST=ON &&
      rm -rf /hugectr /distributed_embeddings &&
      if [ "$HUGECTR_DEV_MODE" == "false" ]; then git clone --branch ${HUGECTR_VER} --depth 1 https://${_HUGECTR_REPO} /hugectr &&
      pushd /hugectr &&
      pip install ninja &&
      git submodule update --init --recursive &&
      cd sparse_operation_kit &&
      python setup.py install &&
      cd ../hps_tf &&
      python setup.py install &&
      popd; fi &&
      if [ "$INSTALL_DISTRIBUTED_EMBEDDINGS" == "true" ]; then git clone https://github.com/NVIDIA-Merlin/distributed-embeddings.git /distributed_embeddings/ &&
      cd /distributed_embeddings &&
      git checkout ${TFDE_VER} &&
      git submodule update --init --recursive &&
      make pip_pkg &&
      pip install artifacts/*.whl &&
      make clean; fi; fi
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4RUN
    CONTAINER=null HUGECTR_BACKEND_VER=main HUGECTR_DEV_MODE=false HUGECTR_HOME=/usr/local/hugectr HUGECTR_VER=main INSTALL_DISTRIBUTED_EMBEDDINGS=true INSTALL_HDFS=false TFDE_VER=v0.2 _CI_JOB_TOKEN= _HUGECTR_BACKEND_REPO=github.com/triton-inference-server/hugectr_backend.git _HUGECTR_REPO=github.com/NVIDIA-Merlin/HugeCTR.git if [[ ${CONTAINER} == *"hugectr" ]]; then export HADOOP_HOME=/opt/hadoop &&
      export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root HDFS_DATANODE_USER=root YARN_RESOURCEMANAGER_USER=root YARN_NODEMANAGER_USER=root LIBHDFS_OPTS='-Djdk.lang.processReaperUseDefaultStackSize=true' UCX_ERROR_SIGNALS='' CLASSPATH=${CLASSPATH}: ${HADOOP_HOME}/etc/hadoop/*: ${HADOOP_HOME}/share/hadoop/common/*: ${HADOOP_HOME}/share/hadoop/common/lib/*: ${HADOOP_HOME}/share/hadoop/hdfs/*: ${HADOOP_HOME}/share/hadoop/hdfs/lib/*: ${HADOOP_HOME}/share/hadoop/mapreduce/*: ${HADOOP_HOME}/share/hadoop/yarn/*: ${HADOOP_HOME}/share/hadoop/yarn/lib/*; rm -rf /hugectr &&
      if [[ "${HUGECTR_DEV_MODE}" == "false" ]]; then git clone --branch ${HUGECTR_VER} --depth 1 https://${_CI_JOB_TOKEN}${_HUGECTR_REPO} /hugectr &&
      cd /hugectr &&
      git submodule update --init --recursive &&
      mkdir build &&
      cd build &&
      if [[ "${INSTALL_HDFS}" == "false" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DSM="60;61;70;75;80" -DENABLE_INFERENCE=ON .. ; else cmake -DCMAKE_BUILD_TYPE=Release -DSM="60;61;70;75;80" -DENABLE_INFERENCE=ON -DENABLE_HDFS=ON ..; fi &&
      make -j$(nproc) &&
      make install &&
      rm -rf ./* &&
      chmod +x ${HUGECTR_HOME}/bin/* ${HUGECTR_HOME}/lib/*.so; fi &&
      if [[ "${HUGECTR_DEV_MODE}" == "false" ]]; then cd /hugectr &&
      git submodule update --init --recursive &&
      rm -rf build &&
      mkdir build &&
      cd build &&
      LD_LIBRARY_PATH=/usr/local/cuda/lib64/stubs/:$LD_LIBRARY_PATH &&
      if [[ "${INSTALL_HDFS}" == "false" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DSM="60;61;70;75;80" -DENABLE_MULTINODES=ON .. ; else cmake -DCMAKE_BUILD_TYPE=Release -DSM="60;61;70;75;80" -DENABLE_MULTINODES=ON -DENABLE_HDFS=ON ..; fi &&
      make -j$(nproc) &&
      make install &&
      rm -rf ./* &&
      chmod +x ${HUGECTR_HOME}/bin/* ${HUGECTR_HOME}/lib/*.so &&
      cd ../onnx_converter &&
      python setup.py install; fi &&
      if [ "${HUGECTR_DEV_MODE}" == "false" ]; then git clone --branch ${HUGECTR_BACKEND_VER} --depth 1 https://${_CI_JOB_TOKEN}${_HUGECTR_BACKEND_REPO} /repos/hugectr_triton_backend &&
      mkdir /repos/hugectr_triton_backend/build &&
      cd /repos/hugectr_triton_backend/build &&
      cmake -DCMAKE_INSTALL_PREFIX:PATH=${HUGECTR_HOME} -DTRITON_COMMON_REPO_TAG="r${TRTOSS_VERSION}" -DTRITON_CORE_REPO_TAG="r${TRTOSS_VERSION}" -DTRITON_BACKEND_REPO_TAG="r${TRTOSS_VERSION}" .. &&
      make -j$(nproc) &&
      make install &&
      cd ../.. &&
      rm -rf hugectr_triton_backend &&
      chmod +x ${HUGECTR_HOME}/lib/*.so ${HUGECTR_HOME}/backends/hugectr/*.so; fi &&
      ln -s ${HUGECTR_HOME}/backends/hugectr /opt/tritonserver/backends/hugectr &&
      rm /usr/local/cuda/lib64/stubs/libcuda.so.1 &&
      rm -rf /repos /usr/local/share/jupyter/lab/staging/node_modules/marked /usr/local/share/jupyter/lab/staging/node_modules/node-fetch; fi
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4RUN
    CONTAINER=null HUGECTR_BACKEND_VER=main HUGECTR_DEV_MODE=false HUGECTR_HOME=/usr/local/hugectr HUGECTR_VER=main INSTALL_DISTRIBUTED_EMBEDDINGS=true INSTALL_HDFS=false TFDE_VER=v0.2 _CI_JOB_TOKEN= _HUGECTR_BACKEND_REPO=github.com/triton-inference-server/hugectr_backend.git _HUGECTR_REPO=github.com/NVIDIA-Merlin/HugeCTR.git if [[ ${CONTAINER} == *"hugectr" ]]; then ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1; fi
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ARG
    TFDE_VER=v0.2
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ARG
    INSTALL_DISTRIBUTED_EMBEDDINGS=true
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ARG
    HUGECTR_HOME=/usr/local/hugectr
    09/25/2024 6:31 AM UTC
    sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ARG
    HUGECTR_BACKEND_VER=main
    09/25/2024 6:31 AM UTC
    ...