ciki
V2EX  ›  Java

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

  •  
  •   ciki · May 27, 2023 · 2469 views
    This topic created in 1156 days ago, the information mentioned may be changed or developed.

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

    9 replies    2023-06-16 11:20:28 +08:00
    dayeye2006199
        1
    dayeye2006199  
       May 27, 2023
    模型导出来,转成 onnx 格式。

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

    你是要帮助用户去微调模型?
    ciki
        5
    ciki  
    OP
       May 27, 2023
    @dayeye2006199 做迁移学习
    liuzhedash
        6
    liuzhedash  
       May 27, 2023
    孤陋寡闻了,居然没听说过 Fegin 。
    做过类似事儿,是通过套一层 flask ,提供一些 REST API 实现的,把并发调用的情况处理好,或者干脆业务层面不让并发统统排队,就没啥问题。
    litchinn
        7
    litchinn  
       May 27, 2023
    java 直接调用 python 呢,https://github.com/ninia/jep
    不过这些方法没有谁比谁好,看你的使用场景来选择吧
    ciki
        8
    ciki  
    OP
       May 29, 2023
    @litchinn 看了下,不太敢上生产
    Lambdua
        9
    Lambdua  
       Jun 16, 2023
    这个库,我又在用,还算稳定,只是要开发 java 的人熟悉 python
    @ciki
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2755 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 764ms · UTC 15:16 · PVG 23:16 · LAX 08:16 · JFK 11:16
    ♥ Do have faith in what you're doing.