目标检测学习
文章目录
前言
Pytorch是一个基于python的科学计算包,主要面向两部分受众:
一个为了充分发挥GPU能力而设计的Numpy的GPU版本替代方案
一个提供更大灵活性和速度的深度学习研究平台
一、pytorch使用
1.1 tensors
Tensors(张量)的概念可以类比Numpy中的ndarrays,本质上就是一个多维数组,是任何运算和操作间数据流动的最基础形式。
首先让我们来看下如何生成一些简单的Tensor,构建一个未初始化的5*3的空矩阵(张量)的代码如下:
import torch
x = torch.empty(5, 3)
print(type(x))
print(x)
#输出
<class 'torch.Tensor'>
tensor([[7.7050e+31, 6.7415e+22, 1.2690e+31],
[6.1186e-04, 4.6165e+24, 4.3701e+12],
[7.5338e+28, 7.1774e+22, 3.7386e-14],
[6.6532e-33, 1.8337e+31, 1.3556e-19],
[1.8370e+25, 2.0616e-19, 4.7429e+30]])
注意,对于未初始化的张量,它的取值是不固定的,取决于它创建时分配的那块内存的取值。
torch.zeros 和 torch.ones也是非常常用的Tensor初始化函数。
可以通过dtype属性来指定tensor的数据类型
print(tensor_zeros.dtype)
tensor_zeros_int = torch.zeros(2, 3, dtype=torch.long)
print(tensor_zeros_int.dtype)
#输出
torch.float32
torch.int64
torch.rand 和 torch.randn 是两个常用的随机初始化函数,torch.rand用于生成服从区间[0,1)均匀分布的随机张量