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中使用快照依賴時可能有用的兩個命令如下:
-U
- 例如, 在mvn package -U
. 這個-U
選項強制Maven去檢查 (並且有必要的話,下載)最新的快照版。這在你需要確保你有絕對最新快照版時很有用。-nsu
- 例如, 在mvn package -nsu
. 這個-nsu
選項停止Maven正在進行的快照版檢查。但是,請注意,只有當你有一些快照依賴項已經下載到本地Maven快取 (.m2 目錄)中時,你的構建才會成功使用此選項。
另一種方法(1)是在<repositories>節點
設定 <updatePolicy>always</updatePolicy>
另一種方法(2)是在<repositories>節點
設定設定<updatePolicy>never</updatePolicy>
Gradle使用者需知
Snapshots will not work with Gradle. You must use Maven to download the files. After that, you may try using your local Maven repository with mavenLocal()
.
A bare minimum file like this:
快照不能與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>
節點。
翻譯:風一樣的男子
有任何問題請聯絡微信
如果您覺得我的文章給了您幫助,請為我買一杯飲料吧!以下是我的支付寶,意思一下我將非常感激!