[深度学习入门]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

相关文章
|
8月前
|
机器学习/深度学习 人工智能 PyTorch
PyTorch深度学习 ? 带你从入门到精通!!!
🌟 蒋星熠Jaxonic,深度学习探索者。三年深耕PyTorch,从基础到部署,分享模型构建、GPU加速、TorchScript优化及PyTorch 2.0新特性,助力AI开发者高效进阶。
PyTorch深度学习 ? 带你从入门到精通!!!
|
9月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
839 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
757 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
12月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
553 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
1312 0
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
491 3
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
582 22
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1548 64
计算机视觉五大技术——深度学习在图像处理中的应用
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
1381 6

热门文章

最新文章

推荐镜像

更多