0
点赞
收藏
分享

微信扫一扫

Day34 贪心算法part03

一ke大白菜 02-17 17:30 阅读 4

PyTorch深度学习总结

第一章 Pytorch中张量(Tensor)的生成


文章目录


一、什么是PyTorch?

PyTorch提供了一种灵活的、动态的计算图模型,使得开发者可以方便地构建和训练神经网络模型。PyTorch采用了动态图的方式,即在运行时才构建计算图,这与静态图的框架相比具有更大的灵活性和易用性。开发者可以使用Python的控制流语句标准库函数来定义和操作计算图,这使得模型的编写和调试变得更加简单和直观。

PyTorch还提供了丰富的工具和库,用于大规模训练和部署深度学习模型。其中包括数据加载和预处理模型定义优化算法可视化等功能。
此外,PyTorch还与许多其他常用的Python库和工具集成,如NumPySciPyJupyter Notebook


二、张量(Tensor)

张量是一种数学对象,可以用来表示多维数组多维矩阵
张量在深度学习和神经网络中也被广泛应用,用于表示和处理大规模数据集。


1、张量的数据类型

在torch中CPU和GPU张量分别有8种数据类型:

数据类型DtypeCPU TensorGPU Tensor
32位浮点型Torch.float或torch.float32torch.FloatTensortorch.cuda.FloatTensor
64位浮点型Torch.double或torch.float64torch.DoubleTensortorch.cuda.DoubleTensor
16位浮点型Torch.half 或torch.float16torch.HalfTensortorch.cuda.HalfTensor
8位无符号整型Torch.uint8torch.ByteTensortorch.cuda.ByteTensor
8位有符号整型Torch.int8torch.CharTensortorch.cuda.CharTensor
16位有符号整型Torch.short 或Torch.int16torch.ShortTensortorch.cuda.ShortTensor
32位有符号整型Torch.int或Torch.int32torch.IntTensortorch.cuda.IntTensor
64位有符号整型Torch.long 或Torch.int64torch.LongTensortorch.cuda.LongTensor

Torch中默认数据类型为:torch.FloatTensortorch.int64
如果要修改默认数据类型可以使用函数:
torch.set_default_tensor_type()
(注:此函数只有torch.DoubleTensortorch.FloatTensor两个参数)

①自动生成情况分析:

②修改后情况分析:


2、张量生成和信息获取

张量生成:

A = torch.tensor([[1, 1], [2, 2]])

深度学习中需要对梯度大小进行更新,所以需要计算梯度,需注意只有浮点型数据才可以计算梯度。

其中dtype设置数据类型,requires_grad设置是否需要计算梯度。

函数描述
torch.zeros(3, 3)3*3的全0张量
torch.ones(3, 3)3*3的全1张量
torch.eye(3, 3)3*3的单位张量
torch.full((3, 3) , full_value=0.25)3*3使用0.25填充的张量
torch.empty(3, 3)3*3的空张量
torch.rand(3, 3)3*3的随机张量
torch.ones_like(A)与A大小相同的全1张量
torch.zeros_like(A)与A大小相同的全0张量
torch.rand_like(A)与A大小相同的随机张量
torch.ones_like(A)与A大小相同的全1张量
torch.arange(start=0, end=2, step=1)tensor([0, 1])

张量信息获取:


总结

张量在深度学习中起着重要的作用。在深度学习中,数据通常以张量的形式表示。
张量的数值存储了模型的参数值数据的特征表示,通过对张量进行运算和优化,可以使模型逐渐学习到更好的特征表示和参数。
张量的计算和变换是深度学习的核心操作,它们的高效实现对于深度学习算法的训练和推理过程至关重要

举报

相关推荐

0 条评论