1. torch.zeros_like
可以生成和括号内变量维度一致的全是0的内容。例如:输入维度为 1 × 8 × 3 × 5 1\times8\times3\times5 1×8×3×5的x,要生成跟x相同维度且值全为0的y,则如下所示:
2. torch.ones_like
可以生成和括号内变量维度一致的全是1的内容。例如:输入维度为 1 × 8 × 3 × 5 1\times8\times3\times5 1×8×3×5的x,要生成跟x相同维度且值全为1的y,则如下所示:
3. tensor按索引赋值
-
a.scatter_(dim, index, b) : tensor a 被就地(按照index)重新赋上 tensor b的值。
注意:index的行数要小于等于a的行数,列数要小于等于b的列数
dim: 需要赋值的维度
index:需要赋值的索引
b:要赋的值
示例如下:
注意:a.scatter_(dim, index, b)不能写“dim=0”,如下方代码会报错:
即改成c=a.scatter_(1,torch.LongTensor(index),b)
即可!!! -
可以实现相同功能的函数还有:index_fill_(dim, index, val) ;index_put_(indices, value)
可参照博客:https://blog.csdn.net/qq_41368074/article/details/106986753?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106986753-blog-105145955.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106986753-blog-105145955.pc_relevant_default&utm_relevant_index=1