TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Cuenta con un ecosistema integral y flexible de herramientas, bibliotecas y recursos de la comunidad que permite a los investigadores impulsar la vanguardia en el aprendizaje automático, y a los desarrolladores crear e implementar fácilmente aplicaciones basadas en el aprendizaje automático.

TensorFlow se puede utilizar en una variedad de tareas, pero tiene un enfoque particular en capacitación e inferencia de redes neuronales profundas. La plataforma es una biblioteca matemática simbólica basada en el flujo de datos y la programación diferenciable.

Instalar TensorFlow

TensorFlow es el marco de aprendizaje automático que se utiliza con vSphere Bitfusion.

Instale TensorFlow mediante pip3, que es el instalador del paquete para Python 3. El procedimiento se aplica a Ubuntu 20.04, CentOS 8 y Red Hat Linux 8.

Requisitos previos

  • Compruebe que ha instalado un cliente de vSphere Bitfusion.
  • Verifique que haya instalado NVIDIA CUDA y NVIDIA cuDNN en su sistema operativo Linux.

Procedimiento

  1. Si instala TensorFlow en Ubuntu 20.04, instale otros recursos de Python.
    sudo apt-get -y install python3-testresources
  2. Instale pip3 ejecutando la secuencia de comandos correspondiente a su distribución y versión de Linux.
    • Ubuntu 20.04
      sudo apt-get install -y python3-pip
    • CentOS 8 y Red Hat Linux 8
      sudo yum install -y python36-devel
      sudo pip3 install -U pip setuptools
  3. Instale TensorFlow mediante el comando pip3 install.
    sudo pip3 install tensorflow-gpu==2.4

Instalar bancos de pruebas de TensorFlow

Los bancos de pruebas de TensorFlow son aplicaciones de aprendizaje automático de código abierto que se diseñan para probar el rendimiento del marco de TensorFlow.

Cree ramas y descargue los bancos de pruebas de TensorFlow en el entorno local. En Git, una rama es una línea de desarrollo independiente.

Requisitos previos

Compruebe que haya instalado TensorFlow.

Procedimiento

  1. Instale git.
    • Ubuntu 20.04
      sudo apt install -y git
    • CentOS 8 y Red Hat Linux 8
      sudo yum -y update
      sudo yum install git
  2. Cree el directorio ~/bitfusion y conviértalo en su directorio de trabajo.
    mkdir -p bitfusion
    cd ~/bitfusion
  3. Clone el repositorio de Git de los bancos de pruebas de Tensorflow en su entorno local.
    git clone https://github.com/tensorflow/benchmarks.git
  4. Desplácese hasta el directorio de bancos de pruebas y enumere las ramas del repositorio.
    cd benchmarks
    git branch -a
    master
    remotes/origin/HEAD -> origin/master 
    ...
    remotes/origin/cnn_tf_v1.13_compatible
    ...
    remotes/origin/cnn_tf_v2.1_compatible
    ...
  5. Realice una retirada de Git y enumere el repositorio de bancos de pruebas de TensorFlow.
    git checkout cnn_tf_v2.1_compatible
    Branch cnn_tf_v2.1_compatible set up to track remote branch cnn_tf_v2.1_compatible
    from origin.
    Switched to a new branch ‘cnn_tf_v2.1_compatible’
    git branch
    cnn_tf_tf_v2.1_compatible
    master

Ejecutar bancos de pruebas de TensorFlow

Puede ejecutar los bancos de prueba de TensorFlow para probar el rendimiento de su implementación de vSphere Bitfusion y TensorFlow.

Al ejecutar los bancos de prueba de TensorFlow con diversas configuraciones, entenderá mejor cómo responden las cargas de trabajo de aprendizaje automático en su entorno de vSphere Bitfusion.

Procedimiento

  1. Para desplazarse al directorio ~/bitfusion/, ejecute cd ~/bitfusion/.
  2. Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando bitfusion run.
    Al ejecutar los comandos del ejemplo, se utiliza toda la memoria de una sola GPU y los datos de aprendizaje automático preinstalados en el directorio /data.
    bitfusion run -n 1 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --data_dir=/data \
    --data_name=imagenet \
    --use_fp16=False
  3. Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando bitfusion run con el parámetro -p 0.67.
    Al ejecutar los comandos del ejemplo, se utiliza el 67 % de la memoria de una sola GPU y los datos de aprendizaje automático preinstalados en el directorio /data. El parámetro -p 0.67 le permite ejecutar otro trabajo en el 33 % restante de la partición de memoria de la GPU.
    bitfusion run -n 1 -p 0.67 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --data_dir=/data \
    --data_name=imagenet \
    --use_fp16=False
  4. Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando bitfusion run con los datos sintetizados.
    Al ejecutar los comandos del ejemplo, se utiliza toda la memoria de una sola GPU y ningún dato de aprendizaje automático preinstalado. TensorFlow puede crear datos producidos con un conjunto simulado de imágenes.
    bitfusion run -n 1 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --use_fp16=False

Resultados

Ahora puede ejecutar los bancos de pruebas de TensorFlow con vSphere Bitfusion con las GPU compartidas desde un servidor remoto. Los bancos de pruebas admiten muchos modelos y parámetros para ayudarle a analizar un gran espacio dentro de la disciplina de aprendizaje automático. Para obtener más información, consulte Guía de usuario de VMware vSphere Bitfusion.