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

328 天前
MotorVilleger  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 的工作流程和数据结构

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

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

毕竟两个框架差别很大

建议先支持 pytorch 的

后面再说呗, 真有搞头再加上 tf 支持
matchalatte
matchalatte
327 天前
个人拙见:多后端框架存在着很多难以解决的问题,
- 深度学习后端一直存在动态图/静态图两个流派,想同时兼容这两种是很困难的。特别是一些网络需要用到动态图特性,这种操作在静态图中基本无法实现。
- 从框架中抽象出的“兼容 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
MotorVilleger
320 天前
@matchalatte 感谢,目前 pytorch 肯定是主流,然后通过各种工具部署和转化模型

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

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

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

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

© 2021 V2EX