目录
3 Initializing and basic operations
4)通过torch.dtype指定类型, torch.device指定构造器
6)torch.Tensor.item()从包含单个值的张量中获取Python数字
1 torch.Tensor
A
torch.Tensoris a multi-dimensional matrix containing elements of a single data type.torch.Tensor是包含单一数据类型的多维矩阵
2 Data types
Torch定义了10种不同CPU和GPU的张量类型,下面摘录常用的几种

torch.Tensoris an alias for the default tensor type (torch.FloatTensor).torch.Tensor是默认张量类型(torch.FloatTensor)的别名
CPU张量在torch中,GPU张量在torch.cuda包中
从CPU转换到GPU,有一个to(device)的张量方法,可以创建张量的副本到指定设备(可以是CPU或GPU)
- GPU设备可以在冒号之后指定一个可选设备的索引。例如,系统中的第二个GPU可以用“cuda:1”寻址(索引从零开始)
- 另一种更为有效的方法是
使用torch.device类,该类接受设备名称和可选索引。它有device属性,所以可以访问张量当前所在的设备。

从GPU转换到CPU,使用.cpu()方法

3 Initializing and basic operations
1)使用torch.tensor() 创建

2)使用python list创建

3)使用zeros ones函数创建

4)通过torch.dtype指定类型, torch.device指定构造器

5)零维张量
就是数字,比如说是某些操作的求和结果
可以使用torch.tensor()函数创建

6)torch.Tensor.item()从包含单个值的张量中获取Python数字
必须是单个值才行!!!!


4 type changes
1)tensor间类型转换
- 在Tensor后加
.long(),.int(),.float(),.double()等 - 也可以用
.to()函数进行转换

2)数据存储位置转换
CPU张量 ----> GPU张量,使用data.cuda() 或者 data.to()
GPU张量 ----> CPU张量,使用data.cpu()

3)与Python数据类型转换
1 torch.Tensor ----> 单个Python数据,使用data.item(),data为Tensor变量且只能为包含单个数据
2 torch.Tensor ----> Python list,使用data.tolist(),data为Tensor变量,返回shape相同的可嵌套的list
3 torch.Tensor ----> numpy,使用data.numpy(),data为Tensor变量
4 numpy ----> torch.Tensor
tensor = torch.from_numpy(ndarray)

5 list ----> numpy
使用np.array(list)
6 numpy----> list
使用.tolist()

4)剥离出一个tensor参与计算,但不参与求导
Tensor后加 .detach()
本文介绍了torch.Tensor的使用,包括通过torch.tensor()、python列表、zeros/ones函数创建张量,指定数据类型和设备。讨论了张量间的类型转换、数据存储位置转换,如CPU到GPU和反之,以及与Python数据类型之间的转换。此外,还提到了如何从包含单个值的张量中获取Python数字以及张量在计算中detach以阻止求导。
1002

被折叠的 条评论
为什么被折叠?



