OneFlow v0.5.0 预览版发布

栏目: 软件资讯 · 发布时间: 3年前

内容简介:今天是 OneFlow 开源的第 410 天,OneFlow 0.5.0 预览版发布。 本次版本更新包含以下重点: 新增动态图特性:OneFlow 默认以动态图模式(eager)运行,与静态图模式(graph)相比,更容易搭建网络、调试和验证算法...

OneFlow v0.5.0 预览版发布

今天是 OneFlow 开源的第 410 天,OneFlow 0.5.0 预览版发布。

本次版本更新包含以下重点:

  • 新增动态图特性:OneFlow 默认以动态图模式(eager)运行,与静态图模式(graph)相比,更容易搭建网络、调试和验证算法。

  • 面向对象式的动态图接口 nn.Module,熟悉 PyTorch 的用户可以轻松上手。

  • “一行代码转换 OneFlow 与 PyTorch 网络”:与 PyTorch 对齐的算子数目增加至200+。在 ResNet50、AlexNet 等常用网络上已通过 import oneflow as torch 和 import torch as flow 验证。注意:此特性是为方便用户由 PyTorch 迁移至 OneFlow 而设计,并不是承诺完全兼容 PyTorch。

  • 面向对象式的静态图接口:新增面向对象的静态图接口 nn.Graph。保留了 OneFlow 静态图性能优势的同时,让静态图的编程门槛与动态图接近,期待更多的算法工程师把 OneFlow 的高性能优势玩起来。附一个用 nn.Graph 搭建的ResNet50示例:https://github.com/Oneflow-Inc/models/tree/main/resnet50)

  • 易用高效的分布式训练:分布式训练是大势所趋,此版本新增的 Consistent Tensor,让用户可以像操作单机单卡一样操作整个集群,并立即看到效果。新增的 launch 模块、DDP 模块配合 OneFlow 的一致性视角让用户轻松启动分布式训练,无论是数据并行、模型并行、还是流水并行,OneFlow 均原生支持,易用高效。

1、新增动态图功能

新增与 PyTorch 兼容的动态图模式,原 PyTorch 用户可直接上手体验,无额外的学习成本和迁移成本。

https://docs.oneflow.org/master/basics/01_quickstart.html

2、nn.Module 接口

提供面向对象式的接口 nn.Module,使得搭建神经网络更简单。

https://docs.oneflow.org/master/basics/04_build_network.html

3、nn.Graph

长时间以来,动态图的性能、部署短板让人遗憾;静态图的编程门槛让人望而生畏。OneFlow 推出 nn.Graph 方案。 

nn.Graph 和 nn.Module 一样,也是面向对象式的接口,并且可以大量复用 nn.Module 中的功能。同时 nn.Graph 保留了 OneFlow 一贯的静态图的高效性能。用户只做少量的改动,就可以将 nn.Module 转为高性能的静态图。如以下示例。

class NeuralGraph(flow.nn.Graph):
    def __init__(self):
        super().__init__()
        self.model = model # model是 nn.Module 对象

    def build(self, x):
        y_pred = self.model(x)
        return y_pred

graph = NeuralGraph() # Graph 对象
y_pred = graph(x) # 首次调用会编译计算图并运行,后续调用都是直接运行

用户使用 nn.Module,可以快速验证想法,解决正确性、模型效果的问题。

需要优化性能时,再花很少的精力转为 nn.Graph。

https://docs.oneflow.org/master/basics/08_nn_graph.html

4、易用高效的分布式训练

对不少工程师而言,可能还不熟悉分布式训练,为此我们整理了分布式训练专题,它既可以作为用 OneFlow 做分布式训练的用户手册,也可以作为深度学习分布式入门的一手资料。

https://docs.oneflow.org/master/parallelism/01_introduction.html

5、Consistent Tensor

新增动态图模式下的 Consistent Tensor,用户第一次可以简单直观地看到张量在集群中如何被自动分发、组合。OneFlow 提供的一致性视角,让 OneFlow 不借助插件,就能轻松配置各种并行策略。

https://docs.oneflow.org/master/parallelism/03_consistent_tensor.html

6、DDP 模块

新增 DDP模块用于做分布式数据并行。它使得用户只需要改动极少的代码,就能将单机训练脚本扩充为分布式脚本。

https://docs.oneflow.org/master/parallelism/05_ddp.html

7、易用、原生的流水并行支持

使用 nn.Graph,通过设置 Consistent Tensor 的 placement 和 sbp 属性,用户只需要关注流水并行的逻辑。支持高效流水所需的 micro batch、张量缓存分配等问题都由 OneFlow 自动解决。

查看流水并行示例代码:

https://docs.oneflow.org/master/parallelism/06_pipeline.html

其他人都在看


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我看电商2(双色)

我看电商2(双色)

黄若 / 电子工业出版社 / 2016-6 / 39.00元

《我看电商2》是行业畅销书《我看电商》的续集。 《我看电商》自出版以来,连续印刷14 次,受到业界人士和广大读者的高度好评。《我看电商2》承续作者一贯的风格,以行业观察、经验分享为出发点,重点分析了过去一年中国电商界的最新动态与趋势,包括双11点评、京东关闭拍拍、上市公司私有化等。 电子商务是我国近年来发展最快的新兴行业之一,作者作为这个行业的长老级领军人物,善于思考,长于实操。《我看......一起来看看 《我看电商2(双色)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试