【小白入门】PyTorch入门之图像分类器——tensor学习

入门资料

  1. 如果你还不知道神经网络是啥,指路一个入门视频:https://www.bilibili.com/video/av15532370
  2. pytorch入门英文教程:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
  3. pytorch入门中文教程:http://pytorch123.com/
  4. numpy教程(pytorch入门首先要学习tensors(张量),学习这个需要有numpy基础):Python数据分析与展示
  5. 安装anaconda和pytorch(中文版教程中有安装方法)

开始学习

  1. pytorch:一个科学计算包(类似于numpy)(没学过numpy的建议先去大致学习一下numpy和ndarray)。

  2. tensors:类似于numpy中的ndarrays,区别就是tensors用于GPU上可以加速计算。

  3. 创建矩阵

  • 创建一个未初始化的矩阵(声明的未初始化的数组,他的值就是分配到的内存中的值,值是不确定
x = torch.empty(5, 3)
print(x)
  • 创建一个初始化为随机值的矩阵

x = torch.rand(5, 3)
print(x)
  • 创建一个初始值全为 0,数据类型是 long的矩阵
x = torch.zeros(5, 3, dtype=torch.long) 
print(x)
  • 用数据创建一个tensor
x = torch.tensor([5.5, 3])
print(x)
  • 创建一个tensor基于已经存在的tensor.这些方法会复用输入tensor的特性,比如:dtype(数据类型).除非新的值由用户提供
x = x.new_ones(5, 3, dtype=torch.double)      # new_* methods take in sizes
print(x)
x = torch.randn_like(x, dtype=torch.float)    #override dtype!重载数据类型
print(x)                                      # result has the same size

4. 查看矩阵的形状(torch.size是一个元组,它支持所有的元组操作):

print(x.size())

out:

torch.Size([5, 3])

5. 加法操作(很多种,这里列举一种,其他可以参考pytorch教程)

y = torch.rand(5, 3)
print(x + y)

6. 输出某一列

print(x[:, 1])

out:

tensor([ 0.4477, -0.0048, 1.0878, -0.2174, 1.3609])

7. 获得tensor的值(.view)

x = torch.randn(1) 
print(x) 
print(x.item())

out:

tensor([ 0.9422]) 
0.9422121644020081

8. 改变tensor的形状(.view)

x = torch.randn(4, 4) 
y = x.view(16) 
z = x.view(-1, 8) # the size -1 is inferred from other dimensions 
print(x.size(), y.size(), z.size())

out:

torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])

目前正在入门pytorch图像分类,欢迎大家在评论区和我交流。

写的不够详细的地方,后面会继续完善......

你可能感兴趣的:(【小白入门】PyTorch入门之图像分类器——tensor学习)