From 4a52ddc3db2dd46b27ee38875b788e81cf5f105e Mon Sep 17 00:00:00 2001 From: Xin Yang <105740670+xyang16@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:12:52 -0800 Subject: [PATCH 1/4] Update to DJL 0.20.0 (#190) * Update to DJL 0.20.0 * Fix NDArray.toDebugString() error --- chapter_installation/index.ipynb | 4 ++-- chapter_preliminaries/lookup-api.ipynb | 2 +- .../language-models-and-dataset.ipynb | 8 ++++---- debug/build.gradle | 2 +- homework/solutions/homework1_sol.ipynb | 4 ++-- utils/djl-imports.ipynb | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/chapter_installation/index.ipynb b/chapter_installation/index.ipynb index f4e165bb..530c6c3e 100644 --- a/chapter_installation/index.ipynb +++ b/chapter_installation/index.ipynb @@ -127,12 +127,12 @@ "\n", "```java\n", "// Add the maven dependencies\n", - "%maven ai.djl:api:0.19.0\n", + "%maven ai.djl:api:0.20.0\n", "%maven org.slf4j:slf4j-simple:2.0.1\n", " \n", "// See https://github.com/deepjavalibrary/djl/blob/master/mxnet/mxnet-engine/README.md\n", "// for more MXNet library selection options\n", - "%maven ai.djl.mxnet:mxnet-engine:0.19.0\n", + "%maven ai.djl.mxnet:mxnet-engine:0.20.0\n", "```\n", "\n", "To avoid repeatedly adding maven dependencies and import required packages, we just load a predefined jupyter notebook: \n", diff --git a/chapter_preliminaries/lookup-api.ipynb b/chapter_preliminaries/lookup-api.ipynb index aba14212..c37b8ed8 100644 --- a/chapter_preliminaries/lookup-api.ipynb +++ b/chapter_preliminaries/lookup-api.ipynb @@ -60,7 +60,7 @@ "\n", "For more specific instructions on how to use a given function or class, we can click the desired function or go to it directly by scrolling down and searching for it. As an example, let us explore the usage instructions for `NDManager`'s `ones` function which takes a `Shape` as a parameter. \n", "\n", - "https://javadoc.io/static/ai.djl/api/0.19.0/ai/djl/ndarray/NDManager.html#ones(ai.djl.ndarray.types.Shape)\n" + "https://javadoc.io/static/ai.djl/api/0.20.0/ai/djl/ndarray/NDManager.html#ones(ai.djl.ndarray.types.Shape)\n" ] }, { diff --git a/chapter_recurrent-neural-networks/language-models-and-dataset.ipynb b/chapter_recurrent-neural-networks/language-models-and-dataset.ipynb index 1c8cbe22..fae4dafe 100644 --- a/chapter_recurrent-neural-networks/language-models-and-dataset.ipynb +++ b/chapter_recurrent-neural-networks/language-models-and-dataset.ipynb @@ -477,8 +477,8 @@ "}\n", "\n", "for (NDList pair : seqDataIterRandom(mySeq, 2, 5, manager)) {\n", - " System.out.println(\"X:\\n\" + pair.get(0).toDebugString(50, 50, 50, 50));\n", - " System.out.println(\"Y:\\n\" + pair.get(1).toDebugString(50, 50, 50, 50));\n", + " System.out.println(\"X:\\n\" + pair.get(0).toDebugString(50, 50, 50, 50, true));\n", + " System.out.println(\"Y:\\n\" + pair.get(1).toDebugString(50, 50, 50, 50, true));\n", "}" ] }, @@ -555,8 +555,8 @@ "outputs": [], "source": [ "for (NDList pair : seqDataIterSequential(mySeq, 2, 5, manager)) {\n", - " System.out.println(\"X:\\n\" + pair.get(0).toDebugString(10, 10, 10, 10));\n", - " System.out.println(\"Y:\\n\" + pair.get(1).toDebugString(10, 10, 10, 10));\n", + " System.out.println(\"X:\\n\" + pair.get(0).toDebugString(10, 10, 10, 10, true));\n", + " System.out.println(\"Y:\\n\" + pair.get(1).toDebugString(10, 10, 10, 10, true));\n", "}" ] }, diff --git a/debug/build.gradle b/debug/build.gradle index a87b2a57..b139c4be 100644 --- a/debug/build.gradle +++ b/debug/build.gradle @@ -28,7 +28,7 @@ configure(this) { apply from: file("tools/gradle/java-formatter.gradle") } -def djl_version = "0.19.0" +def djl_version = "0.20.0" dependencies { implementation platform("ai.djl:bom:${djl_version}") diff --git a/homework/solutions/homework1_sol.ipynb b/homework/solutions/homework1_sol.ipynb index 7d6fa1bd..bd7fb77a 100644 --- a/homework/solutions/homework1_sol.ipynb +++ b/homework/solutions/homework1_sol.ipynb @@ -32,11 +32,11 @@ "source": [ "%mavenRepo snapshots https://oss.sonatype.org/content/repositories/snapshots/\n", "\n", - "%maven ai.djl:api:0.19.0\n", + "%maven ai.djl:api:0.20.0\n", "%maven org.slf4j:slf4j-api:2.0.1\n", "%maven org.slf4j:slf4j-simple:2.0.1\n", "\n", - "%maven ai.djl.mxnet:mxnet-engine:0.19.0" + "%maven ai.djl.mxnet:mxnet-engine:0.20.0" ] }, { diff --git a/utils/djl-imports.ipynb b/utils/djl-imports.ipynb index 225c2531..2221e9c2 100644 --- a/utils/djl-imports.ipynb +++ b/utils/djl-imports.ipynb @@ -6,8 +6,8 @@ "metadata": {}, "outputs": [], "source": [ - "%maven ai.djl:basicdataset:0.19.0\n", - "%maven ai.djl.mxnet:mxnet-engine:0.19.0\n", + "%maven ai.djl:basicdataset:0.20.0\n", + "%maven ai.djl.mxnet:mxnet-engine:0.20.0\n", "%maven org.slf4j:slf4j-simple:2.0.1" ] }, From e480e43618e155e09355b9044c4bafca29c93e7d Mon Sep 17 00:00:00 2001 From: Frank Liu Date: Thu, 1 Dec 2022 12:05:43 -0800 Subject: [PATCH 2/4] Update dependency version (#192) --- debug/gradle.properties | 2 +- utils/djl-imports.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debug/gradle.properties b/debug/gradle.properties index a3e1f537..09be0d77 100644 --- a/debug/gradle.properties +++ b/debug/gradle.properties @@ -7,4 +7,4 @@ systemProp.org.gradle.internal.http.connectionTimeout=60000 # FIXME: Workaround gradle publish issue: https://github.com/gradle/gradle/issues/11308 systemProp.org.gradle.internal.publish.checksums.insecure=true -log4j_slf4j_version=2.17.2 +log4j_slf4j_version=2.19.0 diff --git a/utils/djl-imports.ipynb b/utils/djl-imports.ipynb index 2221e9c2..9b137f1b 100644 --- a/utils/djl-imports.ipynb +++ b/utils/djl-imports.ipynb @@ -8,7 +8,7 @@ "source": [ "%maven ai.djl:basicdataset:0.20.0\n", "%maven ai.djl.mxnet:mxnet-engine:0.20.0\n", - "%maven org.slf4j:slf4j-simple:2.0.1" + "%maven org.slf4j:slf4j-simple:1.7.36" ] }, { From 43922210bf250d828e73206135502348c4c45bd2 Mon Sep 17 00:00:00 2001 From: Takanori Ugai Date: Sat, 10 Dec 2022 04:21:58 +0900 Subject: [PATCH 3/4] To follow the change of NDArray.get (#189) * Uses explicitly addPickDim(y) for NDArray.get --- chapter_linear-networks/softmax-regression-scratch.ipynb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chapter_linear-networks/softmax-regression-scratch.ipynb b/chapter_linear-networks/softmax-regression-scratch.ipynb index bd5c2f24..0b786cae 100644 --- a/chapter_linear-networks/softmax-regression-scratch.ipynb +++ b/chapter_linear-networks/softmax-regression-scratch.ipynb @@ -354,7 +354,10 @@ " // before we can use it with NDIndex to \"pick\" indices. \n", " // It also takes in a boolean for returning a copy of the existing NDArray\n", " // but we don't want that so we pass in `false`.\n", - " return yHat.get(new NDIndex(\":, {}\", y.toType(DataType.INT32, false))).log().neg();\n", + " NDIndex pickIndex = new NDIndex()\n", + " .addAllDim(Math.floorMod(-1, yHat.getShape().dimension()))\n", + " .addPickDim(y);\n", + " return yHat.get(pickIndex).log().neg();\n", " }\n", "}" ] From bfa0b7dfac6651dde408ad53c9a66e09e5c5648e Mon Sep 17 00:00:00 2001 From: Frank Liu Date: Fri, 9 Dec 2022 11:22:29 -0800 Subject: [PATCH 4/4] [ci] Update deprecated github actions (#191) --- .github/workflows/canary_d2l.yml | 11 ++++++----- .github/workflows/colab.yml | 6 +++--- .github/workflows/pr_notebook.yml | 15 ++++++++------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.github/workflows/canary_d2l.yml b/.github/workflows/canary_d2l.yml index 7994788e..1b5225ce 100644 --- a/.github/workflows/canary_d2l.yml +++ b/.github/workflows/canary_d2l.yml @@ -13,16 +13,17 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: 'corretto' java-version: 11 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python3 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: - python-version: 3.7 + python-version: '3.x' - name: Install IJava kernel run: | pip3 install jupyter diff --git a/.github/workflows/colab.yml b/.github/workflows/colab.yml index 2af8b1fc..a8f03b61 100644 --- a/.github/workflows/colab.yml +++ b/.github/workflows/colab.yml @@ -8,11 +8,11 @@ on: jobs: sync: - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python3 - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: '3.x' - name: Add colab instruction on notebooks diff --git a/.github/workflows/pr_notebook.yml b/.github/workflows/pr_notebook.yml index f9b1d91b..08d761ab 100644 --- a/.github/workflows/pr_notebook.yml +++ b/.github/workflows/pr_notebook.yml @@ -12,7 +12,7 @@ on: jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest strategy: matrix: group: ["CH1_CH4_DROPOUT", "CH4_MID", "CH4_REST", "CH8_1", "CH8_2", "CH9_1", "CH9_2", "CH10_1", "CH10_2", "CH11", "CH14", "REST"] @@ -30,16 +30,17 @@ jobs: CH14: "word2vec.ipynb approx-training.ipynb word-embedding-dataset.ipynb glove.ipynb subword-embedding.ipynb" REST: "chapter_convolutional-neural-networks chapter_linear-networks utils" steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: + distribution: 'corretto' java-version: 11 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python3 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: - python-version: 3.7 + python-version: '3.x' - name: Install IJava kernel run: | pip3 install jupyter @@ -52,7 +53,7 @@ jobs: export MAX_EPOCH=2 bash test_notebook.sh $${{ matrix.group }} - name: generated Notebook in html - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v3 if: always() with: name: notebook