Skip to content

Commit 78540be

Browse files
committed
* Map instances of torch::OrderedDict using C++ templates from PyTorch (issue #623)
1 parent 366d4f0 commit 78540be

File tree

81 files changed

+1451
-293
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1451
-293
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
* Map instances of `torch::OrderedDict` using C++ templates from PyTorch ([issue #623](https://github.com/bytedeco/javacpp-presets/issues/623))
23
* Add presets for Bullet Physics SDK 3.22 ([pull #1153](https://github.com/bytedeco/javacpp-presets/pull/1153))
34
* Add `long[] pytorch.Tensor.shape()` method for convenience ([pull #1161](https://github.com/bytedeco/javacpp-presets/pull/1161))
45
* Enable DNNL codegen as BYOC backend in presets for TVM

pytorch/src/gen/java/org/bytedeco/pytorch/AliasInfoOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class AliasInfoOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef AliasInfoOptional put(@ByRef AliasInfoOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef AliasInfo get();
29+
public native @Name("value") @ByRef AliasInfo get();
3130
@ValueSetter public native AliasInfoOptional put(@ByRef AliasInfo value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/BoolOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class BoolOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef BoolOptional put(@ByRef BoolOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @Cast("bool") boolean get();
29+
public native @Name("value") @Cast("bool") boolean get();
3130
@ValueSetter public native BoolOptional put(@Cast("bool") boolean value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/ByteOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class ByteOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef ByteOptional put(@ByRef ByteOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native byte get();
29+
public native @Name("value") byte get();
3130
@ValueSetter public native ByteOptional put(byte value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/ClassTypePropertyOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class ClassTypePropertyOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef ClassTypePropertyOptional put(@ByRef ClassTypePropertyOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef ClassType.Property get();
29+
public native @Name("value") @ByRef ClassType.Property get();
3130
@ValueSetter public native ClassTypePropertyOptional put(@ByRef ClassType.Property value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/CppSignatureOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class CppSignatureOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef CppSignatureOptional put(@ByRef CppSignatureOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef CppSignature get();
29+
public native @Name("value") @ByRef CppSignature get();
3130
@ValueSetter public native CppSignatureOptional put(@ByRef CppSignature value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DeviceOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DeviceOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DeviceOptional put(@ByRef DeviceOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef Device get();
29+
public native @Name("value") @ByRef Device get();
3130
@ValueSetter public native DeviceOptional put(@ByRef Device value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DimVectorOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DimVectorOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DimVectorOptional put(@ByRef DimVectorOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef DimVector get();
29+
public native @Name("value") @ByRef DimVector get();
3130
@ValueSetter public native DimVectorOptional put(@ByRef DimVector value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DimnameListOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DimnameListOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DimnameListOptional put(@ByRef DimnameListOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef DimnameArrayRef get();
29+
public native @Name("value") @ByRef DimnameArrayRef get();
3130
@ValueSetter public native DimnameListOptional put(@ByRef DimnameArrayRef value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DimnameOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DimnameOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DimnameOptional put(@ByRef DimnameOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef Dimname get();
29+
public native @Name("value") @ByRef Dimname get();
3130
@ValueSetter public native DimnameOptional put(@ByRef Dimname value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DispatchKeyOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DispatchKeyOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DispatchKeyOptional put(@ByRef DispatchKeyOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef DispatchKey get();
29+
public native @Name("value") @ByRef DispatchKey get();
3130
@ValueSetter public native DispatchKeyOptional put(@ByRef DispatchKey value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DoubleArrayRefOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DoubleArrayRefOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DoubleArrayRefOptional put(@ByRef DoubleArrayRefOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef DoubleArrayRef get();
29+
public native @Name("value") @ByRef DoubleArrayRef get();
3130
@ValueSetter public native DoubleArrayRefOptional put(@ByRef DoubleArrayRef value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DoubleExpandingArrayOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DoubleExpandingArrayOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DoubleExpandingArrayOptional put(@ByRef DoubleExpandingArrayOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @Cast("torch::ExpandingArray<1,double>*") @ByRef DoublePointer get();
29+
public native @Name("value") @Cast("torch::ExpandingArray<1,double>*") @ByRef DoublePointer get();
3130
@ValueSetter public native DoubleExpandingArrayOptional put(@Cast("torch::ExpandingArray<1,double>*") @ByRef DoublePointer value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DoubleOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DoubleOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DoubleOptional put(@ByRef DoubleOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native double get();
29+
public native @Name("value") double get();
3130
@ValueSetter public native DoubleOptional put(double value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/DoubleVectorOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class DoubleVectorOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef DoubleVectorOptional put(@ByRef DoubleVectorOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @Cast("std::vector<double>*") @ByRef DoubleVector get();
29+
public native @Name("value") @Cast("std::vector<double>*") @ByRef DoubleVector get();
3130
@ValueSetter public native DoubleVectorOptional put(@Cast("std::vector<double>*") @ByRef DoubleVector value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/Function.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class Function extends Pointer {
3434

3535
public native @ByVal @Name("operator ()") IValue apply(
3636
@ByVal IValueVector stack,
37-
@Cast("const torch::jit::Kwargs*") @ByRef(nullValue = "torch::jit::Kwargs()") IValueIValueMap kwargs);
37+
@Cast("const torch::jit::Kwargs*") @ByRef(nullValue = "torch::jit::Kwargs()") HashAliasedIValueMap kwargs);
3838
public native @ByVal @Name("operator ()") IValue apply(
3939
@ByVal IValueVector stack);
4040

pytorch/src/gen/java/org/bytedeco/pytorch/GeneratorOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class GeneratorOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef GeneratorOptional put(@ByRef GeneratorOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef Generator get();
29+
public native @Name("value") @ByRef Generator get();
3130
@ValueSetter public native GeneratorOptional put(@ByRef Generator value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/GenericDict.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import static org.bytedeco.openblas.global.openblas.*;
1515

1616
import static org.bytedeco.pytorch.global.torch.*;
17-
18-
@Namespace("c10::ivalue") @Opaque @Properties(inherit = org.bytedeco.pytorch.presets.torch.class)
17+
// namespace torch
18+
@Name("c10::Dict<c10::IValue,c10::IValue>") @Opaque @Properties(inherit = org.bytedeco.pytorch.presets.torch.class)
1919
public class GenericDict extends Pointer {
2020
/** Empty constructor. Calls {@code super((Pointer)null)}. */
2121
public GenericDict() { super((Pointer)null); }

pytorch/src/gen/java/org/bytedeco/pytorch/IValueIValueMap.java pytorch/src/gen/java/org/bytedeco/pytorch/HashAliasedIValueMap.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@
1616
import static org.bytedeco.pytorch.global.torch.*;
1717

1818
@Name("std::unordered_map<c10::IValue,c10::IValue,c10::IValue::HashAliasedIValue,c10::IValue::CompAliasedIValues>") @Properties(inherit = org.bytedeco.pytorch.presets.torch.class)
19-
public class IValueIValueMap extends Pointer {
19+
public class HashAliasedIValueMap extends Pointer {
2020
static { Loader.load(); }
2121
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
22-
public IValueIValueMap(Pointer p) { super(p); }
23-
public IValueIValueMap() { allocate(); }
22+
public HashAliasedIValueMap(Pointer p) { super(p); }
23+
public HashAliasedIValueMap() { allocate(); }
2424
private native void allocate();
25-
public native @Name("operator =") @ByRef IValueIValueMap put(@ByRef IValueIValueMap x);
25+
public native @Name("operator =") @ByRef HashAliasedIValueMap put(@ByRef HashAliasedIValueMap x);
2626

2727
public boolean empty() { return size() == 0; }
2828
public native long size();
2929

3030
@Index public native @ByRef IValue get(@ByRef IValue i);
31-
public native IValueIValueMap put(@ByRef IValue i, IValue value);
31+
public native HashAliasedIValueMap put(@ByRef IValue i, IValue value);
3232

3333
public native void erase(@ByVal Iterator pos);
3434
public native @ByVal Iterator begin();

pytorch/src/gen/java/org/bytedeco/pytorch/IValueSet.java pytorch/src/gen/java/org/bytedeco/pytorch/HashAliasedIValues.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
import static org.bytedeco.pytorch.global.torch.*;
1717

1818
@Name("std::unordered_set<c10::IValue,c10::IValue::HashAliasedIValue,c10::IValue::CompAliasedIValues>") @Properties(inherit = org.bytedeco.pytorch.presets.torch.class)
19-
public class IValueSet extends Pointer {
19+
public class HashAliasedIValues extends Pointer {
2020
static { Loader.load(); }
2121
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
22-
public IValueSet(Pointer p) { super(p); }
23-
public IValueSet() { allocate(); }
22+
public HashAliasedIValues(Pointer p) { super(p); }
23+
public HashAliasedIValues() { allocate(); }
2424
private native void allocate();
25-
public native @Name("operator =") @ByRef IValueSet put(@ByRef IValueSet x);
25+
public native @Name("operator =") @ByRef HashAliasedIValues put(@ByRef HashAliasedIValues x);
2626

2727
public boolean empty() { return size() == 0; }
2828
public native long size();

pytorch/src/gen/java/org/bytedeco/pytorch/IMethod.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class IMethod extends Pointer {
2525

2626
public native @ByVal @Name("operator ()") IValue apply(
2727
@ByVal IValueVector args,
28-
@Cast("const torch::IMethod::IValueMap*") @ByRef(nullValue = "torch::IMethod::IValueMap()") IValueIValueMap kwargs);
28+
@Cast("const torch::IMethod::IValueMap*") @ByRef(nullValue = "torch::IMethod::IValueMap()") HashAliasedIValueMap kwargs);
2929
public native @ByVal @Name("operator ()") IValue apply(
3030
@ByVal IValueVector args);
3131

pytorch/src/gen/java/org/bytedeco/pytorch/IValue.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,11 @@ public class IValue extends Pointer {
265265
// This SNIFAEs the called constructor exists.
266266

267267
// GenericDict
268-
public IValue(@ByVal IValueIValueDict v) { super((Pointer)null); allocate(v); }
269-
private native void allocate(@ByVal IValueIValueDict v);
268+
public IValue(@ByVal GenericDict v) { super((Pointer)null); allocate(v); }
269+
private native void allocate(@ByVal GenericDict v);
270270
public native @Cast("bool") boolean isGenericDict();
271271

272-
public native @ByVal IValueIValueDict toGenericDict();
272+
public native @ByVal GenericDict toGenericDict();
273273

274274
// ClassType
275275
public native @Cast("bool") boolean isObject();
@@ -449,12 +449,12 @@ public static class CompAliasedIValues extends Pointer {
449449
public native @Cast("bool") boolean overlaps(@Const @ByRef IValue rhs);
450450

451451
// Inserts all subvalues of this in subValues.
452-
public native void getSubValues(@Cast("c10::IValue::HashAliasedIValues*") @ByRef IValueSet subValues);
452+
public native void getSubValues(@ByRef HashAliasedIValues subValues);
453453

454454
// Apply visitor to every subvalue.
455455
// TODO: There are several places that recurse over IValue. This is fragile.
456456
// This visitor should be used to recurse over ivalues.
457457
public native void visit(@Const @ByRef IValueVisitor visitor);
458458
public native @ByVal IValue deepcopy();
459-
public native @ByVal IValue deepcopy(@Cast("c10::IValue::HashAliasedIValueMap*") @ByRef IValueIValueMap memo);
459+
public native @ByVal IValue deepcopy(@ByRef HashAliasedIValueMap memo);
460460
}

pytorch/src/gen/java/org/bytedeco/pytorch/IValueIValueDict.java

-24
This file was deleted.

pytorch/src/gen/java/org/bytedeco/pytorch/IValueOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class IValueOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef IValueOptional put(@ByRef IValueOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef IValue get();
29+
public native @Name("value") @ByRef IValue get();
3130
@ValueSetter public native IValueOptional put(@ByRef IValue value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/InlinedCallStackOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class InlinedCallStackOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef InlinedCallStackOptional put(@ByRef InlinedCallStackOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef InlinedCallStack get();
29+
public native @Name("value") @ByRef InlinedCallStack get();
3130
@ValueSetter public native InlinedCallStackOptional put(@ByRef InlinedCallStack value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/IntOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class IntOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef IntOptional put(@ByRef IntOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native int get();
29+
public native @Name("value") int get();
3130
@ValueSetter public native IntOptional put(int value);
3231
}
3332

pytorch/src/gen/java/org/bytedeco/pytorch/JitModule.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private native void allocate(
5656

5757
public native @Cast("bool") boolean is_optimized();
5858

59-
public native @ByVal IValue forward(@ByVal IValueVector inputs, @Cast("const torch::jit::Kwargs*") @ByRef(nullValue = "torch::jit::Kwargs()") IValueIValueMap kwargs);
59+
public native @ByVal IValue forward(@ByVal IValueVector inputs, @Cast("const torch::jit::Kwargs*") @ByRef(nullValue = "torch::jit::Kwargs()") HashAliasedIValueMap kwargs);
6060
public native @ByVal IValue forward(@ByVal IValueVector inputs);
6161

6262
// In script modules, buffers are Tensors attribute that are _not_ registered
@@ -177,37 +177,37 @@ public native void dump(
177177

178178
public native void save(
179179
@Cast("std::ostream*") @ByRef Pointer out,
180-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files);
180+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files);
181181
public native void save(
182182
@Cast("std::ostream*") @ByRef Pointer out);
183183

184184
public native void save(
185185
@StdString BytePointer filename,
186-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files);
186+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files);
187187
public native void save(
188188
@StdString BytePointer filename);
189189
public native void save(
190190
@StdString String filename,
191-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files);
191+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files);
192192
public native void save(
193193
@StdString String filename);
194194

195195
public native void _save_for_mobile(
196196
@Cast("std::ostream*") @ByRef Pointer out,
197-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files,
197+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files,
198198
@Cast("bool") boolean save_mobile_debug_info/*=false*/);
199199
public native void _save_for_mobile(
200200
@Cast("std::ostream*") @ByRef Pointer out);
201201

202202
public native void _save_for_mobile(
203203
@StdString BytePointer filename,
204-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files,
204+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files,
205205
@Cast("bool") boolean save_mobile_debug_info/*=false*/);
206206
public native void _save_for_mobile(
207207
@StdString BytePointer filename);
208208
public native void _save_for_mobile(
209209
@StdString String filename,
210-
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") IValueIValueMap extra_files,
210+
@Cast("const torch::jit::ExtraFilesMap*") @ByRef(nullValue = "torch::jit::ExtraFilesMap()") HashAliasedIValueMap extra_files,
211211
@Cast("bool") boolean save_mobile_debug_info/*=false*/);
212212
public native void _save_for_mobile(
213213
@StdString String filename);

pytorch/src/gen/java/org/bytedeco/pytorch/LayoutOptional.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ public class LayoutOptional extends Pointer {
2525
private native void allocate();
2626
public native @Name("operator =") @ByRef LayoutOptional put(@ByRef LayoutOptional x);
2727

28-
2928
public native boolean has_value();
30-
@Name("value") public native @ByRef Layout get();
29+
public native @Name("value") @ByRef Layout get();
3130
@ValueSetter public native LayoutOptional put(@ByRef Layout value);
3231
}
3332

0 commit comments

Comments
 (0)