2.3 TensorFlow 2.x生态系统

如今,TensorFlow 2.x是一个丰富的学习生态系统,除了核心学习引擎外,这里还有大量可免费使用的工具。尤其是:

  • TensorFlow.jshttps://www.tensorflow.org/js)是API的集合,可直接在浏览器或Node.js中训练和运行推断(inference)。
  • TensorFlow Litehttps://www.tensorflow.org/lite)是用于嵌入式和移动设备的TensorFlow的轻量级版本。当前,Java和C ++支持Android和iOS。
  • TensorFlow Hubhttps://www.tensorflow.org/hub)是一个完整的库,支持最常见的机器学习架构。截至2019年4月,Hub仅部分支持tf.Keras API,但此问题(https://github.com/tensorflow/tensorflow/issues/25362)即将解决。我们将在第5章中看到一个Hub示例。
  • TensorFlow Extended(TFX)https://github.com/tensorflow/tfx)是一个完整的端到端学习平台,其中包括转换工具(TfTransform)、分析工具(TensorFlow Model Analysis)和推断期间学习模型的高效伺服(TensorFlow Serving)。TFX管道可用Apache Airflow和Kubeflow Pipelines进行编排。
  • TensorBoard是用于检查、调试和优化模型及指标的可视化环境。
  • Sonnet是一个类似于Keras的库,由DeepMind开发,用于训练其模型。
  • TensorBoard Federated是一个在去中心化数据上使用机器学习和其他计算工作的框架。
  • TensorBoard Probability是一个将概率模型与深度学习相结合的框架。
  • TensorBoard Playground是一个不错的UI,用于可视化、调试和检查神经网络。常用于教育教学。
  • 加速线性代数(Accelerated Linear Algebra,XLA)是线性代数的特定领域编译器,可优化TensorFlow计算。
  • MLPerf是一个ML基准套件,用于测量ML软件框架、ML硬件加速器和ML云平台的性能。
  • Colab是免费的Jupyter Notebook环境,无须设置,完全在云上运行。用户可以通过浏览器免费编写和执行代码,保存和共享分析,以及访问强大的计算资源。
  • TensorFlow Datasets是TensorFlow中包含的官方数据集。此外,还有可通过Google Research和Google支持的数据集搜索(https://toolbox.google.com/datasetsearch)免费获得的数据集。

资源、库和工具的清单很长,每个工具都需要单独的一章(在某些情况下,需要用一整本书来介绍!)。在本书中,我们使用Colab、TensorBoard、Hub和Lite,并给读者留下线上查看其他资源的任务。研究人员还可以使用TensorFlow Research Cloud(TFRC)计划,该计划使你可以申请访问包含1000多个Cloud TPU的集群。

011-02模型、数据集、工具、库和扩展插件可在https://www.tensorflow.org/resou-rces/tools找到。

语言绑定

Python是TensorFlow的首选语言。但是,存在与许多其他语言的绑定,包括JavaScript、C++、Java、Go和Swift。该社区还维护与其他语言的绑定,包括C#、Haskell、Julia、Ruby、Rust和Scala。通常,C语言的API用于构建对其他语言的绑定。