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>
相关推荐
white-persist18 小时前
网络空间安全核心领域技术架构深度解析
c语言·开发语言·网络·python·安全·网络安全·架构
qq_4639448618 小时前
如何修改Anaconda虚拟环境的名字?
开发语言·python·anaconda
程序员根根18 小时前
SpringBoot Web 入门核心知识点(快速开发案例 + 分层解耦实战)
java·spring boot
南风以南18 小时前
Python中迭代器和生成器:让数据“懒”得刚刚好 💤
python
song50118 小时前
鸿蒙 Flutter 复杂表单验证:自定义规则与联动逻辑
分布式·python·flutter·ci/cd·分类
databook19 小时前
数据点的“社交距离”:衡量它们之间的相似与差异
python·数据挖掘·数据分析
keineahnung234519 小时前
PyTorch動態形狀系統的基石 - SymNode
人工智能·pytorch·python·深度学习
AwakeFantasy19 小时前
关于最近想做一个基于日k选股票的系统这件事
python·股票·量化
昔时扬尘处19 小时前
如何检测python和pytest的安装环境
开发语言·python·pytest·自动化测试平台·adi
码界奇点19 小时前
基于Django与Ansible的自动化运维管理系统设计与实现
运维·python·django·毕业设计·ansible·源代码管理