Pytorch中torch.Tensor的一点小研究
2017-05-17 本文已影响0人
夜空_7ddd
torch.Tensor 是pytorch中用于创建未初始化矩阵的函数
实例:
import torch
x = torch.Tensor(2, 2) # 构造一个未初始化的2*2的矩阵
即使该矩阵未被初始化,也是存有随机值的
![](https://img.haomeiwen.com/i6010140/65a03e80e3498871.png)
可以发现,我在这里构造的矩阵a的是有一个默认值的,然后,采用同样的语句构造矩阵b
![](https://img.haomeiwen.com/i6010140/fbb669c7fabfcc73.png)
此处发现矩阵a 和b的随机值是一样的
通过id()函数,发现a和b的对象id不一致,并不是指向同一块内存区域
![](https://img.haomeiwen.com/i6010140/6379dfd6e5e5ee6a.png)
然后发现,每一次使用torch.Tensor(2,2)所指向的内存地址也是不一致的
![](https://img.haomeiwen.com/i6010140/75cc649bed3a3071.png)
因此,对于torch.Tensor(n,m)的理解可以概括为,构造一个未初始化的nm维矩阵,并随机生成nm个值作为默认值,以后每次调用torch.Tensor(n,m)的时候,都会新开一个地址空间并将默认值赋予新的变量,可以看做一个浅copy过程。
仅为个人无聊的一些小测试,后续查看官网文档再进行补充