torch
torch copied to clipboard
error when subseting using R objects in both row and column indexes
library(torch)
blank_canvas <- torch_zeros(12,6)
col_idx <- 1:3
row_idx <- 3:4
blank_canvas[row_idx, 1:3] # <------- using row_idx, OK
#> torch_tensor
#> 0 0 0
#> 0 0 0
#> [ CPUFloatType{2,3} ]
blank_canvas[3:4, col_idx] # <------- using col_idx, OK
#> torch_tensor
#> 0 0 0
#> 0 0 0
#> [ CPUFloatType{2,3} ]
blank_canvas[3:4, 1:3] # <------- no objects, OK
#> torch_tensor
#> 0 0 0
#> 0 0 0
#> [ CPUFloatType{2,3} ]
blank_canvas[row_idx, col_idx] # <------- using both row_idx and col_idx, error
#> Error in Tensor_slice(tensor$ptr, environment(), drop = drop, mask = .d): shape mismatch: indexing tensors could not be broadcast together with shapes [2], [3]
#> Exception raised from make_info at ../aten/src/ATen/native/TensorAdvancedIndexing.cpp:198 (most recent call first):
#> frame #0: c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) + 0x69 (0x7f4b48cc3b89 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libc10.so)
#> frame #1: <unknown function> + 0xae64b0 (0x7f4b38a234b0 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #2: <unknown function> + 0xfd1702 (0x7f4b38f0e702 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #3: at::native::index(at::Tensor const&, c10::ArrayRef<at::Tensor>) + 0x7e (0x7f4b38f0ee6e in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #4: <unknown function> + 0x1331e3d (0x7f4b3926ee3d in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #5: <unknown function> + 0x135e697 (0x7f4b3929b697 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #6: <unknown function> + 0x1503902 (0x7f4b39440902 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #7: at::index(at::Tensor const&, c10::ArrayRef<at::Tensor>) + 0xf1 (0x7f4b3934d441 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #8: <unknown function> + 0x29ce38f (0x7f4b3a90b38f in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #9: <unknown function> + 0x135e697 (0x7f4b3929b697 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #10: <unknown function> + 0x1503902 (0x7f4b39440902 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #11: at::Tensor::index(c10::ArrayRef<at::Tensor>) const + 0xf1 (0x7f4b3959e0e1 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #12: at::Tensor::index(c10::ArrayRef<at::indexing::TensorIndex>) const + 0x51c (0x7f4b38a8242c in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/./libtorch_cpu.so)
#> frame #13: _lantern_Tensor_index + 0x86 (0x7f4b49293d86 in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/deps/liblantern.so)
#> frame #14: Tensor_slice(Rcpp::XPtr<XPtrTorchTensor, Rcpp::PreserveStorage, &(void Rcpp::standard_delete_finalizer<XPtrTorchTensor>(XPtrTorchTensor*)), false>, Rcpp::Environment_Impl<Rcpp::PreserveStorage>, bool, Rcpp::Vector<19, Rcpp::PreserveStorage>) + 0x26c (0x7f4b499c5dcc in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/libs/torchpkg.so)
#> frame #15: _torch_Tensor_slice + 0xae (0x7f4b497fca0e in /home/athos/R/x86_64-pc-linux-gnu-library/3.6/torch/libs/torchpkg.so)
#> frame #16: <unknown function> + 0xf3bc6 (0x7f4b57373bc6 in /usr/lib/R/lib/libR.so)
#> frame #17: <unknown function> + 0x12dd91 (0x7f4b573add91 in /usr/lib/R/lib/libR.so)
#> frame #18: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #19: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #20: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #21: <unknown function> + 0x1316e2 (0x7f4b573b16e2 in /usr/lib/R/lib/libR.so)
#> frame #22: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #23: <unknown function> + 0x13b48c (0x7f4b573bb48c in /usr/lib/R/lib/libR.so)
#> frame #24: Rf_eval + 0x494 (0x7f4b573bae44 in /usr/lib/R/lib/libR.so)
#> frame #25: <unknown function> + 0x13f44d (0x7f4b573bf44d in /usr/lib/R/lib/libR.so)
#> frame #26: Rf_eval + 0x6df (0x7f4b573bb08f in /usr/lib/R/lib/libR.so)
#> frame #27: <unknown function> + 0x13f44d (0x7f4b573bf44d in /usr/lib/R/lib/libR.so)
#> frame #28: Rf_eval + 0x6df (0x7f4b573bb08f in /usr/lib/R/lib/libR.so)
#> frame #29: <unknown function> + 0x13da34 (0x7f4b573bda34 in /usr/lib/R/lib/libR.so)
#> frame #30: Rf_eval + 0x5cb (0x7f4b573baf7b in /usr/lib/R/lib/libR.so)
#> frame #31: <unknown function> + 0x13e0a6 (0x7f4b573be0a6 in /usr/lib/R/lib/libR.so)
#> frame #32: Rf_eval + 0x5cb (0x7f4b573baf7b in /usr/lib/R/lib/libR.so)
#> frame #33: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #34: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #35: <unknown function> + 0x1316e2 (0x7f4b573b16e2 in /usr/lib/R/lib/libR.so)
#> frame #36: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #37: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #38: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #39: <unknown function> + 0x1316e2 (0x7f4b573b16e2 in /usr/lib/R/lib/libR.so)
#> frame #40: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #41: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #42: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #43: <unknown function> + 0x1316e2 (0x7f4b573b16e2 in /usr/lib/R/lib/libR.so)
#> frame #44: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #45: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #46: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #47: <unknown function> + 0x17bb53 (0x7f4b573fbb53 in /usr/lib/R/lib/libR.so)
#> frame #48: <unknown function> + 0x17bff4 (0x7f4b573fbff4 in /usr/lib/R/lib/libR.so)
#> frame #49: <unknown function> + 0x141260 (0x7f4b573c1260 in /usr/lib/R/lib/libR.so)
#> frame #50: <unknown function> + 0x1f70da (0x7f4b574770da in /usr/lib/R/lib/libR.so)
#> frame #51: Rf_eval + 0x5cb (0x7f4b573baf7b in /usr/lib/R/lib/libR.so)
#> frame #52: <unknown function> + 0x14026a (0x7f4b573c026a in /usr/lib/R/lib/libR.so)
#> frame #53: <unknown function> + 0x12dd91 (0x7f4b573add91 in /usr/lib/R/lib/libR.so)
#> frame #54: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #55: <unknown function> + 0x13c99f (0x7f4b573bc99f in /usr/lib/R/lib/libR.so)
#> frame #56: Rf_applyClosure + 0x173 (0x7f4b573bd6e3 in /usr/lib/R/lib/libR.so)
#> frame #57: <unknown function> + 0x1316e2 (0x7f4b573b16e2 in /usr/lib/R/lib/libR.so)
#> frame #58: Rf_eval + 0x190 (0x7f4b573bab40 in /usr/lib/R/lib/libR.so)
#> frame #59: <unknown function> + 0x13b48c (0x7f4b573bb48c in /usr/lib/R/lib/libR.so)
#> frame #60: Rf_eval + 0x494 (0x7f4b573bae44 in /usr/lib/R/lib/libR.so)
#> frame #61: <unknown function> + 0x140d41 (0x7f4b573c0d41 in /usr/lib/R/lib/libR.so)
#> frame #62: <unknown function> + 0x179a04 (0x7f4b573f9a04 in /usr/lib/R/lib/libR.so)
#> frame #63: <unknown function> + 0x12ecb2 (0x7f4b573aecb2 in /usr/lib/R/lib/libR.so)
Created on 2020-11-23 by the reprex package (v0.3.0)