Installieren von TensorFlow

Databricks Runtime für Machine Learning enthält TensorFlow. Die Version von TensorFlow, die in jeder Databricks Runtime ML Version installiert ist, finden Sie in den Versionshinweisen.

Wenn Sie TensorFlow verwenden möchten, empfiehlt Databricks, Databricks Runtime für Machine Learningzu verwenden. Wenn Sie jedoch Databricks Runtimeverwenden müssen, können Sie TensorFlow manuell installieren. Dieser Abschnitt enthält Anweisungen zum Installieren von TensorFlow auf Databricks Runtimeund zum Herabstufen der installierten Version auf Databricks Runtime für Machine Learning. Aufgrund von Paketabhängigkeiten können Kompatibilitätsprobleme mit anderen vorinstallierten Paketen auftreten. Nach der Installation können Sie die installierte Version überprüfen, indem Sie den folgenden Befehl in einem Python-Notebook ausführen:

import tensorflow as tf
print([tf.__version__, tf.test.is_gpu_available()])

Installieren von TensorFlow 2.4 unter Databricks Runtime 7.6

Azure Databricks empfiehlt die Verwendung von %pip magic-Befehlen zum Installieren von TensorFlow.

Das offizielle TensorFlow 2.4-Release basiert auf CUDA 11.0, das nicht mit CUDA 10.1 kompatibel ist, das in Databricks Runtime 7.0 ML und höher installiert ist.

Azure Databricks bietet einen benutzerdefinierten Build von TensorFlow 2.4.0, der mit CUDA 10.1 kompatibel ist. Verwenden Sie den folgenden GPU-Befehl, um ihn zu installieren.

CPU

%pip install tensorflow-cpu==2.4.*

GPU

%pip install "https://databricks-prod-cloudfront.cloud.databricks.com/artifacts/tensorflow/runtime-7.x/tensorflow-2.4.0-cp37-cp37m-linux_x86_64.whl"

Installieren von TensorFlow 2.3 unter Databricks Runtime 7.2

Azure Databricks empfiehlt die Verwendung von %pip magic-Befehlen zum Installieren von TensorFlow.

Führen Sie in einem Notebook Dies aus:

%pip install tensorflow-cpu==2.3.*

Installieren von TensorFlow 1.15 auf Databricks Runtime 7.2

Führen Sie in einem Notebook Dies aus:

%pip install tensorflow-cpu==1.15.*

Installieren von TensorFlow 2.3 auf Databricks Runtime 7.2 ML

Führen Sie in einem Notebook Dies aus:

CPU

%pip install tensorflow-cpu==2.3.*

GPU

%pip install tensorflow-gpu==2.3.*

Installieren von TensorFlow 1.15 auf Databricks Runtime 7.2 ML

Führen Sie in einem Notebook Dies aus:

CPU

%pip install tensorflow-cpu==1.15.*

GPU

Das offizielle TensorFlow 1.15-Release basiert auf CUDA 10.0, das nicht mit CUDA 10.1 kompatibel ist, das in Databricks Runtime 7.0 ML und höher installiert ist.

Azure Databricks bietet einen benutzerdefinierten Build von TensorFlow 1.15.3, der mit CUDA 10.1 kompatibel ist. Verwenden Sie den folgenden Befehl, um sie zu installieren.

%pip install https://databricks-prod-cloudfront.cloud.databricks.com/artifacts/tensorflow/runtime-7.x/tensorflow-1.15.3-cp37-cp37m-linux_x86_64.whl

Installieren Sie TensorFlow 2.3 unter Databricks Runtime 5.5 LTS für Machine Learning

Init script for clusters on (Init-Skript für Cluster auf:

CPU

#!/bin/bash

set -e

/databricks/python/bin/python -V
. /databricks/conda/etc/profile.d/conda.sh
conda activate /databricks/python

pip install --upgrade pip
pip install tensorflow-cpu==2.3.* setuptools==41.* grpcio==1.24.*

GPU

#!/bin/bash

set -e

apt-get remove -y --auto-remove cuda-toolkit-10-0
apt-get update
apt-get install -y --no-install-recommends --allow-downgrades \
  libnccl2=2.4.8-1+cuda10.1 \
  libnccl-dev=2.4.8-1+cuda10.1 \
  cuda-libraries-10-1 \
  libcudnn7=7.6.4.38-1+cuda10.1 \
  libcudnn7-dev=7.6.4.38-1+cuda10.1 \
  libcublas10=10.2.1.243-1 \
  libcublas-dev=10.2.1.243-1 \
  cuda-libraries-dev-10-1 \
  cuda-compiler-10-1
ln -sfn cuda-10.1 /usr/local/cuda

/databricks/python/bin/python -V
. /databricks/conda/etc/profile.d/conda.sh
conda activate /databricks/python

pip install --upgrade pip
pip install tensorflow==2.3.* setuptools==41.* grpcio==1.24.*

Installieren von TensorFlow 2.3 unter Databricks Runtime 5.5 LTS

Init script for clusters on (Init-Skript für Cluster auf:

CPU

#!/bin/bash

set -e

/databricks/python/bin/python -V
/databricks/python/bin/pip install tensorflow-cpu==2.3.* setuptools==41.* pyasn1==0.4.6
/databricks/python/bin/pip uninstall -y numpy
rm -rf /databricks/python/lib/python3.5/site-packages/numpy
/databricks/python/bin/pip install numpy==1.18.4

GPU

#!/bin/bash

set -e

apt-get update
apt-get install -y gnupg-curl

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.1.243-1_amd64.deb
dpkg -i cuda-repo-ubuntu1604_10.1.243-1_amd64.deb
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
dpkg -i nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb

apt-get update
apt-get install -y --no-install-recommends --allow-downgrades \
  libnccl2=2.4.8-1+cuda10.1 \
  libnccl-dev=2.4.8-1+cuda10.1 \
  cuda-libraries-10-1 \
  libcudnn7=7.6.4.38-1+cuda10.1 \
  libcudnn7-dev=7.6.4.38-1+cuda10.1 \
  libcublas10=10.2.1.243-1 \
  libcublas-dev=10.2.1.243-1 \
  cuda-libraries-dev-10-1 \
  cuda-compiler-10-1
ln -sfn cuda-10.1 /usr/local/cuda

/databricks/python/bin/python -V
/databricks/python/bin/pip install tensorflow==2.3.* setuptools==41.*
/databricks/python/bin/pip uninstall -y numpy
rm -rf /databricks/python/lib/python3.5/site-packages/numpy
/databricks/python/bin/pip install numpy==1.18.4

TensorFlow 2 : Bekannte Probleme

TensorFlow 2 weist eine bekannte Inkompatibilität mit Python-Pickling auf. Dies kann vorkommen, wenn Sie PySpark, HorovodRunner,Hyperoptoder andere Pakete verwenden, die von Pickling abhängen. Die Problemumgehung besteht darin, TensorFlow-Module explizit in Ihre Funktionen zu importieren. Beispiel:

import tensorflow as tf

def bad_func(_):
  tf.keras.Sequential()

# You might see an error.
sc.parallelize(range(0)).foreach(bad_func)

def good_func(_):
  import tensorflow as tf
  tf.keras.some_func

# No error.
sc.parallelize(range(0)).foreach(good_func)

Installieren Sie TensorFlow 1.15 unter Databricks Runtime 5.5 LTS für Machine Learning

Azure Databricks empfiehlt die Verwendung eines Init-Skripts, um TensorFlow 1.15 auf Databricks Runtime 5.5 LTS für Machine Learning zu installieren.

Init script for clusters on (Init-Skript für Cluster auf:

CPU

#!/bin/bash

set -e

/databricks/python/bin/python -V
. /databricks/conda/etc/profile.d/conda.sh
conda install -y conda=4.6
conda activate /databricks/python

conda install -y tensorflow-mkl=1.15 setuptools=41

GPU

#!/bin/bash

set -e

/databricks/python/bin/python -V
. /databricks/conda/etc/profile.d/conda.sh
conda install -y conda=4.6
conda activate /databricks/python

conda install -y tensorflow-gpu=1.15 setuptools=41

Installieren von TensorFlow 1.15 unter Databricks Runtime 5.5 LTS

Azure Databricks empfiehlt die Verwendung eines Init-Skripts, um TensorFlow 1.15 auf Databricks Runtime 5.5 LTS zu installieren.

Init script for clusters on (Init-Skript für Cluster auf:

CPU

#!/bin/bash

set -e

/databricks/python/bin/python -V
/databricks/python/bin/pip install tensorflow-cpu==1.15.* setuptools==41.*

GPU

#!/bin/bash

set -e

apt-get update
apt-get install -y gnupg-curl

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
dpkg -i cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
dpkg -i nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb

apt-get update
apt-get install -y --no-install-recommends cuda-libraries-10-0 libcudnn7=7.4.2.24-1+cuda10.0

/databricks/python/bin/python -V
/databricks/python/bin/pip install tensorflow-gpu==1.15.* setuptools==41.*