Hi,
The two functions do very different things.

repeat will repeat the value on a dimension of size 1 to the size you want. For dimensions that you do not change, you can use -1 to keep the current size. If you ask for more dimensions than there are on the original tensor, it will create a new dimension of size 1 and expand it.
repeat will repeat a dimension of any size that many times. to keep a dimension with it’s current size, you only need to give 1 as you want to repeat it once. Here again if you ask for more dimensions than there are in the original Tensor, a new dimension of size 1 is created and repeated that number of times.

You should try and use these functions and ask for the same number of output dimensions as the input to have a clearer behavior.