用于 ML 的 Databricks Runtime 8.0 (EoS)
注意
对此 Databricks Runtime 版本的支持已结束。 有关终止支持日期,请参阅终止支持历史记录。 有关所有受支持的 Databricks Runtime 版本,请参阅 Databricks Runtime 发行说明版本和兼容性。
Databricks 于 2021 年 3 月发布了此映像。
用于机器学习的 Databricks Runtime 8.0 基于 Databricks Runtime 8.0 (EoS),为机器学习和数据科学提供了随时可用的环境。 Databricks Runtime ML 包含许多常用的机器学习库,包括 TensorFlow、PyTorch 和 XGBoost。 它还支持使用 Horovod 进行分布式深度学习训练。
有关详细信息,包括有关如何创建 Databricks Runtime ML 群集的说明,请参阅 Databricks 上的 AI 和机器学习。
新增功能和主要更改
Databricks Runtime 8.0 ML 基于 Databricks Runtime 8.0 构建。 若要了解 Databricks Runtime 8.0 中的新增功能,包括 Apache Spark MLlib 和 SparkR,请参阅 Databricks Runtime 8.0 (EoS) 发行说明。
Conda 通道配置
2020 年 9 月,Anaconda Inc. 为 anaconda.org 通道更新了其服务条款。 根据新的服务条款,如果依赖 Anaconda 的打包和分发,则可能需要商业许可证。 有关详细信息,请访问 Anaconda Commercial Edition 常见问题解答。 由于这一变化,我们已删除 Databricks Runtime ML 8.0 中 Conda 包管理器的默认通道配置。 若要使用 %conda
命令安装或更新包,必须指定通道。 对任何 Anaconda 通道的使用都受其服务条款的约束。
Databricks Runtime ML Python 环境的主要更改
请参阅 Databricks Runtime 8.0 (EoS) 以了解 Databricks Runtime Python 环境的主要更改。 如需查看已安装的 Python 包及其版本的完整列表,请参阅 Python 库。
环境的重大更改
- 已删除默认的 Conda 通道。
- 默认系统 Python 版本已从 3.7.6 更新为 3.8.5。
- 不再支持 TensorFlow 1.x。
升级的 Python 包
- tensorboard 2.3.1 -> 2.4.1
- tensorflow 2.3.1 -> 2.4.0
- matplotlib 3.1.3 -> 3.2.2
- joblib 0.14.1 -> 0.17.0
- petastorm 0.9.7 -> 0.9.8
- cloudpickle 1.4.1 -> 1.6.0
- nltk 3.4.5 -> 3.5
- Anaconda 分发中的包已从 2020.02 升级到 2020.11
添加的 Python 包
- shap:0.37.0
删除的 Python 包
- gorilla
- backports
系统环境
Databricks Runtime 8.0 ML 中的系统环境在以下方面不同于 Databricks Runtime 8.0:
- DBUtils:Databricks Runtime ML 不包含库实用工具 (dbutils.library)(旧版)。
改用
%pip
和%conda
命令。 请参阅作用域为笔记本的 Python 库。
库
以下部分列出了 Databricks Runtime 8.0 ML 中包含的库,这些库不同于 Databricks Runtime 8.0 中包含的库。
本节内容:
顶层库
Databricks Runtime 8.0 ML 包含以下顶层库:
- GraphFrames
- Horovod 和 HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python 库
Databricks Runtime 8.0 ML 使用 Conda 进行 Python 包管理,并且包含许多常用的 ML 包。
除了在以下部分的 Conda 环境中指定的包外,Databricks Runtime 8.0 ML 还包含以下包:
- hyperopt 0.2.5.db1
- sparkdl 2.1.0.db4
CPU 群集上的 Python 库
name: databricks-ml
channels:
- pytorch
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- absl-py=0.11.0=pyhd3eb1b0_1
- aiohttp=3.6.3=py38h7b6447c_0
- asn1crypto=1.4.0=py_0
- astor=0.8.1=py38_0
- async-timeout=3.0.1=py38_0
- attrs=20.3.0=pyhd3eb1b0_0
- backcall=0.2.0=py_0
- bcrypt=3.2.0=py38h7b6447c_0
- blas=1.0=mkl
- blinker=1.4=py38_0
- boto3=1.16.7=pyhd3eb1b0_0
- botocore=1.19.7=pyhd3eb1b0_0
- brotlipy=0.7.0=py38h27cfd23_1003
- c-ares=1.17.1=h27cfd23_0
- ca-certificates=2021.4.13=h06a4308_1 # (updated from 2021.1.19 in May 26, 2021 maintenance update)
- cachetools=4.2.0=pyhd3eb1b0_0
- certifi=2020.12.5=py38h06a4308_0
- cffi=1.14.3=py38h261ae71_2
- chardet=3.0.4=py38h06a4308_1003
- click=7.1.2=pyhd3eb1b0_0
- cloudpickle=1.6.0=py_0
- configparser=5.0.1=py_0
- cpuonly=1.0=0
- cryptography=3.1.1=py38h1ba5d50_0
- cycler=0.10.0=py38_0
- cython=0.29.21=py38h2531618_0
- decorator=4.4.2=py_0
- dill=0.3.2=py_0
- docutils=0.15.2=py38_0
- entrypoints=0.3=py38_0
- flask=1.1.2=py_0
- freetype=2.10.4=h5ab3b9f_0
- future=0.18.2=py38_1
- gitdb=4.0.5=py_0
- gitpython=3.1.11=pyhd3eb1b0_1
- google-auth=1.22.1=py_0
- google-auth-oauthlib=0.4.2=pyhd3eb1b0_2
- google-pasta=0.2.0=py_0
- gunicorn=20.0.4=py38_0
- h5py=2.10.0=py38h7918eee_0
- hdf5=1.10.4=hb1b8bf9_0
- icu=58.2=he6710b0_3
- idna=2.10=pyhd3eb1b0_0
- importlib-metadata=2.0.0=py_1
- intel-openmp=2019.4=243
- ipykernel=5.3.4=py38h5ca1d4c_0
- ipython=7.19.0=py38hb070fc8_1
- ipython_genutils=0.2.0=pyhd3eb1b0_1
- isodate=0.6.0=py_1
- itsdangerous=1.1.0=py_0
- jedi=0.17.2=py38h06a4308_1
- jinja2=2.11.2=pyhd3eb1b0_0
- jmespath=0.10.0=py_0
- joblib=0.17.0=py_0
- jpeg=9b=h024ee3a_2
- jupyter_client=6.1.7=py_0
- jupyter_core=4.6.3=py38_0
- kiwisolver=1.3.0=py38h2531618_0
- krb5=1.17.1=h173b8e3_0
- lcms2=2.11=h396b838_0
- ld_impl_linux-64=2.33.1=h53a641e_7
- libedit=3.1.20191231=h14c3975_1
- libffi=3.3=he6710b0_2
- libgcc-ng=9.1.0=hdf63c60_0
- libgfortran-ng=7.3.0=hdf63c60_0
- libpng=1.6.37=hbc83047_0
- libpq=12.2=h20c2e04_0
- libprotobuf=3.13.0.1=hd408876_0
- libsodium=1.0.18=h7b6447c_0
- libstdcxx-ng=9.1.0=hdf63c60_0
- libtiff=4.1.0=h2733197_1
- lightgbm=3.1.1=py38h2531618_0
- lz4-c=1.9.2=heb0550a_3
- mako=1.1.3=py_0
- markdown=3.3.2=py38_0
- markupsafe=1.1.1=py38h7b6447c_0
- matplotlib-base=3.2.2=py38hef1b27d_0
- mkl=2019.4=243
- mkl-service=2.3.0=py38he904b0f_0
- mkl_fft=1.2.0=py38h23d657b_0
- mkl_random=1.1.0=py38h962f231_0
- more-itertools=8.6.0=pyhd3eb1b0_0
- multidict=4.7.6=py38h7b6447c_1
- ncurses=6.2=he6710b0_1
- networkx=2.5=py_0
- nltk=3.5=py_0
- numpy=1.19.2=py38h54aff64_0
- numpy-base=1.19.2=py38hfa32c7d_0
- oauthlib=3.1.0=py_0
- olefile=0.46=py_0
- openssl=1.1.1k=h27cfd23_0 # (updated from 1.1.1i in May 26, 2021 maintenance update)
- packaging=20.4=py_0
- pandas=1.1.3=py38he6710b0_0
- paramiko=2.7.2=py_0
- parso=0.7.0=py_0
- patsy=0.5.1=py38_0
- pexpect=4.8.0=pyhd3eb1b0_3
- pickleshare=0.7.5=pyhd3eb1b0_1003
- pillow=8.0.1=py38he98fc37_0
- pip=20.2.4=py38h06a4308_0
- plotly=4.14.2=pyhd3eb1b0_0
- prompt-toolkit=3.0.8=py_0
- prompt_toolkit=3.0.8=0
- protobuf=3.13.0.1=py38he6710b0_1
- psutil=5.7.2=py38h7b6447c_0
- psycopg2=2.8.5=py38h3c74f83_1
- ptyprocess=0.6.0=pyhd3eb1b0_2
- pyasn1=0.4.8=py_0
- pyasn1-modules=0.2.8=py_0
- pycparser=2.20=py_2
- pygments=2.7.2=pyhd3eb1b0_0
- pyjwt=1.7.1=py38_0
- pynacl=1.4.0=py38h7b6447c_1
- pyodbc=4.0.30=py38he6710b0_0
- pyopenssl=19.1.0=pyhd3eb1b0_1
- pyparsing=2.4.7=pyhd3eb1b0_0
- pysocks=1.7.1=py38h06a4308_0
- python=3.8.8=hdb3f193_4 # (updated from 3.8.5 in May 26, 2021 maintenance update)
- python-dateutil=2.8.1=py_0
- python-editor=1.0.4=py_0
- pytz=2020.1=py_0
- pyzmq=19.0.2=py38he6710b0_1
- readline=8.0=h7b6447c_0
- regex=2020.10.15=py38h7b6447c_0
- requests=2.24.0=py_0
- requests-oauthlib=1.3.0=py_0
- retrying=1.3.3=py_2
- rsa=4.7=pyhd3eb1b0_1
- s3transfer=0.3.4=pyhd3eb1b0_0
- scikit-learn=0.23.2=py38h0573a6f_0
- scipy=1.5.2=py38h0b6359f_0
- setuptools=50.3.1=py38h06a4308_1
- simplejson=3.17.2=py38h7b6447c_0
- six=1.15.0=py38h06a4308_0
- smmap=3.0.4=py_0
- sqlite=3.33.0=h62c20be_0
- sqlparse=0.4.1=py_0
- statsmodels=0.12.0=py38h7b6447c_0
- tabulate=0.8.7=py38_0
- threadpoolctl=2.1.0=pyh5ca1d4c_0
- tk=8.6.10=hbc83047_0
- tornado=6.0.4=py38h7b6447c_1
- tqdm=4.50.2=py_0
- traitlets=5.0.5=py_0
- typing_extensions=3.7.4.3=py_0
- unixodbc=2.3.9=h7b6447c_0
- urllib3=1.25.11=py_0
- wcwidth=0.2.5=py_0
- websocket-client=0.57.0=py38_2
- werkzeug=1.0.1=py_0
- wheel=0.35.1=pyhd3eb1b0_0
- wrapt=1.12.1=py38h7b6447c_1
- xz=5.2.5=h7b6447c_0
- yarl=1.6.3=py38h27cfd23_0
- zeromq=4.3.3=he6710b0_3
- zipp=3.4.0=pyhd3eb1b0_0
- zlib=1.2.11=h7b6447c_3
- zstd=1.4.5=h9ceee32_0
- pip:
- astunparse==1.6.3
- azure-core==1.10.0
- azure-storage-blob==12.7.0
- databricks-cli==0.14.1
- diskcache==5.1.0
- docker==4.4.1
- flatbuffers==1.12
- gast==0.3.3
- grpcio==1.32.0
- horovod==0.21.1
- joblibspark==0.3.0
- keras-preprocessing==1.1.2
- koalas==1.5.0
- llvmlite==0.35.0
- mleap==0.16.1
- mlflow==1.13.1
- msrest==0.6.19
- numba==0.52.0
- opt-einsum==3.3.0
- petastorm==0.9.8
- pyarrow==1.0.1
- pyyaml==5.4
- querystring-parser==1.2.4
- seaborn==0.10.0
- shap==0.37.0
- slicer==0.0.3
- spark-tensorflow-distributor==0.1.0
- tensorboard==2.4.1
- tensorboard-plugin-wit==1.8.0
- tensorflow-cpu==2.4.0
- tensorflow-estimator==2.4.0
- termcolor==1.1.0
- torch==1.7.1
- torchvision==0.8.2
- xgboost==1.3.1
prefix: /databricks/conda/envs/databricks-ml
包含 Python 模块的 Spark 包
Spark 包 | Python 模块 | 版本 |
---|---|---|
graphframes | graphframes | 0.8.1-db2-spark3.1 |
R 库
R 库与 Databricks Runtime 8.0 中的 R 库完全相同。
Java 库和 Scala 库(Scala 2.12 群集)
除了 Databricks Runtime 8.0 中的 Java 库和 Scala 库之外,Databricks Runtime 8.0 ML 还包含以下 JAR:
CPU 群集
组 ID | 项目 ID | 版本 |
---|---|---|
com.typesafe.akka | akka-actor_2.12 | 2.5.23 |
ml.combust.mleap | mleap-databricks-runtime_2.12 | 0.17.0-4882dc3 |
ml.dmlc | xgboost4j-spark_2.12 | 1.3.1 |
ml.dmlc | xgboost4j_2.12 | 1.3.1 |
org.graphframes | graphframes_2.12 | 0.8.1-db2-spark3.1 |
org.mlflow | mlflow-client | 1.13.1 |
org.mlflow | mlflow-spark | 1.13.1 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |