Skip to content

Commit

Permalink
* Map C++ JIT classes and functions of TorchScript in presets for Py…
Browse files Browse the repository at this point in the history
…Torch (issue #1068)
  • Loading branch information
saudet committed Aug 27, 2021
1 parent 6c2e0a1 commit 0fbd3fc
Show file tree
Hide file tree
Showing 1,377 changed files with 27,391 additions and 4,644 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

* Map C++ JIT classes and functions of TorchScript in presets for PyTorch ([issue #1068](https://github.com/bytedeco/javacpp-presets/issues/1068))
* Synchronize `cachePackage()` and prevent repeated package caching in all presets ([pull #1071](https://github.com/bytedeco/javacpp-presets/pull/1071))
* Build FFmpeg with VA-API enabled and bundle its libraries to avoid loading issues ([issue bytedeco/javacv#1188](https://github.com/bytedeco/javacv/issues/1188))
* Upgrade presets for Arrow 5.0.0, DNNL 2.3.2, SciPy 1.7.1, TensorFlow Lite 2.6.0, DepthAI 2.9.0, ONNX 1.10.1, ONNX Runtime 1.8.2, and their dependencies
Expand Down
10 changes: 5 additions & 5 deletions pytorch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,36 +38,36 @@ We can use [Maven 3](http://maven.apache.org/) to download and install automatic
<modelVersion>4.0.0</modelVersion>
<groupId>org.bytedeco.pytorch</groupId>
<artifactId>simplemnist</artifactId>
<version>1.5.6</version>
<version>1.5.7-SNAPSHOT</version>
<properties>
<exec.mainClass>SimpleMNIST</exec.mainClass>
</properties>
<dependencies>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>pytorch-platform</artifactId>
<version>1.9.0-1.5.6</version>
<version>1.9.0-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies required to use CUDA, cuDNN, and NCCL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>pytorch-platform-gpu</artifactId>
<version>1.9.0-1.5.6</version>
<version>1.9.0-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies to use bundled CUDA, cuDNN, and NCCL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>cuda-platform-redist</artifactId>
<version>11.4-8.2-1.5.6</version>
<version>11.4-8.2-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies to use bundled full version of MKL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>mkl-platform-redist</artifactId>
<version>2021.3-1.5.6</version>
<version>2021.3-1.5.7-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
Expand Down
37 changes: 37 additions & 0 deletions pytorch/samples/ExampleApp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// © Copyright 2021, PyTorch.

import org.bytedeco.javacpp.*;
import org.bytedeco.pytorch.*;
import static org.bytedeco.pytorch.global.torch.*;

// Ported from C++ code at https://pytorch.org/tutorials/advanced/cpp_export.html
public class ExampleApp {
public static void main(String[] args) throws Exception {
/* try to use MKL when available */
System.setProperty("org.bytedeco.openblas.load", "mkl");

if (args.length != 1) {
System.err.println("usage: java ExampleApp <path-to-exported-script-module>");
System.exit(-1);
}

JitModule module;
try {
// Deserialize the ScriptModule from a file using torch::jit::load().
module = load(args[0]);
} catch (Exception e) {
System.err.println("error loading the model");
throw e;
}

System.out.println("ok");

// Create a vector of inputs.
IValueVector inputs = new IValueVector();
inputs.push_back(new IValue(ones(1, 3, 224, 224)));

// Execute the model and turn its output into a tensor.
Tensor output = module.forward(inputs).toTensor();
print(output.slice(/*dim=*/1, /*start=*/new LongOptional(0), /*end=*/new LongOptional(5), /*step=*/1));
}
}
10 changes: 5 additions & 5 deletions pytorch/samples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.bytedeco.pytorch</groupId>
<artifactId>simplemnist</artifactId>
<version>1.5.6</version>
<version>1.5.7-SNAPSHOT</version>
<properties>
<exec.mainClass>SimpleMNIST</exec.mainClass>
<maven.compiler.target>1.7</maven.compiler.target>
Expand All @@ -12,28 +12,28 @@
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>pytorch-platform</artifactId>
<version>1.9.0-1.5.6</version>
<version>1.9.0-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies required to use CUDA, cuDNN, and NCCL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>pytorch-platform-gpu</artifactId>
<version>1.9.0-1.5.6</version>
<version>1.9.0-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies to use bundled CUDA, cuDNN, and NCCL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>cuda-platform-redist</artifactId>
<version>11.4-8.2-1.5.6</version>
<version>11.4-8.2-1.5.7-SNAPSHOT</version>
</dependency>

<!-- Additional dependencies to use bundled full version of MKL -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>mkl-platform-redist</artifactId>
<version>2021.3-1.5.6</version>
<version>2021.3-1.5.7-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
Expand Down
2 changes: 1 addition & 1 deletion pytorch/src/gen/java/org/bytedeco/pytorch/ASMoutput.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
10 changes: 5 additions & 5 deletions pytorch/src/gen/java/org/bytedeco/pytorch/Adagrad.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down Expand Up @@ -30,15 +30,15 @@ private native void allocate(@StdVector OptimizerParamGroup param_groups,
private native void allocate(@StdVector OptimizerParamGroup param_groups);

public Adagrad(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdagradOptions{}") AdagradOptions defaults) { super((Pointer)null); allocate(params, defaults); }
private native void allocate(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdagradOptions{}") AdagradOptions defaults);
public Adagrad(
@StdMove TensorVector params) { super((Pointer)null); allocate(params); }
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params) { super((Pointer)null); allocate(params); }
private native void allocate(
@StdMove TensorVector params);
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params);

public native @ByVal Tensor step(@ByVal(nullValue = "torch::optim::Optimizer::LossClosure(nullptr)") LossClosure closure);
public native @ByVal Tensor step();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
10 changes: 5 additions & 5 deletions pytorch/src/gen/java/org/bytedeco/pytorch/Adam.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down Expand Up @@ -29,15 +29,15 @@ private native void allocate(@StdVector OptimizerParamGroup param_groups,
public Adam(@StdVector OptimizerParamGroup param_groups) { super((Pointer)null); allocate(param_groups); }
private native void allocate(@StdVector OptimizerParamGroup param_groups);
public Adam(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdamOptions{}") AdamOptions defaults) { super((Pointer)null); allocate(params, defaults); }
private native void allocate(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdamOptions{}") AdamOptions defaults);
public Adam(
@StdMove TensorVector params) { super((Pointer)null); allocate(params); }
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params) { super((Pointer)null); allocate(params); }
private native void allocate(
@StdMove TensorVector params);
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params);

public native @ByVal Tensor step(@ByVal(nullValue = "torch::optim::Optimizer::LossClosure(nullptr)") LossClosure closure);
public native @ByVal Tensor step();
Expand Down
2 changes: 1 addition & 1 deletion pytorch/src/gen/java/org/bytedeco/pytorch/AdamOptions.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
10 changes: 5 additions & 5 deletions pytorch/src/gen/java/org/bytedeco/pytorch/AdamW.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down Expand Up @@ -29,15 +29,15 @@ private native void allocate(@StdVector OptimizerParamGroup param_groups,
public AdamW(@StdVector OptimizerParamGroup param_groups) { super((Pointer)null); allocate(param_groups); }
private native void allocate(@StdVector OptimizerParamGroup param_groups);
public AdamW(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdamWOptions{}") AdamWOptions defaults) { super((Pointer)null); allocate(params, defaults); }
private native void allocate(
@StdMove TensorVector params,
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params,
@ByVal(nullValue = "torch::optim::AdamWOptions{}") AdamWOptions defaults);
public AdamW(
@StdMove TensorVector params) { super((Pointer)null); allocate(params); }
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params) { super((Pointer)null); allocate(params); }
private native void allocate(
@StdMove TensorVector params);
@Cast({"", "std::vector<at::Tensor>"}) @StdMove TensorVector params);

public native @ByVal Tensor step(@ByVal(nullValue = "torch::optim::Optimizer::LossClosure(nullptr)") LossClosure closure);
public native @ByVal Tensor step();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Targeted by JavaCPP version 1.5.6: DO NOT EDIT THIS FILE
// Targeted by JavaCPP version 1.5.7-SNAPSHOT: DO NOT EDIT THIS FILE

package org.bytedeco.pytorch;

Expand Down
Loading

0 comments on commit 0fbd3fc

Please sign in to comment.