Java DJL通过内置引擎抽象和原生库绑定,纯Java调用PyTorch(基于torch-jni)与TensorFlow(基于tensorflow-java),支持统一Model/Predictor接口、自动下载native库、跨引擎代码复用,专注推理场景。

Java DJL 可以直接集成 PyTorch 和 TensorFlow 模型,无需自己封装 JNI 或调用 Python 进程,核心靠的是内置的引擎抽象和原生库绑定。它不是简单地“调用”PyTorch/TensorFlow,而是通过统一的 Model、Predictor、NDArray 接口,底层自动加载对应引擎的 native library(如 libtorch.so / libtensorflow.so),实现纯 Java 调用。
PyTorch 引擎支持:基于 LibTorch 的 Java 绑定
DJL 使用 Facebook 官方维护的 torch-jni 库(即 LibTorch 的 Java 封装),所有 PyTorch 操作最终转为 C++ 执行。你不需要安装 Python 或 PyTorch 环境。
- 添加依赖(Maven):
<dependency><br> <groupid>ai.djl.pytorch</groupid><br> <artifactid>pytorch-engine</artifactid><br> <version>0.27.0</version><br> </dependency> - 模型格式支持:.pt(ScriptModule)、.zip(TorchScript)、.pth(state dict + 自定义加载逻辑);推荐用 TorchScript 导出,保证跨语言兼容性。
- 自动下载 native 库:首次运行时,DJL 根据操作系统和 CPU/GPU 自动拉取对应版本的 libtorch(如 linux-x86_64-cu118),缓存在 ~/.djl.ai/cache。
TensorFlow 引擎支持:基于 TensorFlow Java API
DJL 使用 Google 官方 tensorflow-java 项目(非 JNI 封装,而是基于 TensorFlow C API 的 Java binding),支持 SavedModel 和 Frozen Graph(.pb)。
标签: linux python java js json go 操作系统 facebook ai c++ win google
还木有评论哦,快来抢沙发吧~