Deep Java Library (DJL) 项目入门指南:获取与构建方法详解
djl An Engine-Agnostic Deep Learning Framework in Java 项目地址: https://gitcode.com/gh_mirrors/dj/djl
前言
Deep Java Library (DJL) 是一个开源的深度学习框架,它允许Java开发者在不具备深度学习专业知识的情况下,也能轻松构建和部署深度学习模型。本文将详细介绍获取DJL的几种方式,帮助开发者根据自身需求选择最合适的方案。
一、通过Maven Central获取稳定版本
对于大多数开发者来说,从Maven Central获取DJL是最简单可靠的方式。Maven Central是Java生态中最主要的依赖仓库,包含了DJL的所有稳定版本。
1.1 添加依赖的方式
根据项目构建工具的不同,添加方式有所区别:
Gradle项目
在build.gradle
文件中添加:
dependencies {
implementation platform("ai.djl:bom:0.34.0")
implementation "ai.djl:api"
implementation "ai.djl.pytorch:pytorch-engine"
}
Maven项目
在pom.xml
文件中添加:
<dependency>
<groupId>ai.djl</groupId>
<artifactId>api</artifactId>
<version>0.34.0</version>
</dependency>
1.2 使用BOM管理版本
DJL提供了Bill of Materials (BOM)来统一管理各模块版本,这是推荐的做法:
dependencies {
// 使用BOM管理版本
implementation platform("ai.djl:bom:0.34.0")
// 无需指定版本
implementation "ai.djl:api"
implementation "ai.djl.pytorch:pytorch-engine"
}
二、使用Nightly Snapshots获取最新功能
如果你需要体验DJL的最新功能,可以使用Nightly Snapshots版本。
2.1 配置Snapshot仓库
首先需要添加Snapshot仓库地址:
Gradle配置
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
Maven配置
<repositories>
<repository>
<id>djl-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
2.2 使用Snapshot版本
Snapshot版本的命名规则为<下一版本号>-SNAPSHOT
。例如当前稳定版是0.34.0,则Snapshot版本为:
dependencies {
implementation platform("ai.djl:bom:0.35.0-SNAPSHOT")
}
2.3 注意事项
- Snapshot版本每两周会清理一次
- 当新版本发布后,需要及时更新到新的稳定版或下一个Snapshot版
- 不推荐在生产环境使用Snapshot版本
三、从源码构建DJL
如果你需要定制DJL或参与开发,可以从源码构建。
3.1 基本构建命令
# Linux/macOS
./gradlew build
# Windows
gradlew build
跳过测试以加快构建速度:
./gradlew build -x test
3.2 导入到IDE
Eclipse导入
- 生成Eclipse项目文件:
./gradlew eclipse
- 在Eclipse中选择:File → Import → Gradle → Existing Gradle Project
重要提示:确保将工作区文本编码设置为UTF-8
3.3 使用特定版本
可以检出特定版本进行构建:
git checkout v0.34.0
./gradlew build
3.4 在项目中使用本地构建版本
- 首先构建并发布到本地Maven仓库:
./gradlew build publishToMavenLocal
- 在项目中添加本地仓库:
repositories {
mavenLocal()
}
- 使用本地构建的版本:
dependencies {
implementation platform("ai.djl:bom:0.35.0-SNAPSHOT")
}
四、版本选择建议
- 生产环境:使用Maven Central上的稳定版本
- 体验新功能:使用Snapshot版本
- 定制开发/调试:从源码构建
五、常见问题解答
Q:Snapshot版本和稳定版有什么区别? A:Snapshot版本包含最新的开发代码,可能有不稳定的新功能;稳定版经过充分测试,适合生产环境。
Q:为什么需要设置UTF-8编码? A:DJL项目包含多语言资源文件,UTF-8编码能确保正确处理这些文件。
Q:本地构建失败怎么办? A:确保已安装JDK 8或更高版本,Gradle版本符合要求,网络连接正常可下载依赖。
通过本文的介绍,相信你已经掌握了获取DJL的各种方法。根据你的具体需求选择合适的获取方式,开始你的深度学习之旅吧!
djl An Engine-Agnostic Deep Learning Framework in Java 项目地址: https://gitcode.com/gh_mirrors/dj/djl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考