DL4J中文文档/配置/快照

内容

  • 快照介绍
  • 安装说明
  • 局限
  • ND4J后端配置
  • Gradle用户需知

概述/介绍

我们提供仓库的自动化日常构建,如ND4J, DataVec, DeepLearning4j, RL4J等等,所以所有最新的功能和最新的bug修复都是每天发布的。

快照像任何其他的Maven依赖一样工作。唯一的区别是,它们是从自定义存储库提供的,而不是从Maven Central提供的。

由于正在进行的开发,快照版应该被认为比发布版更不稳定:在正常开发过程中,原则上可以在任何时候引入破坏性的变化或错误。通常情况下,应在可能的情况下使用发布版本(不是快照),除非需要修复错误或需要新的功能。

安装说明

步骤1: 若要在项目中使用快照,应将像这样将快照仓库信息添加到你的POM.xml文件中:

<repositories>
    <repository>
        <id>snapshots-repo</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>daily</updatePolicy>  <!-- Optional, update daily -->
        </snapshots>
    </repository>
</repositories>

步骤2: 请确保指定快照版本。我们遵循一个简单的规则:如果最新的稳定发布版本是A.B.C,快照版本将是A.B.(C+1)-SNAPSHOT。当前快照版本为 1.0.0-SNAPSHOT。有关pom.xml文件的存储库部分的更多细节,请参见Maven 文档

如果使用类似DL4J示例的属性,则更改:从版本:

<dl4j.version>1.0.0-beta2</dl4j.version>
<nd4j.version>1.0.0-beta2</nd4j.version>

改为版本:

<dl4j.version>1.0.0-SNAPSHOT</dl4j.version>
<nd4j.version>1.0.0-SNAPSHOT</nd4j.version>

对于Spark依赖,按如下改变:

<dl4j.spark.version>1.0.0-beta2_spark_2</dl4j.spark.version>

改为

<dl4j.spark.version>1.0.0_spark_2-SNAPSHOT</dl4j.spark.version>

使用快照的示例pom.xml

这里提供了示例pom.xml:使用快照的示例pom.xml。这是从DL4J独立示例项目中获取的,并且使用上面的步骤1和2进行了修改。原件(使用最新版本)可以在这里找到

局限

平台(所有操作系统)和单OS(非平台)快照依赖都已发布。由于快照的多平台构建特性,平台artifacts有可能(尽管很少)暂时失去同步,这可能导致构建问题。

如果只在一个平台上构建和部署,则使用非平台artifacts,如:

        <dependency>
            <groupId>org.nd4j</groupId>
            <artifactId>nd4j-native</artifactId>
            <version>${nd4j.version}</version>
        </dependency>

用于快照的有用的Maven命令

在Maven中使用快照依赖时可能有用的两个命令如下:

  1. -U - 例如, 在  mvn package -U. 这个 -U 选项强制Maven去检查 (并且有必要的话,下载)最新的快照版。这在你需要确保你有绝对最新快照版时很有用。 
  2. -nsu - 例如, 在 mvn package -nsu. 这个 -nsu 选项停止Maven正在进行的快照版检查。但是,请注意,只有当你有一些快照依赖项已经下载到本地Maven缓存 (.m2 目录)中时,你的构建才会成功使用此选项。

另一种方法(1)是在<repositories>节点设置 <updatePolicy>always</updatePolicy> 

另一种方法(2)是在<repositories>节点设置设置<updatePolicy>never</updatePolicy>

Gradle用户需知

快照不能与Gradle一起工作。你必须使用Maven下载文件。之后,你可以尝试使用 mavenLocal()使用本地Maven仓库。

最小文件像这样:

version '1.0-SNAPSHOT'
 
apply plugin: 'java'
 
sourceCompatibility = 1.8
 
repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    mavenCentral()
}
 
dependencies {
    compile group: 'org.deeplearning4j', name: 'deeplearning4j-core', version: '1.0.0-SNAPSHOT'
    compile group: 'org.deeplearning4j', name: 'deeplearning4j-modelimport', version: '1.0.0-SNAPSHOT'
    compile "org.nd4j:nd4j-native:1.0.0-SNAPSHOT"
    // Use windows-x86_64 or linux-x86_64 if you are not on macos
    compile "org.nd4j:nd4j-native:1.0.0-SNAPSHOT:macosx-x86_64"
    testCompile group: 'junit', name: 'junit', version: '4.12'
 
}

应该在理论上工作,但事实并非如此。这是因为Gradle的一个缺陷。带有快照的Gradle和Maven分类器似乎有问题。

值得注意的是,当使用Gradle上的ND4J本地后端(和SBT -但不是Maven)时,需要添加OpenBLAS作为依赖项。我们在-platform pom上为你做了这件事。参考-platform pom 这里来重复检查你的依赖关系。请注意,这些是版本属性。有关运行 nd4j-native所需的OpenBLAS和javacpp presets当前版本,请参阅POM的<properties>节点。

翻译:风一样的男子

有任何问题请联系微信

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值