假设我有一些代码原本可以在CPU上运行,
BT <- NULL
for(t in c(1, 2, 3)){
B_rt <- matrix(c(1, 2, 3, 4), 2, 2)
BT <- rbind(BT, t(B_rt)) # update BT
}
我想知道这段代码是否可以使用 r torch 包进行转换。我尝试了以下:
BT <- list()
for(t in c(1, 2, 3)) {
B_rt <- torch_tensor(matrix(c(1, 2, 3, 4), 2, 2), device = "cuda")
BT[[t]] <- torch_t(B_rt)
}
# Concatenate tensors
BT <- torch_cat(BT, dim = 0)
但是我说错了 “(function (tensors, dim) 中的错误:索引从 1 开始,但发现为 0。 调用: torch_cat ... call_c_function -> do_call -> do.call -> 执行停止”
非常感谢!
然后我尝试将
torch_cat
中的暗淡从 0 更改为 1
BT <- torch_cat(BT, dim = 1)
它给了我预期的结果
torch_tensor
1 2
3 4
1 2
3 4
1 2
3 4
[ CUDAFloatType{6,2} ]