tensor$repeat(c(...)) not working?
Hi there,
I would like to repeat tensor along the first dimension 4 times.
First I create the tensor
x <- torch_tensor(c(1, 2, 3))
Then I add a dimension at position 1:
x2 = x$unsqueeze(1)
Here I'm attempting to repeat the first dimension four times and it throws an error:
>repeated_matrix <- x$repeat(c(2, 1))
Error: unexpected 'repeat' in "repeated_matrix <- x$repeat"
I also tried different variations:
> repeated_matrix <- x$repeat(list(2, 1))
Error: unexpected 'repeat' in "repeated_matrix <- x$repeat"
> repeated_matrix <- x$repeat(dim=c(2, 1))
Error: unexpected 'repeat' in "repeated_matrix <- x$repeat"
> repeated_matrix <- x$repeat(dims=c(2, 1))
Error: unexpected 'repeat' in "repeated_matrix <- x$repeat"
All of which are not working!
Thank you
Ah yes, I came across this bug a while back too. I figured out a workaround but unfortunately I was busy at the time and forgot to post an issue as I had intended. Here is the workaround:
x <- torch_tensor(c(1, 2, 3))
x2 = x$unsqueeze(1)
repeated_matrix <- x$`repeat`(c(2, 1))
repeated_matrix
#> torch_tensor
#> 1 2 3
#> 1 2 3
#> [ CPUFloatType{2,3} ]
Posting it here in case it helps diagnose the problem.
The problem is that repeat is a keyword in R. We could either rename the function or document somewhere that it needs to be called like suggested by @rdinnage.