顶级开源项目
先让我们看看今年的一些顶级开源项目.
BERT
BERT 是 Bidirectional Encoder Representations from Transformer 的缩写, 一种解决自然语言处理问题的新方法, 可以获得最先进的处理结果. 它是基于 TensorFlow 的, 开发人员可以使用预先训练的模型来解决问题. BERT 模型比其他模型具有很大的优势, 因为它们可以识别句子的上下文. 这个项目目前在 GitHub 上有 8841 个 star 和 1560 个 fork.
BERT 项目地址:
- https://github.com/google-research/bert
- DeepCreamPy
这是一个深度学习工具, 可以像图像编辑工具一样重建图像缺失的区域. 用户使用图像编辑工具将图像的缺失区域绘成绿色, 神经网络则负责给这些区域填充内容. 这个项目目前在 GitHub 上有 6365 个 star 和 613 个 fork.
项目地址:
https://github.com/deeppomf/DeepCreamPy
image
TRFL
TRFL 的发音与 truffle(松露) 相同, 可以基于 TensorFlow 开发强化学习代理.
项目地址:
- https://github.com/deepmind
- Horizon
Horizon 是一个用于应用强化学习的平台. Horizon 使用 PyTorch 构建, 并使用 Caffe2 来提供模型服务. Horizon 的一个主要优势是在设计时就考虑到了生产环境的使用场景.
项目地址:
- https://github.com/facebookresearch/Horizon
- DeOldify
image
DeOldify, 顾名思义, 是一个深度学习库, 用于恢复老照片, 并给它们着色. 库的作者结合了几种方法来实现这一目的, 比如 Self-Attention Generative Adversarial Networks(https://arxiv.org/abs/1805.08318),Progressive Growing of GANs(https://arxiv.org/abs/1710.10196), 以及 Two Time-Scale Update Rule(https://arxiv.org/abs/1706.08500).
项目地址:
- https://github.com/jantic/DeOldify
- AdaNet
AdaNet 是一个基于 TensorFlow 的库, 可以自动学习模型而无需大量专家干预. 这个项目基于 AdaNet 算法 (http://proceedings.mlr.press/v70/cortes17a.html).
项目地址:
- https://github.com/tensorflow/adanet
- Graph Nets
image
Graph Nets 是 DeepMind 推出的一个库, 用于在 Sonnet 和 TensorFlow 中构建图网络. 图网络将图作为输入, 并返回图作为输出.
项目地址:
- https://github.com/deepmind/graph_nets
- Maskrcnn-benchmark
在使用 PyTorch 构建对象检测和分割工具时, 这个项目可以帮上忙. 这个库的优点是速度快, 内存占用低, 多 GPU 训练和推理, 并为推理提供 CPU 支持.
项目地址:
- https://github.com/facebookresearch/maskrcnn-benchmark
- PocketFlow
image
PocketFlow 是一个加速和压缩深度学习模型的框架. 它解决了大多数深度学习模型的高计算成本问题. 它最初由腾讯 AI 实验室的研究人员开发.
项目地址:
- https://github.com/Tencent/PocketFlow
- MAMEToolkit
MAMEToolKit 是一个用于训练街机游戏强化学习算法的库. 这个工具包可以在跟踪游戏状态的同时接收游戏帧数据.
项目地址:
https://github.com/M-J-Murray/MAMEToolkit
ML 框架的主要进展
现在让我们来看一下主要机器学习框架的一些进展.
PyTorch 1.0
在 PyTorch 大会期间, Facebook 发布了 PyTorch 1.0 预览版. 新版本将解决以下一些挑战: 耗时的训练, 大量的网络, 缓慢的规模扩展以及 Python 编程语言带来的一些不灵活性.
新版本引入了一组编译器工具 (Torch.jit), 它们将弥合生产阶段和研究阶段之间的差距. Torch.jit 包含了一门称为 Torch Script 的语言, 它是 Python 的一个子集. 模型可以从 eager 模式转到 graph 模式. 这对于开发高性能和低延迟的应用程序来说非常有用.
Auto-keras
你可能已经听说过自动机器学习这个概念. 从本质上讲, 就是自动搜索机器学习模型的最佳参数. 其他自动化 ML 框架还包括谷歌的 AutoML.Auto-Keras 是使用 Keras 和 ENAS(神经架构搜索的最新版本) 开发的.
TensorFlow Serving
TensorFlow Serving 是一个使 TensorFlow 模型更容易部署到生产环境的系统. TensorFlow Serving 是在 2017 年发布的, 在部署模型到生产环境方面, 它已经帮助开发人员简化了大量工作.
机器学习 JavaScript
有一些 JavaScript 框架允许开发人员在浏览器上运行机器学习模型. 这些框架包括 TensorFlow.JS 和 Keras.JS. 这些模型的实现与使用 Keras 或 TensorFlow 等常规框架非常相似.
展望未来
随着 Auto-Keras 等自动化工具的进步, 我们可以期待开发人员的工作变得更轻松. 随着研究的进展和开源社区的贡献, 我们还可以期待各种机器学习框架的性能得到提升.
来源: http://www.jianshu.com/p/e72106153063