【PyTorch学习】PyTorch基础知识
2020-06-28 07:49:00 来源:易采站长站 作者:易采站长站整理
16位整型torch.ShortTensor
32位整型torch.IntTensor
64位整型torch.LongTensor
import torch# 定义一个三行两列给定元素的矩阵,并且显示出矩阵的元素和大小
a = torch.Tensor([[2, 3], [4, 8], [7, 9]])
print('a is: {}'.format(a))
print('a size is: {}'.format(a.size()))
a is: tensor([[2., 3.],
[4., 8.],
[7., 9.]])
a size is: torch.Size([3, 2])torch.Tensor默认的是torch.FloatTensor数据类型,也可以定义我们想要的数据类型,如下:
b = torch.LongTensor([[2, 3], [4, 8], [7, 9]])
print('b is: {}'.format(b))
b is: tensor([[2, 3],
[4, 8],
[7, 9]])
也可以创建一个全是0的空Tensor或者取一个正态分布作为随机初始值:
c = torch.zeros((3, 2))
print('zero tensor: {}'.format(c))d = torch.randn((3, 2))
print('normal random is:{}'.format(d))
zero tensor: tensor([[0., 0.],
[0., 0.],
[0., 0.]])
normal random is:tensor([[-0.7224, 0.6373],
[-0.0982, 0.1669],
[-1.4247, 0.5982]])
我们也可以像numpy一样通过索引的方式取得其中的元素,同时也可以改变它的值,比如将a的第一行第二列改变为100。
a[0, 1] = 100
print('changed a is: {}'.format(a))
changed a is: tensor([[ 2., 100.],
[ 4., 8.],
[ 7., 9.]])除此之外,还可以在Tensor与numpy.ndarray之间相互转换:
import numpy as npnumpy_b = b.numpy()
print('conver to numpy is n {}'.format(numpy_b))
e = np.array([[2, 3], [4, 5]])
torch_e = torch.from_numpy(e)
print('from numpy to torch.Tensor is n {}'.format(torch_e))
f_torch_e = torch_e.float()
print('cahnge data type to float tensor n {}'.format(f_torch_e))
conver to numpy is
[[2 3] [4 8] [7 9]]from numpy to torch.Tensor is
tensor([[2, 3],
[4, 5]], dtype=torch.int32)
cahnge data type to float tensor
tensor([[2., 3.],
[4., 5.]])通过简单的b.numpy(),就能将b转换为numpy数据类型,同时使用 torch.from_numpy()就能将numpy转换为tensor













闽公网安备 35020302000061号