Skip to content

Commit

Permalink
* Map c10::OptionalArrayRef<int64_t> from PyTorch to long... as …
Browse files Browse the repository at this point in the history
…well for convenience (issue #1300)
  • Loading branch information
saudet committed Jan 3, 2023
1 parent b6696fa commit 988101d
Show file tree
Hide file tree
Showing 8 changed files with 271 additions and 63 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

* Map `c10::OptionalArrayRef<int64_t>` from PyTorch to `long...` as well for convenience ([issue #1300](https://github.com/bytedeco/javacpp-presets/issues/1300))
* Remove mapping for `c10::OptionalArrayRef` to simplify calls in presets for PyTorch ([issue #1300](https://github.com/bytedeco/javacpp-presets/issues/1300))
* Virtualize `btMotionState` and `btDefaultMotionState` from Bullet Physics SDK to allow callbacks ([pull #1297](https://github.com/bytedeco/javacpp-presets/pull/1297))
* Define `STRING_BYTES_CHARSET` to "UTF-8" for FFmpeg since it appears to assume that ([issue bytedeco/javacv#1945](https://github.com/bytedeco/javacv/issues/1945))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,7 @@ public ConvTranspose1dImpl(
@Const @ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") LongArrayRefOptional output_size);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input,
@ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... output_size);
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,7 @@ public ConvTranspose2dImpl(
@Const @ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") LongArrayRefOptional output_size);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input,
@ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... output_size);
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,7 @@ public ConvTranspose3dImpl(
@Const @ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") LongArrayRefOptional output_size);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input);
public native @ByVal Tensor forward(
@Const @ByRef Tensor input,
@ByRef(nullValue = "c10::optional<at::IntArrayRef>(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... output_size);
}
15 changes: 15 additions & 0 deletions pytorch/src/gen/java/org/bytedeco/pytorch/Tensor.java
Original file line number Diff line number Diff line change
Expand Up @@ -741,10 +741,13 @@ public class Tensor extends TensorBase {
public native @ByVal Tensor mean();
public native @ByVal Tensor mean(@ByVal LongArrayRefOptional dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor mean(@ByVal LongArrayRefOptional dim);
public native @ByVal Tensor mean(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor mean(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... dim);
public native @ByVal Tensor mean(@ByVal DimnameArrayRef dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor mean(@ByVal DimnameArrayRef dim);
public native @ByVal Tensor nanmean(@ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") LongArrayRefOptional dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor nanmean();
public native @ByVal Tensor nanmean(@ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor median();
public native @ByVal TensorTensorTuple median(@Cast("int64_t") long dim, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal TensorTensorTuple median(@Cast("int64_t") long dim);
Expand Down Expand Up @@ -920,10 +923,13 @@ public class Tensor extends TensorBase {
public native @ByVal Tensor sum();
public native @ByVal Tensor sum(@ByVal LongArrayRefOptional dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor sum(@ByVal LongArrayRefOptional dim);
public native @ByVal Tensor sum(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor sum(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... dim);
public native @ByVal Tensor sum(@ByVal DimnameArrayRef dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor sum(@ByVal DimnameArrayRef dim);
public native @ByVal Tensor nansum(@ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") LongArrayRefOptional dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor nansum();
public native @ByVal Tensor nansum(@ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean keepdim/*=false*/, @ByVal(nullValue = "c10::optional<at::ScalarType>(c10::nullopt)") ScalarTypeOptional dtype);
public native @ByVal Tensor sum_to_size(@ByVal @Cast("c10::ArrayRef<int64_t>*") LongArrayRef size);
public native @ByVal Tensor sum_to_size(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... size);
public native @ByVal Tensor sqrt();
Expand All @@ -934,8 +940,12 @@ public class Tensor extends TensorBase {
public native @ByVal Tensor std();
public native @ByVal Tensor std(@ByVal LongArrayRefOptional dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor std(@ByVal LongArrayRefOptional dim);
public native @ByVal Tensor std(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor std(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... dim);
public native @ByVal Tensor std(@ByVal LongArrayRefOptional dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor std(@ByVal LongArrayRefOptional dim, @ByVal LongOptional correction);
public native @ByVal Tensor std(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor std(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @ByVal LongOptional correction);
public native @ByVal Tensor std(@ByVal DimnameArrayRef dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor std(@ByVal DimnameArrayRef dim);
public native @ByVal Tensor std(@ByVal DimnameArrayRef dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
Expand Down Expand Up @@ -982,8 +992,12 @@ public class Tensor extends TensorBase {
public native @ByVal Tensor var();
public native @ByVal Tensor var(@ByVal LongArrayRefOptional dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor var(@ByVal LongArrayRefOptional dim);
public native @ByVal Tensor var(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor var(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... dim);
public native @ByVal Tensor var(@ByVal LongArrayRefOptional dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor var(@ByVal LongArrayRefOptional dim, @ByVal LongOptional correction);
public native @ByVal Tensor var(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor var(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long[] dim, @ByVal LongOptional correction);
public native @ByVal Tensor var(@ByVal DimnameArrayRef dim, @Cast("bool") boolean unbiased/*=true*/, @Cast("bool") boolean keepdim/*=false*/);
public native @ByVal Tensor var(@ByVal DimnameArrayRef dim);
public native @ByVal Tensor var(@ByVal DimnameArrayRef dim, @ByVal LongOptional correction, @Cast("bool") boolean keepdim/*=false*/);
Expand Down Expand Up @@ -1429,6 +1443,7 @@ public class Tensor extends TensorBase {
public native @ByVal Tensor ger(@Const @ByRef Tensor vec2);
public native @ByVal Tensor to_padded_tensor(double padding, @ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") LongArrayRefOptional output_size);
public native @ByVal Tensor to_padded_tensor(double padding);
public native @ByVal Tensor to_padded_tensor(double padding, @ByVal(nullValue = "at::OptionalIntArrayRef(c10::nullopt)") @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... output_size);
public native @ByVal Tensor _nested_tensor_layer_norm(@Const @ByRef TensorOptional weight, @Const @ByRef TensorOptional bias, double eps);

// Special C++ only overloads for std()-like functions (See gh-40287)
Expand Down
1 change: 1 addition & 0 deletions pytorch/src/gen/java/org/bytedeco/pytorch/TensorMaker.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ public class TensorMaker extends Pointer {


public native @ByRef @NoException(true) TensorMaker strides(@ByVal LongArrayRefOptional value);
public native @ByRef @NoException(true) TensorMaker strides(@ByVal @Cast({"int64_t*", "c10::ArrayRef<int64_t>", "std::vector<int64_t>&"}) @StdVector long... value);

public native @ByRef @NoException(true) TensorMaker storage_offset(@ByVal LongOptional value);

Expand Down
Loading

0 comments on commit 988101d

Please sign in to comment.