GPU 사용

이 페이지에서는 GPU 사용하여 Dataflow에서 Apache Beam 파이프라인을 실행하는 방법을 설명합니다. GPU를 사용하는 작업에는 Dataflow 가격 책정 페이지에 명시된 대로 요금이 청구됩니다.

Dataflow에서 GPU를 사용하는 방법에 대한 상세 정보는 GPU에 대한 Dataflow 지원을 참조하세요. GPU를 사용하여 파이프라인을 빌드하기 위한 개발자 워크플로는 GPU를 사용한 개발을 참조하세요.

Apache Beam 노트북 사용

Dataflow에서 GPU를 사용하여 실행하려는 파이프라인이 이미 있으면 이 섹션을 건너뛰어도 됩니다.

Apache Beam 노트북은 개발 환경을 설정하지 않고도 GPU를 사용하여 파이프라인을 프로토타입으로 만들고 반복적으로 개발할 수 있는 편리한 방법을 제공합니다. 시작하려면 Apache Beam 노트북으로 개발 가이드를 읽고, Apache Beam 노트북 인스턴스를 실행하고, 노트북 GPU 사용 Apache Beam을 참조하세요.

GPU 할당량 프로비저닝

GPU 기기에는 Google Cloud 프로젝트의 할당량 가용성이 적용됩니다. 원하는 리전에서 GPU 할당량을 요청합니다.

GPU 드라이버 설치

worker_accelerator 옵션에 install-nvidia-driver를 추가하여 작업자에 NVIDIA 드라이버를 설치하도록 Dataflow에 지시합니다. install-nvidia-driver 옵션이 지정되면 Dataflow는 Container-Optimized OS에서 제공하는 cos-extensions 유틸리티를 사용하여 Dataflow 작업자에 NVIDIA 드라이버를 설치합니다. install-nvidia-driver를 지정하면 사용자는 NVIDIA 라이선스 계약에 동의하는 것으로 간주됩니다.

NVIDIA 드라이버 설치 프로그램에서 제공하는 바이너리와 라이브러리는 /usr/local/nvidia/의 파이프라인 사용자 코드를 실행하는 컨테이너에 마운트됩니다.

GPU 드라이버 버전은 현재 Dataflow에서 사용되는 Container-Optimized OS 버전에 따라 다릅니다. 특정 Dataflow 작업의 GPU 드라이버 버전을 확인하려면 작업의 Dataflow 단계 로그에서 GPU driver를 검색합니다.

커스텀 컨테이너 이미지 빌드

GPU와 상호작용하려면 GPU 가속 라이브러리CUDA Toolkit과 같은 NVIDIA 소프트웨어가 추가로 필요할 수 있습니다. 사용자 코드를 실행하는 Docker 컨테이너에 이러한 라이브러리를 제공합니다.

Apache Beam SDK 컨테이너 이미지 계약을 충족하며 필수 GPU 라이브러리가 있는 이미지를 제공하여 컨테이너 이미지를 맞춤설정할 수 있습니다.

커스텀 컨테이너 이미지를 제공하려면 Dataflow Runner v2를 사용하고 worker_harness_container_image 파이프라인 옵션을 사용하여 컨테이너 이미지를 제공합니다. Apache Beam 2.30.0 이상을 사용하는 경우 편의를 위해 더 짧은 옵션 이름 sdk_container_image를 사용할 수 있습니다. 자세한 내용은 커스텀 컨테이너 사용을 참조하세요.

접근 방법 1. GPU 사용을 위해 구성된 기존 이미지 사용

GPU 사용을 위해 사전 구성된 기존 기본 이미지에서 Apache Beam SDK 컨테이너 계약을 충족하는 Docker 이미지를 빌드할 수 있습니다. 예를 들어 TensorFlow Docker 이미지NVIDIA 컨테이너 이미지는 GPU용으로 사전 구성됩니다.

Python 3.6을 사용하여 TensorFlow Docker 이미지를 기반으로 빌드하는 샘플 Dockerfile은 다음과 같습니다.

ARG BASE=tensorflow/tensorflow:2.5.0-gpu
FROM $BASE

# Check that the chosen base image provides the expected version of Python interpreter.
ARG PY_VERSION=3.6
RUN [[ $PY_VERSION == `python -c 'import sys; print("%s.%s" % sys.version_info[0:2])'` ]] \
   || { echo "Could not find Python interpreter or Python version is different from ${PY_VERSION}"; exit 1; }

RUN pip install --upgrade pip \
    && pip install --no-cache-dir apache-beam[gcp]==2.29.0 \
    # Verify that there are no conflicting dependencies.
    && pip check

# Copy the Apache Beam worker dependencies from the Beam Python 3.6 SDK image.
COPY --from=apache/beam_python3.6_sdk:2.29.0 /opt/apache/beam /opt/apache/beam

# Apache Beam worker expects pip at /usr/local/bin/pip by default.
# Some images have pip in a different location. If necessary, make a symlink.
# This line can be omitted in Beam 2.30.0 and later versions.
RUN [[ `which pip` == "/usr/local/bin/pip" ]] || ln -s `which pip` /usr/local/bin/pip

# Set the entrypoint to Apache Beam SDK worker launcher.
ENTRYPOINT [ "/opt/apache/beam/boot" ]

TensorFlow Docker 이미지를 사용할 때 TensorFlow 2.5.0 이상을 사용합니다. 이전 TensorFlow Docker 이미지는 tensorflow 패키지 대신 tensorflow-gpu 패키지를 설치합니다. 이러한 차이는 TensorFlow 2.1.0 출시 이후 중요하지 않지만 tfx와 같은 일부 다운스트림 패키지에는 tensorflow 패키지가 필요합니다.

컨테이너가 크면 작업자 시작 시간이 느려집니다. Deep Learning Containers와 같은 컨테이너를 사용할 때 이러한 성능 변화가 나타날 수 있습니다.

특정 Python 버전 설치

Python 버전에 대한 엄격한 요구사항이 있는 경우 필수 GPU 라이브러리가 있는 NVIDIA 기본 이미지에서 이미지를 빌드한 다음 Python 인터프리터를 설치할 수 있습니다.

다음 예시에서는 Python 인터프리터를 포함하지 않는 CUDA 컨테이너 이미지 카탈로그에서 NVIDIA 이미지를 선택하는 경우를 보여줍니다. 이 예를 조정하여 Python 3 및 pip의 원하는 버전을 설치할 수 있습니다. 이 예시에서는 TensorFlow를 사용합니다. 따라서 이미지를 선택할 때 기본 이미지의 CUDA 및 cuDNN 버전이 TensorFlow 버전의 요구사항을 충족합니다.

샘플 Dockerfile은 다음과 같습니다.

# Select an NVIDIA base image with desired GPU stack from https://ngc.nvidia.com/catalog/containers/nvidia:cuda

FROM nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04

RUN \
    # Add Deadsnakes repository that has a variety of Python packages for Ubuntu.
    # See: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776 \
    && echo "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal main" >> /etc/apt/sources.list.d/custom.list \
    && echo "deb-src http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal main" >> /etc/apt/sources.list.d/custom.list \
    && apt-get update \
    && apt-get install -y curl \
        python3.8 \
        # With python3.8 package, distutils need to be installed separately.
        python3-distutils \
    && rm -rf /var/lib/apt/lists/* \
    && update-alternatives --install /usr/bin/python python /usr/bin/python3.8 10 \
    && curl https://bootstrap.pypa.io/get-pip.py | python \
    && pip install --upgrade pip \
    # Install Apache Beam and Python packages that will interact with GPUs.
    && pip install --no-cache-dir apache-beam[gcp]==2.29.0 tensorflow==2.4.0 \
    # Verify that there are no conflicting dependencies.
    && pip check

# Copy the Apache Beam worker dependencies from the Beam Python 3.8 SDK image.
COPY --from=apache/beam_python3.8_sdk:2.29.0 /opt/apache/beam /opt/apache/beam

# Set the entrypoint to Apache Beam SDK worker launcher.
ENTRYPOINT [ "/opt/apache/beam/boot" ]

일부 OS 분포에서는 OS 패키지 관리자를 사용하여 특정 Python 버전을 설치하는 것이 어려울 수 있습니다. 이 경우 Miniconda 또는 pyenv와 같은 도구를 사용하여 Python 인터프리터를 설치할 수 있습니다.

샘플 Dockerfile은 다음과 같습니다.

FROM nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04

# The Python version of the Dockerfile must match the Python version you use
# to launch the Dataflow job.

ARG PYTHON_VERSION=3.8

# Update PATH so we find our new Conda and Python installations.
ENV PATH=/opt/python/bin:/opt/conda/bin:$PATH

RUN apt-get update \
    && apt-get install -y wget \
    && rm -rf /var/lib/apt/lists/* \
    # The NVIDIA image doesn't come with Python pre-installed.
    # We use Miniconda to install the Python version of our choice.
    && wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
    && bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \
    && rm Miniconda3-latest-Linux-x86_64.sh \
    # Create a new Python environment with desired version, and install pip.
    && conda create -y -p /opt/python python=$PYTHON_VERSION pip \
    # Remove unused Conda packages, install necessary Python packages via pip
    # to avoid mixing packages from pip and Conda.
    && conda clean -y --all --force-pkgs-dirs \
    && pip install --upgrade pip \
    # Install Apache Beam and Python packages that will interact with GPUs.
    && pip install --no-cache-dir apache-beam[gcp]==2.29.0 tensorflow==2.4.0 \
    # Verify that there are no conflicting dependencies.
    && pip check \
    # Apache Beam worker expects pip at /usr/local/bin/pip by default.
    # You can omit this line when using Beam 2.30.0 and later versions.
    && ln -s $(which pip) /usr/local/bin/pip

# Copy the Apache Beam worker dependencies from the Apache Beam SDK for Python 3.8 image.
COPY --from=apache/beam_python3.8_sdk:2.29.0 /opt/apache/beam /opt/apache/beam

# Set the entrypoint to Apache Beam SDK worker launcher.
ENTRYPOINT [ "/opt/apache/beam/boot" ]

접근 방법 2. Apache Beam 컨테이너 이미지 사용

사전 구성된 이미지를 사용하지 않고 GPU 사용량에 맞게 컨테이너 이미지를 구성할 수 있습니다. 사전 구성된 이미지가 적합하지 않으면 이 접근 방법이 권장되지 않습니다. 고유 컨테이너 이미지를 설정하려면 호환되는 라이브러리를 선택하고 해당 실행 환경을 구성해야 합니다.

샘플 Dockerfile은 다음과 같습니다.

FROM apache/beam_python3.7_sdk:2.24.0
ENV INSTALLER_DIR="/tmp/installer_dir"

# The base image has TensorFlow 2.2.0, which requires CUDA 10.1 and cuDNN 7.6.
# You can download cuDNN from NVIDIA website
# https://developer.nvidia.com/cudnn
COPY cudnn-10.1-linux-x64-v7.6.0.64.tgz $INSTALLER_DIR/cudnn.tgz
RUN \
    # Download CUDA toolkit.
    wget -q -O $INSTALLER_DIR/cuda.run https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run && \

    # Install CUDA toolkit. Print logs upon failure.
    sh $INSTALLER_DIR/cuda.run --toolkit --silent || (egrep '^\[ERROR\]' /var/log/cuda-installer.log && exit 1) && \
    # Install cuDNN.
    mkdir $INSTALLER_DIR/cudnn && \
    tar xvfz $INSTALLER_DIR/cudnn.tgz -C $INSTALLER_DIR/cudnn && \

    cp $INSTALLER_DIR/cudnn/cuda/include/cudnn*.h /usr/local/cuda/include && \
    cp $INSTALLER_DIR/cudnn/cuda/lib64/libcudnn* /usr/local/cuda/lib64 && \
    chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* && \
    rm -rf $INSTALLER_DIR

# A volume with GPU drivers will be mounted at runtime at /usr/local/nvidia.
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib64:/usr/local/cuda/lib64

/usr/local/nvidia/lib64의 드라이버 라이브러리는 LD_LIBRARY_PATH 환경 변수를 구성하여 컨테이너에서 공유 라이브러리로 검색할 수 있어야 합니다.

TensorFlow를 사용하는 경우 CUDA Toolkit과 cuDNN 버전의 호환 가능한 조합을 선택해야 합니다. 자세한 내용은 소프트웨어 요구사항테스트된 빌드 구성을 참조하세요.

Dataflow 작업자의 GPU 유형 및 GPU 수 선택

Dataflow를 사용하면 worker_accelerator 매개변수로 Dataflow 작업자에 연결할 GPU 유형과 수를 구성할 수 있습니다. 사용 사례 및 파이프라인에서 GPU를 활용하려는 방법에 따라 GPU 유형과 수를 선택할 수 있습니다.

Dataflow에서 지원되는 GPU 유형은 다음과 같습니다.

  • NVIDIA® A100
  • NVIDIA® Tesla® T4
  • NVIDIA® Tesla® P4
  • NVIDIA® Tesla® V100
  • NVIDIA® Tesla® P100
  • NVIDIA® Tesla® K80

성능 데이터를 포함하여 각 GPU 유형에 대한 자세한 내용은 GPU 비교 차트를 참조하세요.

GPU로 작업 실행

GPU로 Dataflow 작업을 실행하려면 다음 명령어를 사용하세요.

Python

python PIPELINE \
  --runner "DataflowRunner" \
  --project "PROJECT" \
  --temp_location "gs://BUCKET/tmp" \
  --region "REGION" \
  --worker_harness_container_image "IMAGE" \
  --disk_size_gb "DISK_SIZE_GB" \
  --dataflow_service_options "worker_accelerator=type:GPU_TYPE;count:GPU_COUNT;install-nvidia-driver" \
  --experiments "use_runner_v2"

다음을 바꿉니다.

  • PIPELINE: 파이프라인 소스 코드 파일입니다.
  • PROJECT: Google Cloud 프로젝트 이름입니다.
  • BUCKET: Cloud Storage 버킷입니다.
  • REGION: 리전 엔드포인트입니다(예: us-central1).
  • IMAGE: Docker 이미지의 Container Registry 경로입니다.
  • DISK_SIZE_GB: 각 작업자 VM의 부팅 디스크 크기입니다(예: 50).
  • GPU_TYPE: 사용 가능한 GPU 유형입니다(예: nvidia-tesla-t4).
  • GPU_COUNT: 각 작업자 VM에 연결할 GPU 수입니다(예: 1).

GPU로 Dataflow 작업을 실행할 때는 다음과 같은 사항을 고려해야 합니다.

  • GPU를 사용하여 작업에 커스텀 컨테이너를 제공하려면 Dataflow Runner v2를 사용해야 합니다.
  • GPU_TYPE을 지원하는 영역이 포함된 REGION을 선택합니다. Dataflow는 이 리전의 GPU를 사용하여 영역에 작업자를 자동으로 할당합니다.
  • GPU 컨테이너가 일반적으로 크기 때문에 디스크 공간 부족을 방지하기 위해 기본 부팅 디스크 크기를 50GB 이상으로 늘립니다.

TensorFlow를 사용하는 경우 파이프라인 옵션 --experiments=no_use_multiple_sdk_containers를 설정하거나 vCPU가 하나인 작업자를 사용하여 단일 프로세스를 사용하도록 작업자를 구성하는 것이 좋습니다. n1-standard-1이 충분한 메모리를 제공하지 않는 경우 확장 메모리에 대한 커스텀 머신 유형(예: n1-custom-1-NUMBER_OF_MB 또는 n1-custom-1-NUMBER_OF_MB-ext)을 고려할 수 있습니다. 자세한 내용은 GPU 및 작업자 동시 로드를 참조하세요.

Dataflow 작업 확인

작업에서 GPU가 있는 작업자 VM을 사용하는지 확인하려면 다음 단계를 따르세요.

  1. 작업의 Dataflow 작업자가 시작되었는지 확인합니다.
  2. 작업이 실행되는 동안 작업과 연결된 작업자 VM을 찾습니다.
    1. 제품 및 리소스 검색 프롬프트에 작업 ID를 붙여넣습니다.
    2. 작업에 연결된 Compute Engine VM 인스턴스를 선택합니다.

Compute Engine 콘솔에서 실행 중인 모든 인스턴스의 목록을 확인할 수도 있습니다.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. VM 인스턴스 세부정보를 클릭합니다.

  3. 세부정보 페이지에 GPU 섹션이 있고 GPU가 연결되어 있는지 확인합니다.

작업이 GPU로 시작되지 않은 경우 worker_accelerator 서비스 옵션이 올바르게 구성되어 있고 dataflow_service_options의 Dataflow 모니터링 인터페이스에 표시되는지 확인합니다. 가속기 메타데이터에서 토큰 순서는 중요합니다.

예를 들어 Dataflow 모니터링 인터페이스의 dataflow_service_options 파이프라인 옵션은 다음과 같습니다.

['worker_accelerator=type:nvidia-tesla-t4;count:1;install-nvidia-driver', ...]

GPU 사용률 보기

작업자 VM의 GPU 사용률을 보려면 다음 단계를 수행합니다.

  1. Google Cloud Console에서 Monitoring으로 이동하거나 다음 버튼을 사용합니다.

    Monitoring으로 이동

  2. Monitoring 탐색창에서 측정항목 탐색기를 클릭합니다.

  3. 모니터링하려는 측정항목에 따라 Dataflow Job을 리소스 유형으로 지정하고 GPU utilization 또는 GPU memory utilization을 측정항목으로 지정합니다.

자세한 내용은 측정항목 탐색기 가이드를 참조하세요.

Dataflow Prime으로 GPU 사용

Dataflow Prime을 사용하면 파이프라인의 특정 단계에 대해 가속기를 요청할 수 있습니다. Dataflow Prime으로 GPU를 사용하려면 --dataflow-service_options=worker_accelerator 파이프라인 옵션을 사용하지 마세요. 대신 accelerator 리소스 힌트로 GPU를 요청합니다. 자세한 내용은 리소스 힌트 사용을 참조하세요.

Dataflow 작업 문제 해결

GPU로 Dataflow 작업을 실행하는 데 문제가 발생하면 다음 문제 해결 단계를 따르세요.

작업자가 시작되지 않음

작업이 중단되어 Dataflow 작업자가 데이터 처리를 시작하지 않으면 Dataflow에서 커스텀 컨테이너 사용과 관련된 문제일 수 있습니다. 자세한 내용은 커스텀 컨테이너 문제 해결 가이드를 참조하세요.

Python 사용자는 다음 조건을 충족하는지 확인합니다.

  • 컨테이너 이미지의 Python 인터프리터 부 버전은 파이프라인을 시작할 때 사용하는 것과 동일한 버전이어야 합니다. 불일치가 있으면 apache_beam/internal/pickler.py와 관련된 스택 추적에서 SystemError: unknown opcode와 같은 오류가 표시될 수 있습니다.
  • Apache Beam SDK 2.29.0 이하를 사용하는 경우 /usr/local/bin/pip의 이미지에서 pip에 액세스할 수 있어야 합니다.

커스텀 이미지를 처음 사용하는 경우 맞춤설정을 최소의 작업 구성으로 줄이는 것이 좋습니다. 이 페이지의 예시에 제공된 샘플 커스텀 컨테이너 이미지를 사용합니다. GPU를 요청하지 않고 이 컨테이너 이미지로 간단한 Dataflow 파이프라인을 실행할 수 있는지 확인합니다. 그런 다음 솔루션을 반복합니다.

작업자에 컨테이너 이미지를 다운로드할 디스크 공간이 충분한지 확인합니다. 필요한 경우 디스크 크기를 조정합니다. 대용량 이미지는 다운로드하는 데 시간이 오래 걸리므로 작업자 시작 시간이 늘어납니다.

시작할 때 작업이 즉시 실패함

ZONE_RESOURCE_POOL_EXHAUSTED 또는 ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS 오류가 발생하면 다음 단계를 수행할 수 있습니다.

  • Dataflow가 최적의 영역을 선택하도록 작업자 영역을 지정하지 않습니다.

  • 다른 영역에서 또는 다른 가속기 유형으로 파이프라인을 시작합니다.

런타임 시 작업 실패

런타임에 작업이 실패하면 작업자 머신 및 GPU에 메모리 부족(OOM) 오류가 있는지 확인합니다. GPU OOM 오류는 작업자 로그에서 cudaErrorMemoryAllocation out of memory 오류로 나타날 수 있습니다. TensorFlow를 사용하는 경우 하나의 GPU 기기에 액세스하기 위해 TensorFlow 프로세스를 하나만 사용하는지 확인합니다. 자세한 내용은 GPU 및 작업자 동시 로드를 참조하세요.

GPU 사용 없음

파이프라인이 성공적으로 실행되지만 GPU가 사용되지 않는 경우 다음을 확인합니다.

  • 컨테이너 이미지에 설치된 NVIDIA 라이브러리는 파이프라인 사용자 코드 및 여기에 사용되는 라이브러리의 요구사항과 일치해야 합니다.
  • 컨테이너 이미지에 설치된 NVIDIA 라이브러리는 공유 라이브러리로 액세스할 수 있어야 합니다.

기기를 사용할 수 없다면 호환되지 않는 소프트웨어 구성을 사용하고 있는 것일 수 있습니다. 예를 들어 TensorFlow를 사용하는 경우 TensorFlow, cuDNN 버전, CUDA Toolkit 버전의 호환 가능한 조합이 있는지 확인합니다.

이미지 구성을 확인하려면 GPU를 사용할 수 있고 작업자가 액세스할 수 있는지 확인하는 간단한 파이프라인을 실행하는 것이 좋습니다.

독립형 VM으로 디버깅

적합한 컨테이너 이미지를 설계하고 이를 반복하는 동안, 독립형 VM에서 컨테이너 이미지를 시험해 보면 피드백 루프를 더 빠르게 줄일 수 있습니다.

Container-Optimized OS에서 GPU를 실행하는 Compute Engine VM을 만들고, 드라이버를 설치하고, 다음과 같이 컨테이너를 시작하여 독립형 VM에서 GPU로 커스텀 컨테이너를 디버깅할 수 있습니다.

  1. VM 인스턴스 만듭니다.

    gcloud compute instances create INSTANCE_NAME \
      --project "PROJECT" \
      --image-family cos-stable \
      --image-project=cos-cloud  \
      --zone=us-central1-f \
      --accelerator type=nvidia-tesla-t4,count=1 \
      --maintenance-policy TERMINATE \
      --restart-on-failure  \
      --boot-disk-size=200G \
      --scopes=cloud-platform
    
  2. ssh를 사용하여 VM에 연결합니다.

    gcloud compute ssh INSTANCE_NAME --project "PROJECT"
    
  3. GPU 드라이버를 설치합니다. ssh를 사용하여 VM에 연결한 후 VM에서 다음 명령어를 실행합니다.

    # Run these commands on the virtual machine
    cos-extensions install gpu
    sudo mount --bind /var/lib/nvidia /var/lib/nvidia
    sudo mount -o remount,exec /var/lib/nvidia
    /var/lib/nvidia/bin/nvidia-smi
    
  4. 커스텀 컨테이너를 시작합니다.

    Apache Beam SDK 컨테이너는 /opt/apache/beam/boot 진입점을 사용합니다. 디버깅을 위해 다른 진입점을 사용하여 컨테이너를 수동으로 시작할 수 있습니다.

    docker-credential-gcr configure-docker
    docker run --rm \
      -it \
      --entrypoint=/bin/bash \
      --volume /var/lib/nvidia/lib64:/usr/local/nvidia/lib64 \
      --volume /var/lib/nvidia/bin:/usr/local/nvidia/bin \
      --privileged \
      IMAGE
    

    IMAGE를 Docker 이미지의 Container Registry 경로로 바꿉니다.

  5. 컨테이너에 설치된 GPU 라이브러리가 GPU 기기에 액세스할 수 있는지 확인합니다.

    TensorFlow를 사용하는 경우 다음을 사용하여 Python 인터프리터에서 사용 가능한 기기를 출력할 수 있습니다.

    >>> import tensorflow as tf
    >>> print(tf.config.list_physical_devices("GPU"))
    

    PyTorch를 사용하는 경우 다음을 사용하여 Python 인터프리터에 사용 가능한 기기를 조사할 수 있습니다.

    >>> import torch
    >>> print(torch.cuda.is_available())
    >>> print(torch.cuda.device_count())
    >>> print(torch.cuda.get_device_name(0))
    

파이프라인을 반복 실행하려면 Direct Runner에서 파이프라인을 실행합니다. 또한 이 환경으로부터 Dataflow Runner에서 파이프라인을 실행할 수도 있습니다.

자세한 내용은 다음을 참조하세요.

다음 단계