文章目录
- 一、tensor
- 如何表示字符串
- 数据类型
- 类型判断
- Dimension 0
- Dimension 1
- Dimension 2
- Dimension 3
- Dimension 4
- mixed
- 二、创建Tensor
- import from numpy
- import from list
- uninitialized 未初始化
- set default type
- rand/rand_like, randint
- full
- linspace
- index
- 切片
- 三、维度变换
- 总结
一、tensor
只是表达方式不一样,但是pytorch没有字符串的表达方式,需要用别的方法来表示字符串。
如何表示字符串
1.、One – hot
▪ [0, 1, 0, 0, …]
2 、 Embedding
▪ Word2vec
▪ glove
数据类型
类型判断
Dimension 0
这是标量
Dimension 1
.tensor 接受的是数据的内容
Dimension 2
Dimension 3
特别适合 rnn 循环神经网络
Dimension 4
特别适合 卷积神经网络 cnn
适合表达图片数据类型
mixed
二、创建Tensor
import from numpy
从numpy 导入的float 其实是double 类型
import from list
小写的tensor 承接的是 数据内容,Tensor 大部分是承接 shape ,当然也可以接收内容。
torch.FloatTensor([2.,3.2]) 这样的方法容易混淆,尽量不要使用。
uninitialized 未初始化
Torch.empty()
▪ Torch.FloatTensor(d1, d2, d3)
▪ NOT torch.FloatTensor([1, 2]) = torch.tensor([1, 2])
▪ Torch.IntTensr(d1, d2, d3)
未初始化的tensor 一定要跟写入数据的后续步骤。
未初始化的数据会出现一个非常大,一个非常小的情况。
set default type
增强学习一半使用double,其他一般使用float
设置成doubletensor。
rand/rand_like, randint
full
linspace
index
切片
select by steps
通用形式是:[start:end:steps]
… 符号
select by mask
是ByteTensor 类型
三、维度变换
view 和 reshape
squeeze and unsqueeze
例子:
squeeze:
expand:
repeat:
.t
permute: