自学内容网 自学内容网

PyTorch 1-深度学习

一: Pytorch

1> pytorch简介

序列 介绍
1 pytorch 是深度学习框架和科学计算包
2 pytorch之所以可以进行科学计算是因为它是一个张量库并且有相关的张量运算
3 pytorch和numpy有很强的互操作性, 原因:1.张量和数组具有相似性;2.pytorch的torch.tensor对象是由numpy的ndarray创建的,它们共享内存
4 pytorch 张量运算可在GPU上运行

2> PyTorch 特点&优势

优势 介绍
易于使用和学习 PyTorch采用了类似于Python的语法,使得它容易上手和学习。它还提供了丰富的文档和教程,使得开发者可以快速地掌握它的基本使用方法。
动态计算图 PyTorch使用动态计算图,这意味着计算图是根据代码在运行时动态生成的,而不是在编译时静态生成的。这使得它更加灵活和易于调试。
高效的GPU加速 PyTorch可以在GPU上高效地运行,这使得它能够处理大规模的数据集和模型。
强大的自动微分 PyTorch内置了自动微分功能,这使得开发者可以轻松地计算模型的导数,从而加快了模型的训练和优化过程。
大量的预训练模型 PyTorch拥有大量的预训练模型,包括ImageNet、COCO、CIFAR等,这些模型可以用于各种计算机视觉和自然语言处理任务,使得开发者能够快速地构建模型并取得优秀的效果

PyTorch具有易于使用和学习、动态计算图、高效的GPU加速、强大的自动微分和大量的预训练模型等优点,这使得它成为了机器学习和深度学习领域中广泛使用的框架之一

3> pytorch简史

pytorch的前身是torch,torch是基于lua语言(该语言晦涩难懂且生态系统很小);
pytorch的发起者是facebook的研究员Soumith Chintala

4> pytorch 库

库名 含义
torch 包含所有torch包和tensor库的顶级包
troch.nn 是用于建立神经网络的包,它包含类和模块,如layer,weight和forward function
torch.nn.function 访问损失函数的API
torch.autograd 支持张量的导数运算,负责优化神经网络
torch.optim 访问优化器 (SGD,ADAM…)
torch.utils 包含数据集和数据加载器的实用程序类
torchvision 访问流行的数据集、计算机视觉中的模型框架及图像转换

所有深度学习框架都有两个特性:张量库和计算导数的包(在pytorch中是torch和torch.autograd)

5> PyTorch执行流程

PyTorch的执行流程主要包含以下几个步骤:

步骤 内容
数据准备 首先需要准备好需要使用的数据,包括训练集、验证集和测试集等。PyTorch提供了各种数据加载器(DataLoader)来方便地加载数据,同时还提供了各种数据变换函数(transforms)来对数据进行预处理和增强。
模型构建 接下来需要构建深度学习模型,PyTorch提供了丰富的模型构建接口,包括nn.Module、nn.Sequential和nn.Functional等。通过这些接口,可以很方便地定义各种神经网络结构,包括卷积神经网络、循环神经网络和Transformer等。
模型训练 在模型构建好之后,就可以开始训练模型了。训练过程通常包括前向传播、计算损失、反向传播和更新模型参数等步骤。PyTorch提供了自动求导功能,可以自动计算梯度,从而简化了模型训练的流程。<

原文地址:https://blog.csdn.net/weixin_42914706/article/details/134533654

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!