OneFlow框架的设计目标是实现:一个使用多机多卡就像使用单机单卡一样容易的深度学习框架。

可以说,这是国内最早的深度学习框架之一,也是至今还活着的公司中开发支持力度最低的,也是最缺少技术支持、用户支持、资金支持的,就这样的产品至今还活着就不得不佩服清华校友的能力强大,毕竟是张钹院士的学生。

虽然说这个产品很不好用,但是感觉这也不算是一个泛泛之辈,因为这个框架的设计就和其他的框架不同,其他的框架都是原生支持单机,后期扩展支持分布式,这个框架确是设计之初就原生支持分布式,可以说是一边开发一边支持分布式,可以说是另类中的另类了。

Oneflow框架难以安装,难以运行

可能是这个公司的经济条件有限,因此这个框架只有通过公司官网下载安装或GitHub下载安装两种方式,既不支持conda也不支持pip,可以说是极难安装使用的,并且你需要手动配置相关环境,比如cuda和cudnn,不过万幸的是这个框架还提供docker镜像安装,不过这下载网速也是一言难尽。

官方给出的oneflow的应用场景:

可以这么理解,使用oneflow的场景必须是要进行训练,然后呢又必须是分布式场景,而且应该是中等水平的集群,比如这里给的400张显卡的情况,但是呢实际业务需要训练的量又是现有资源无法支撑的,并且短时间内无法扩展集群,可以说是虽然有400张显卡了,但是依旧不够用,并且业务要求这个计算必须在一定时间内完成,无法无限后延。而且还有一点,那就是模型要求必须简单,因为这个框架还不是很成熟,各种算子可能并不支持,所以只有常见的模型和算子才能很好运行。

综合具备上面的这些条件后,就可以考虑使用oneflow了,因为oneflow的分布式下的训练速度经过测试要比其他框架要快。不过,不得不说这个oneflow框架需要满足这些条件才适用,也确实有些强人所难了。你说这东西必须是实际业务的生产环境,还必须是大集群,而且对计算性能很敏感,并且模型要简单,这时候才适合用,按照这个要求估计也确实没有多少场景适合了,毕竟有这400张显卡的地方估计也不差再加100张卡,而且这种应用场合应该是业务比较固定的,那为啥不采用租个集群呢,搞不懂这个奇葩要求。

在我看来,这个框架要想走下去,就得丰富其功能,加入更多的算子,并且建立社区,增加支持的项目,并且对小集群的使用环境下也要具有明显的性能优势才可以。毕竟曾经的几十个深度学习框架最后也就剩下这几家还活着,如果真的搞不定,这个活了6、7年的框架也是难逃关门的厄运的,这里不得不说搞这东西真的需要有足够的资金支持的,不然为啥只有Google、Facebook、百度、华为这几个公司最后还这么坚挺呢。

或许,这个OneFlow适合成熟业务从pytorch转换过来进行训练。

相关:

如何评价最近一流科技开源的深度学习框架 OneFlow?

王慧文收购国产AI框架OneFlow,为中国版ChatGPT疯狂抢人抢基建

国产深度学习框架 OneFlow 是否靠谱?的更多相关文章

  1. 国产深度学习框架mindspore-1.3.0 gpu版本无法进行源码编译

    官网地址: https://www.mindspore.cn/install 所有依赖环境 进行sudo make install 安装,最终报错: 错误记录信息: cat     /tmp/mind ...

  2. 让AI简单且强大:深度学习引擎OneFlow技术实践

    本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...

  3. Windows7系统安装TensorFlow深度学习框架全过程

    本来以为很好安装的一个东西,硬是从晚上九点搞到十二点,安装其实并不难,主要是目前网上的教程有很多方案完全不一样,有根据pip安装的,有根据docker安装的等等,看得我眼花缭乱,好不容易找到一个靠谱点 ...

  4. [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势

    本文为微信公众号[深度学习大讲堂]特约稿,转载请注明出处 虚拟框架杀入 从发现问题到解决问题 半年前的这时候,暑假,我在SIAT MMLAB实习. 看着同事一会儿跑Torch,一会儿跑MXNet,一会 ...

  5. [转]Caffe 深度学习框架上手教程

    Caffe 深度学习框架上手教程 机器学习Caffe caffe 原文地址:http://suanfazu.com/t/caffe/281   blink 15年1月 6   Caffe448是一个清 ...

  6. Caffe 深度学习框架介绍

    转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...

  7. 推荐GitHub上10 个开源深度学习框架

    推荐GitHub上10 个开源深度学习框架   日前,Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚 ...

  8. 贾扬清分享_深度学习框架caffe

    Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作.本文是根据机器学习研究会组织的online分享的交流内容,简单的整理了一下. 目录 ...

  9. 深度学习框架Caffe的编译安装

    深度学习框架caffe特点,富有表达性.快速.模块化.下面介绍caffe如何在Ubuntu上编译安装. 1. 前提条件 安装依赖的软件包: CUDA 用来使用GPU模式计算. 建议使用 7.0 以上最 ...

  10. 深度学习框架-caffe安装-环境[Mac OSX 10.12]

    深度学习框架-caffe安装 [Mac OSX 10.12] [参考资源] 1.英文原文:(使用GPU) [http://hoondy.com/2015/04/03/how-to-install-ca ...

随机推荐

  1. LeetCode 682. Baseball Game 棒球比赛(C++/Java)

    题目: You're now a baseball game point recorder. Given a list of strings, each string can be one of th ...

  2. kettle从入门到精通 第二十六课 再谈 kettle Transformation executor

    1.前面文章有学习过Transformation executor ,但后来测试kettle性能的时候遇到了很大的问题,此步骤的处理性能太慢,导致内存溢出等问题.所以再次一起学习下此步骤的用法. 2. ...

  3. Redis数据类型有哪些?

    a.String(字符串) b.Hash(hash表) c.List(链表) d.Set(集合) e.SortedSet(有序集合zset)

  4. 字符数组转换及数字求和 java8 lambda表达式 demo

    public static void main(String[] args) throws IllegalAccessException { //字符串转换为数字且每个加上100,输出. String ...

  5. 链表中,LNode和* LinkList的理解

    typedef struct LNode { int data; struct LNode* next; }LNode, * LinkList; 这是标准链表创建法. 简单的说,其中LNode和 * ...

  6. 【iOS】bugly进阶系列

    初学者使用bugly仅仅是用于接受崩溃日志,但是其实bugly除了接受崩溃之外还可以做许多事情.这里我把bugly分成三大模块逐一进行探讨. (其实bugly顶部的三个标题就预示着bugly的功能本来 ...

  7. 《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件

    第五章 编译CanMV固件 1)实验平台:正点原子DNK210开发板 2) 章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall ...

  8. 基于OMAPL138+FPGA核心板——MCSDK开发入门(下)

    本文测试板卡为创龙科技 SOM-TL138F 是一款基于 TI OMAP-L138(定点/浮点 DSP C674x + ARM9)+ 紫光同创 Logos/Xilinx Spartan-6 低功耗 F ...

  9. NXP i.MX 8M Plus工业核心板硬件说明书( 四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)

    1          硬件资源 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 + 单核ARM Cortex-M7异构多核处理器设计的高端 ...

  10. CF1093E 题解

    来一发 \(O(n \sqrt n)\) 时间,\(O(n)\) 空间的分块写法. 首先建模,把 数值 \(x\) 在两个数组中出现的位置作为坐标,问题就转化为一个二维动态数点. 考虑用序列分块维护第 ...