Spring Boot中集成DJL运行Python PyTorch模型:MNIST实战

Java Spring Boot 使用DJL 部署python训练的PyTorch模型(MNIST)

Java 使用 DJL 训练模型:https://blog.csdn.net/xundh/category_11361043.html?spm=1001.2014.3001.5515

DJL官网:https://docs.djl.ai/index.html

Python 训练Pytorch模型

本项目采用
PyTorch==1.10.0

版本训练。

复制代码
pytorch                   1.10.0          py3.9_cuda11.3_cudnn8_0    pytorch
pytorch-mutex             1.0                        cuda    pytorch
requests                  2.28.1                   pypi_0    pypi
scipy                     1.9.3                    pypi_0    pypi
setuptools                65.6.3             pyhd8ed1ab_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
six                       1.16.0                   pypi_0    pypi
tbb                       2021.7.0             h91493d7_1    conda-forge
tk                        8.6.12               h8ffe710_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
torchaudio                0.10.0               py39_cu113    pytorch
torchsummary              1.5.1                    pypi_0    pypi
torchvision               0.11.0               py39_cu113    pytorch

修改模型保存方法:

复制代码
model.eval()  # 模型验证模式
example = torch.rand(1, 1, 28, 28).to(device)  # 模型输入层
traced_script_module = torch.jit.trace(model, example)  # trace
traced_script_module.save('models/{}_model.pt'.format(val_ac))  # 保存模型

Java Spring Boot使用DJL调用模型

pom.xml

复制代码
<!-- djl 依赖 -->
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-engine</artifactId>
<version>0.19.0</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-jni</artifactId>
<version>1.12.1-0.19.0</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>ai.djl</groupId>
<artifactId>api</artifactId>
<version>0.19.0</version>
</dependency>

<dependency>
<groupId>ai.djl.opencv</groupId>
<artifactId>opencv</artifactId>
相关推荐
武天旭11 小时前
AI安全--AI大模型的毒性偏见与安全对齐实践
人工智能·python·深度学习
AI源码11 小时前
旅游推荐管理系统
spring boot
视觉小萌新12 小时前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
小小张说故事13 小时前
Python 的 obj.x 到底按什么顺序找?拆开数据描述符、实例字典和 __getattr__ 那条优先级链
python
用户114818678948414 小时前
水印的实现方式逻辑
前端·python
贾公子14 小时前
从单条内容到账号维度——AIGC 风险评分的工程实现
后端·python
aiks_yuan14 小时前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
木头左15 小时前
【Python】不点浏览器发博客:逆向 CSDN 创作中心接口做 md-publish 技能
python·自动化·api
Tt有了t16 小时前
设计模式速查
java·python·设计模式
Thomas.Sir16 小时前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot