mutli-backend 多后端的 AI 框架现在还有哪些?

269 天前
 MotorVilleger

一开始我计划使用 tensorlayerx ,这个框架支持多个后端,然而,经过一两年的发展, tensorlayerx 最新为 0.5.8 ,更新日期为 2023 年 2 月 3 日,当时支持的几个框架版本是:

之后便没有更新了。创业遇到困难?资金问题?

接下来在 google 中搜索 multi-backend ai framework, 虽然一开始还是 tensorlayerx ,但是我发现偶尔会出现 keras 的字眼。那么就详细查询一下 keras 最近的新闻。keras 在我认知中的确是个多后端框架,一开始支持微软的框架,可惜这个框架似乎不是很火……keras 后来也逐渐成为 tensorflow 的一部分。

不过最近发现 keras 社区推出了 3.0 版本,不得不感叹有些开发者对自己的作品还是很珍惜的。当然我觉得这和 jax 有一定的关系,毕竟 jax 更兼容 numpy 的工作流程和数据结构

除了我找到这两个,请问还有哪些框架比较好用呢?

1445 次点击
所在节点    Python
4 条回复
111qqz
269 天前
"框架支持多个后端"有什么好处吗(
iorilu
269 天前
没有现成的把

毕竟两个框架差别很大

建议先支持 pytorch 的

后面再说呗, 真有搞头再加上 tf 支持
matchalatte
268 天前
个人拙见:多后端框架存在着很多难以解决的问题,
- 深度学习后端一直存在动态图/静态图两个流派,想同时兼容这两种是很困难的。特别是一些网络需要用到动态图特性,这种操作在静态图中基本无法实现。
- 从框架中抽象出的“兼容 API”反而会没有办法很好的利用各个后端的独特功能,因为兼容舍弃了特色。
- 由于多做了一层转换,在需要对底层代码进行修改时会更加复杂,层层嵌套的代码可读性也比较差。
- 后端框架会实时更新,一些 API 会被废弃(点名批评 TF ),而作为多后端框架一次一般只能兼容单个版本,更新维护也比较费时费力。

鉴于这些弊端,多后端框架一直不是很流行,并且使用时并不一定能降低开发难度。

目前从生态角度 Pytorch 应该是支持最好的,可以考虑通过 pytorch 训练,而在部署时将模型进行一定的转换,从而实现更好的兼容,例如:

- 开放机器学习格式 ONNX: https://github.com/onnx/onnx ,通过 ONNX 作为中间媒介也可以让 pytorch 模型在 tensorflow 等框架中加载运行。

- 苹果 CoreML 模型格式(实际上也是基于 ONNX 转换的): https://apple.github.io/coremltools/docs-guides/source/convert-pytorch.html

- 目前 LLM 端上部署比较主流的 GGUF 格式: https://github.com/ggerganov/llama.cpp/blob/master/convert-hf-to-gguf.py
MotorVilleger
261 天前
@matchalatte 感谢,目前 pytorch 肯定是主流,然后通过各种工具部署和转化模型

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX