V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
MotorVilleger
V2EX  ›  Python

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

  •  
  •   MotorVilleger · 31 天前 · 1101 次点击

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

    • tensorflow 2.4.0
    • pytorch 1.10.0
    • mindspore 1.8.1
    • paddlepaddle 2.2.0

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

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

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

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

    4 条回复    2024-04-08 11:52:16 +08:00
    111qqz
        1
    111qqz  
       31 天前
    "框架支持多个后端"有什么好处吗(
    iorilu
        2
    iorilu  
       30 天前
    没有现成的把

    毕竟两个框架差别很大

    建议先支持 pytorch 的

    后面再说呗, 真有搞头再加上 tf 支持
    matchalatte
        3
    matchalatte  
       30 天前
    个人拙见:多后端框架存在着很多难以解决的问题,
    - 深度学习后端一直存在动态图/静态图两个流派,想同时兼容这两种是很困难的。特别是一些网络需要用到动态图特性,这种操作在静态图中基本无法实现。
    - 从框架中抽象出的“兼容 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
        4
    MotorVilleger  
    OP
       23 天前
    @matchalatte 感谢,目前 pytorch 肯定是主流,然后通过各种工具部署和转化模型
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2318 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:13 · PVG 14:13 · LAX 23:13 · JFK 02:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.