SpringBoot通过ONNXRUNTIME调用深度学习模型

半年时间未见了,技术又有了进步,特来分享,废话不多说,先来代码链接(最近学了git,可以上传到github了)https://github.com/2825354549/Spring_MySql          如果有用,记得点star

整个项目基于java的技术栈,主要使用SpringBoot、onnxruntime、MySQL等。

项目树结构如图所示。

需要一定的java技术栈  只有一个功能 就是说前端调用接口,后端从数据库取数据,经过onnx模型处理后,把数据返回给前端。

之所以用onnx格式,是希望提高深度学习的速度,之前用Flask框架取调用,速度较慢。

现在用SpringBoot框架后,速度提升了5~6倍

还有就是docker部署的时候,PyTorch环境太过于庞大,不太方便。

当然我的代码文件里面 已经写好了dockfile文件,可以适当修改就能使用,完全开源

controller层就一个接口  很方便集成  目前就是scrum开发

package com.ly.springboot.controller;


import com.ly.mysql.domain.Drilling;
import com.ly.springboot.service.PredictService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@CrossOrigin
@RestController
@RequestMapping("/predict")
public class PostPredictController {

    @Autowired
    private PredictService predictService;

    @GetMapping("/data")
//    public List<Drilling> getDrillingData() {
//        return predictService.getList();
//    }
    public float[][] getPredictedData() {
        try {
            // 调用predict3方法并返回预测数据
            return predictService.predict3();
        } catch (Exception e) {
            // 异常处理逻辑,根据需要进行修改
            e.printStackTrace();
            return null; // 或者返回一个错误信息
        }
    }
}

主程序  当然 需要修改onnx模型的路径 在application.yaml文件里面修改即可(文件已有)然后一键启动即可  当然我也打包了jar包 你需要重新打包才能运行

package com.ly;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
@MapperScan("com.ly.mysql.mapper")
public class SpringMySqlApplication {
	public static void main(String[] args) {
		SpringApplication.run(SpringMySqlApplication.class, args);
        System.out.println("helloworld");
    }
}

好了 最后感慨几句 需要交流的可以后台留言即可  

研究生读到现在,挺迷茫的。小论文被拒稿,没时间改格式换期刊投。老师push给他干项目,项目代码全靠ChatGPT,对我自身能力提高一点帮助都没有,找工作完全不敢找开发算法岗,只能去干测试岗(7、8 k一个月,测开要求又高)。实习也找不到,八股记不住,leetcode算法题完全不会。我这个混子,就业怎么办啊! 研究生一事无成?这个研究生已然是围城,以前不懂过来人说的围城,现在体会到了。看到那么多人保研考研来读研究生,评论区还是有围城评论,其实还是蛮感慨的。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值