причина, по которой * не делает различий в результатах, заключается в том, что torch.zero
за исключением обоих переменного числа аргументов и коллекции, такой как список или кортеж , как упоминалось здесь . Это не означает, что * сам по себе бесполезен.
Тогда, поскольку класс torch.Size()
является подклассом кортежа python, его можно распаковать с помощью *. (x.size()
вернет torch.Size()
объект)
Таким образом, x.size()
даст вам (1000, 1)
, а *x.size()
в аргументе даст вам 1000, 1
и оба принимаются torch.zeros()