TensorFlow 得到全球
社区开发者的支持,正处于高速发展中。这篇文章旨在提供 TensorFlow 核心开发组的重点工作领域和优先级安排,以及哪些功能将最有可能在即将发布的版本中呈现,其中大部分功能都是来自社区开发者们的实际用例,艾伯特(公众号:aibbtcom)也欢迎大家进一步为 TensorFlow 做贡献。TensorFlow 1.6.0 已于 3 月 1 日发布,重大改变包括:
艾伯特(http://www.aibbt.com/)国内第一家人工智能门户
- 预构建的二进制文件现在是针对 CUDA 9.0 和 cuDNN 7 构建的。
- 预构建的二进制文件将使用 AVX 指令,可能在旧的 CPU 上使用是不兼容的。
主要特性和改进包括:
- 针对非插槽变量 (non-slot variables) 的新内部优化 API 。
- tf.estimator.{FinalExporter,LatestExporter} 现在可导出被剥离的 SavedModels 。这改进了 SavedModel 的向前兼容性。
- FFT 支持添加到 XLA CPU/GPU 。
- Android TF 现在可以在兼容的 Tegra 设备上使用 CUDA 加速来进行构建。
- 使用 Estimators 提高多 GPU 协作的资源利用率;
- 更易用的预定义高层 Estimator,包括梯度提升树(Gradient Boosted Trees)、时间序列(Time Series)和其它模型。
- 动态图机制的即时执行(Eager Execution)
- 高效利用多 GPU 协同执行;
- 分布式(多机)训练;
- 性能的提升;
- 更简单方便地导出为 GraphDef/SavedModel。
Keras API:
- 与 tf.data 更好的集成,可以使用数据张量(data tensors)调用 model.fit;
- 全面支持动态图机制的即时执行(两种动态图机制均支持常规的 Keras API,并可通过模型继承来创建 Eager-Style 的 Keras 模型);
- 更好的分布式或多GPU 支持和 TPU 支持(包含一个更平滑的由模型到 Estimator 的工作流)。
官方模型:
Contrib:
- 把已经在 tf.contrib 外部实现的部分原有 API 标记为不推荐使用;
- 尽可能将 tf.contrib 中的大型项目移至独立的代码库;
- tf.contrib 模块最终将暂停在当前状态,在未来,实验性开发将在独立的代码库中进行。
- 概率推论与统计分析:
- 在 tf.distributions 和 tf.probability 中提供一套用于概率与统计分析的丰富工具。其中包含新的采样器、层、优化器、损失函数和结构化模型;
- 用于假设检验、收敛诊断和样本统计的工具;
- Edward 2.0:用于概率编程的高级 API。
- 增加 TensorFlow Lite 中支持的算子(Operations)覆盖范围;
- 更加轻松地将训练后的 TensorFlow 计算图转化为在 TensorFlow Lite 上使用的版本;
- 在 TensorFlow Lite 中支持 GPU 加速 (iOS 和 Android);
- 使用 Android 神经网络 API (NN API)支持硬件加速器;
- 通过量化和其它网络优化来提升 CPU 性能,如:剪枝(pruning)、蒸馏(distillation);
- 增加对 Android 和 iOS 以外设备的支持(如树莓派、Cortex-M)。
- 针对各种 GPU 拓扑结构优化的多 GPU 支持;
- 改善分布式运算时的计算分配机制。
优化:
- 混合精度训练的支持(包含初始示例模型以及指导);
- 原生支持 TensorRT;
- 通过 Intel 数学函数库(MKL)支持 SkyLake 架构上的 Int8 类型;
- 动态加载 SIMD 优化的内核。
- 动员社区在重点领域共同合作;
- tf-distribute :围绕 TensorFlow 打包和部署主题的讨论组;
- 将筹备和启动更多专项小组。
社区:
- 通过征求意见稿(RFC)整合开发者对重大调整的反馈;
- 完善外部贡献的流程并最终应用到 TensorFlow 及其相关项目中;
- 扩展全球 TensorFlow 社区和用户组;
- 与合作伙伴共同开发和发表研究论文。
感谢来自社区的译者 Term Wang, Xihan Li, Zhongdong Yang, Yuting Wang 对本文的中文翻译做出的贡献。
http://www.aibbt.com/a/17708.html