[深度学习入门]PyTorch环境配置与PyTorch学习(一)

简介: 笔记

一.PyTorch简介与环境配置


 PyTorch是一个开源的Python机器学习库,是一个相当简洁且高效快速的框架,是Torch在Python上的衍生。

 因为Torch是一个使用Lua语言的神经网络库,Torch很好用,但是 Lua 又不是特别流行,所以开发团队将Lua的Torch移植到了更流行的语言——Python上。PyTorch一发布就引起了剧烈的反响。

 下载网址:https://pytorch.org/


2.png

Anaconda是由Continuum Analytics开发的一款集成了Conda、Python以及一大堆安装好的工具包的开源软件。

 其中Conda是一个包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

 下载网址:https://www.anaconda.com/

3.png

 GPU(可选):一张高性能NVIDIA显卡

  具体安装教程可以参考B站up:我是土堆 的视频BV1hE411t7RN

4.png

 IDE推荐:PyCharm

5.png

 自带汉化包插件

  可更换Python解释器,这里要选择第二行的Anaconda自带的Python(在这个Python环境中安装了Pytorch框架)

6.png

可编辑,也可在Python控制台实现交互式编辑

7.png

在下面菜单栏的Python Packages中可以查看本解释器已安装的第三方包。


二.PyTorch学习


(一)Torch与Numpy

 Torch 自称为神经网络界的 Numpy, 因为他能将 Torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 CPU 中加速运算。

 所以神经网络的话, 当然是用 Torch 的 tensor 形式数据最好。

8.png

(二)张量tensor

  张量tensor分为0维、1维、2维和多维

  0维张量就是标量。

  1维张量就是数组。

  2维张量就是矩阵。

9.png

(三)Torch 中的数学运算

  Torch和Numpy中的很多方法大同小异。

10.png


(四)矩阵运算

除了简单的计算, 矩阵运算才是神经网络中最重要的部分。

12.png13.png

tensor.dot()是把两个张量的每一对元素都分别对应相乘再相加

  最后结果应该是30.0


(五)利用PyTorch简单地实现几种激活函数

image.png

15.png16.png

(六)建造第一个神经网络——关系拟合 (回归)

  如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条。

17.png

torch.unsqueeze(input, dim, out=None):起升维的作用,参数dim表示在哪个地方加一个维度,dim范围在:[-input.dim() - 1, input.dim() + 1]之间。比如输入input是一维,则dim=0时数据为行方向扩,dim=1时为列方向扩,再大会出现错误。

 tensor.size(x)用于返回tensor第 x 维的长度,不放参数即返回tensor的形状(同tensor.shape)。

 torch.rand(x.size()) →随机生成一个与x形状相同的矩阵,取值在(0,1)区间。

 1.首先,我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数: y = a * x^2 + b, 我们给 y 数据加上一点噪声来更加真实的展示它(如果不加噪声,得到的y仅仅是一条x平方的曲线,而不是一些需要拟合的点)

 2.然后,我们建立一个神经网络,这里可以直接运用 torch 中的体系。先定义所有的层属性(init()), 然后再一层层搭建(forward(x))层与层的关系链接。


18.png

多少个输入,多少个隐藏层神经元,多少个输出

  self.hidden(x) → 使用隐藏层加工一下x,x作为输入经过隐藏层,得到输出为n_hidden。

  F.relu() → 用relu激励函数激励n_hidden。

  上页搭建的神经网络的结构如下:

19.png

 3.接下来,我们开始训练搭建好的神经网络

  损失函数的实例化

20.png

损失函数输入是一个输入的pair(对):(output, target),然后计算出一个数值来评估output和target之间的差距大小;

 其中output代表的是神经网络评估出来的输出值yk,>target代表(有监督训练的,真实的)标签tk。

 torch.nn中有若干个不同的损失函数可供使用,比如nn.MSELoss就是通过计算均方损失来评估输入和目标值之间从差距【越小越好】

21.png

22.png23.png24.png

相关文章
|
27天前
|
机器学习/深度学习 人工智能 PyTorch
PyTorch深度学习 ? 带你从入门到精通!!!
🌟 蒋星熠Jaxonic,深度学习探索者。三年深耕PyTorch,从基础到部署,分享模型构建、GPU加速、TorchScript优化及PyTorch 2.0新特性,助力AI开发者高效进阶。
PyTorch深度学习 ? 带你从入门到精通!!!
|
1月前
|
机器学习/深度学习 数据采集 人工智能
PyTorch学习实战:AI从数学基础到模型优化全流程精解
本文系统讲解人工智能、机器学习与深度学习的层级关系,涵盖PyTorch环境配置、张量操作、数据预处理、神经网络基础及模型训练全流程,结合数学原理与代码实践,深入浅出地介绍激活函数、反向传播等核心概念,助力快速入门深度学习。
118 1
|
1月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
86 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
4月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
195 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
|
8月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
409 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
7月前
|
机器学习/深度学习 自然语言处理 算法
PyTorch PINN实战:用深度学习求解微分方程
物理信息神经网络(PINN)是一种将深度学习与物理定律结合的创新方法,特别适用于微分方程求解。传统神经网络依赖大规模标记数据,而PINN通过将微分方程约束嵌入损失函数,显著提高数据效率。它能在流体动力学、量子力学等领域实现高效建模,弥补了传统数值方法在高维复杂问题上的不足。尽管计算成本较高且对超参数敏感,PINN仍展现出强大的泛化能力和鲁棒性,为科学计算提供了新路径。文章详细介绍了PINN的工作原理、技术优势及局限性,并通过Python代码演示了其在微分方程求解中的应用,验证了其与解析解的高度一致性。
1435 5
PyTorch PINN实战:用深度学习求解微分方程
|
8月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
|
10月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
284 3
|
5月前
|
机器学习/深度学习 PyTorch API
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
本文深入探讨神经网络模型量化技术,重点讲解训练后量化(PTQ)与量化感知训练(QAT)两种主流方法。PTQ通过校准数据集确定量化参数,快速实现模型压缩,但精度损失较大;QAT在训练中引入伪量化操作,使模型适应低精度环境,显著提升量化后性能。文章结合PyTorch实现细节,介绍Eager模式、FX图模式及PyTorch 2导出量化等工具,并分享大语言模型Int4/Int8混合精度实践。最后总结量化最佳策略,包括逐通道量化、混合精度设置及目标硬件适配,助力高效部署深度学习模型。
799 21
PyTorch量化感知训练技术:模型压缩与高精度边缘部署实践
|
25天前
|
边缘计算 人工智能 PyTorch
130_知识蒸馏技术:温度参数与损失函数设计 - 教师-学生模型的优化策略与PyTorch实现
随着大型语言模型(LLM)的规模不断增长,部署这些模型面临着巨大的计算和资源挑战。以DeepSeek-R1为例,其671B参数的规模即使经过INT4量化后,仍需要至少6张高端GPU才能运行,这对于大多数中小型企业和研究机构来说成本过高。知识蒸馏作为一种有效的模型压缩技术,通过将大型教师模型的知识迁移到小型学生模型中,在显著降低模型复杂度的同时保留核心性能,成为解决这一问题的关键技术之一。

推荐镜像

更多