V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ciki
V2EX  ›  Java

请教一个需求,后端和 Python 调用问题

  •  
  •   ciki · 2023-05-27 11:35:11 +08:00 · 1783 次点击
    这是一个创建于 572 天前的主题,其中的信息可能已经有所发展或是发生改变。

    后端 API 都是用 springboot 写的,现在有一套 python 写的 tensorflow 代码,需要提供 API 对外访问,目前想到的办法就是微服务,通过 Fegin 调用,有没有更好的办法?

    9 条回复    2023-06-16 11:20:28 +08:00
    dayeye2006199
        1
    dayeye2006199  
       2023-05-27 11:50:12 +08:00
    模型导出来,转成 onnx 格式。

    然后程序侧用 onnxruntime 的 java binding 把模型导入进来: https://onnxruntime.ai/docs/get-started/with-java.html
    a33291
        2
    a33291  
       2023-05-27 12:02:24 +08:00
    onnx 貌似说有性能和精度损失?
    ciki
        3
    ciki  
    OP
       2023-05-27 12:09:10 +08:00
    @dayeye2006199 需要接受用户的原始数据做训练
    dayeye2006199
        4
    dayeye2006199  
       2023-05-27 12:17:18 +08:00
    @ciki 那还是单独做个服务,拿 API 或者 RPC 暴露出来把。

    你是要帮助用户去微调模型?
    ciki
        5
    ciki  
    OP
       2023-05-27 13:18:58 +08:00
    @dayeye2006199 做迁移学习
    liuzhedash
        6
    liuzhedash  
       2023-05-27 14:06:03 +08:00
    孤陋寡闻了,居然没听说过 Fegin 。
    做过类似事儿,是通过套一层 flask ,提供一些 REST API 实现的,把并发调用的情况处理好,或者干脆业务层面不让并发统统排队,就没啥问题。
    litchinn
        7
    litchinn  
       2023-05-27 15:23:16 +08:00
    java 直接调用 python 呢,https://github.com/ninia/jep
    不过这些方法没有谁比谁好,看你的使用场景来选择吧
    ciki
        8
    ciki  
    OP
       2023-05-29 10:14:58 +08:00
    @litchinn 看了下,不太敢上生产
    Lambdua
        9
    Lambdua  
       2023-06-16 11:20:28 +08:00
    这个库,我又在用,还算稳定,只是要开发 java 的人熟悉 python
    @ciki
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3267 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:08 · PVG 20:08 · LAX 04:08 · JFK 07:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.