学习pytorch(一) 利用pytorch 构建计算图,进行最简单的机器学习。

PyTorch——从入门到精通:PyTorch简介与安装(最新版)【PyTorch系统学习】 PyTorch——从入门到精通:PyTorch简介与安装(最新版)【PyTorch系统学习】 这个专栏将是一个系统的学习资源,旨在从基础到高级,逐步引导读者入门并精通PyTorch的使用方法。以PyTorch代码为基准,系统分享PyTorch的基础知识、核心概念、实际案例以及最佳实践。我们不仅会探讨如何使用PyTorch构建和训练神经网络,还会深入讨论如何优化模型、处理数据以及部署应用。 详细介绍PyTorch的起源及发展以及精准的安装方法。 阅读详情

在这里插入图片描述

import torch
#构建的例子模型是线性模型 y=w*x
x_data=[1.0,2.0,3.0]
y_data=[2.0,4.0,6.0]
w=torch.tensor([1.0]) #构建一个1阶张量,就是一个一维数组。张量是神经网络的计算单元
w.requires_grad=True #这个张量是需要计算梯度的,默认不计算,让张量计算梯度,才能进行反向传播
def forward(x):
    return x*w  #*号已经被重载了。x会转换为张量。张量的运算实际上是在构建计算图。
    #返回的结果也是一个张量。这个结果张量是可以反向传播的。

def loss(x,y):
    y_hat=forward(x) #y_hat 是预测值。它是个张量,尽管这个张量只有一个数,
    #但是张量的计算是构建计算图,如果用这个张量去计算,也能得到结果,
    #但由于构建的是计算图,内存消耗会非常大。
    return (y_hat-y)**2 #返回预测值相对于实际值的损失。返回的是个张量

for cycle in range(1000): #进行1000轮学习
    for x,y in zip(x_data,y_data):
        l=loss(x,y)
        l.backward()
        print('\tgrad:',x,y,w.grad.item()) #注意grad也是张量,打印是我们只关心它的值,
        #通过item()就能访问它的值。
        w.data=w.data-0.01*w.grad.data#注意不能写成:w=w-0.01*w。这样子是构建计算图。
        #原来的w还是在内存中的。只是无法被直接访问。而我们希望的是更新原来的w的值,不希望构建计算图。
        #所以修改的只是w.data。
        w.grad.data.zero_() #这里要显式得对之前计算过的梯度清0。
        #我们修改了data,但是原来的梯度其实还在的。如果不清零。
        #下次计算梯度的时候,会把上次计算的加上去,使下次的梯度不是真正的梯度。而是梯度和。
    print("cycle:",cycle,l.item())

print("1000轮训练后预测当x=4时,y=",forward(4).item())

运行结果

在这里插入图片描述

深度学习Pytorch中计算图的概念及理解 深度学习pytorch框架计算图的概念理解 阅读详情

相关推荐

PyTorch计算图

PyTorch计算图

devcy的博客 4509

构建计算图 API

建立计算图(TensorFlow API 个人翻译) 备注:个人学习用,渣翻译 官方文档: https://www.tensorflow.org/versions/r0.12/api_docs/python/framework.html#building-graphs 极客学院: http://wiki.jikexueyuan.com/project/tensorflow

小旋锋 的博客 1909

有向无环图DAG与PyTorch动态计算图

在机器学习和深度学习中,计算图(Computational Graph)确实是一个有向无环图(DAG)的具体应用实例。它将神经网络中的所有运算步骤组织成一个有序的结构,每个节点代表一个数学操作或张量(如加法、矩阵乘法、激活函数等),边则表示了数据流的方向和依赖关系。

xw555666的博客 2363

从 X 入门Pytorch——Tensor的自动微分、计算图,常见的with torch.no_grad()机制

文章介绍了我们在模型训练过程中常见的detach操作,with torch.no_grad()操作的机制,同时介绍了以上两个操作的基础原理,就是Tensor的自动微分机制。

Philo的博客 1011

pytorch的自动微分、计算图 | 代码解析

计算图原理剖析 pytorch自动微分代码分析

专注于人工智能的算法与应用 2616

【机器学习:十三、PyTorch简介及实现】

1. PyTorch的神经网络实现结构数据准备数据处理是深度学习的核心,PyTorch通过和模块处理数据集。模型定义使用类构建神经网络,每个层通过模块化方式定义,并在forward函数中指定前向传播逻辑。损失函数PyTorch提供多种内置损失函数,如均方误差(MSE)、交叉熵损失等,适应不同任务需求。优化器模块支持梯度更新优化,如随机梯度下降(SGD)和自适应优化(Adam)。训练与测试PyTorch中通过手动循环实现训练过程,包括张量操作和梯度更新,能够提供高度的灵活性和控制力。

计算机领域博客,与时俱进的思想与技术。 1430

15、pytorch张量基本操作、卷积池化介绍、简单神经cnn网络搭建和训练示例

第一章 pytorch介绍第二章 pytorch中张量的数据类型介绍第三章 pytorch张量的基本操作3.1 创建张量3.2 张量操作3.3 张量索引3.4. 自动求导第四章 PyTorch中卷积、池化、激活函数、全连接层介绍4.1 卷积层4.2 池化层4.3 激活函数4.4 全连接层第五章 pytorch中CNN网络搭建和训练示例PyTorch是一个基于Python的科学计算库,主要用于深度学习和人工神经网络。它是一个开源项目,由Facebook人工智能研究团队开发,并且非常受欢迎。

qq_15060477的博客 1173

Pytorch快速入门系列---(二)动态计算图、自动微分、torch.nn模块

由于卷积核尺寸远远小于输入尺寸,即减少需要学习的参数的数量,并且针对每个卷积层可以使用多个卷积核获取输入的特征映射,对数据具有很强的特征提取和表示能力,并且在卷积运算之后,使得卷积神经网络结构对输入的图像具有平移不变的性质。两种池化的区别如下图所示。由上面的函数图像可以看出,该函数的输出区间是(-1,1),整个函数是以0为中心,虽然Tanh函数曲线和Sigmoid函数的曲线形状比较相近,在输入很大或者很小时,梯度很小,不利于权重更新,但由于Tanh的取值输出以0对称,使用效果会比Sigmoid好很多。

qq_42681787的博客 1561

第4课 计算图的构建

对于一个有向无环图,拓扑排序总能够找到一个,在这个序列中,。什么是呢,也就是对于对于上图例子中的深度学习模型,conv1是conv2的前驱节点,conv1也是conv3的前驱节点,所以在计算执行节点序列时,conv1必须出现在conv2和conv3的前面,而conv2和conv3之间的顺序因为没有节点之间的连接而不做要求。

weixin_63999989的博客 757

Pytorch深度学习实战3-5:详解计算图与自动微分机(附实例)

本文详细介绍Pytorch中计算图的底层原理,讲解基于计算图的前向传播和反向传播,Pytorch自动微分原理以及梯度缓存、参数冻结等技巧

FRIGIDWINTER的博客 3193

服务器测试之GPU基础汇总

GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。一个专门的图形核心处理器。GPU是显示卡的“大脑”,决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。可以形象的理解为90%的ALU(运算单元),5%的Control(控制单元)、5%的Cache(缓存单元)GPU的设计原理——总结为大量的简单运算。

qq_41897488的博客 2万+

【Python】探索 PyTorch 在机器学习中的应用

在机器学习的浪潮中,PyTorch 以其灵活性和易用性成为了研究者和开发者的热门选择。本文将探讨 PyTorch 在机器学习领域的应用,并展示如何使用 PyTorch 构建一个基本的机器学习模型。

技术无疆 9469

CXL技术入门:从PCIe到高性能计算的桥梁(附最新2.0协议解析)

本文深入解析CXL技术如何作为PCIe的进化版,成为高性能计算的关键桥梁,特别聚焦CXL 2.0协议的关键升级。从技术架构、三大子协议到典型应用场景,全面介绍CXL在缓存一致性、内存共享等方面的优势,帮助开发者快速掌握这一前沿技术。

wdx012345的博客 728

Unity 机器学习(ML-Agents) 基础

Unity 机器学习 ML-Agents 基础Unity 官方示例下载ML-Agents 部分Python 下载AnacondaAnaconda 虚拟环境构建 ML-Agents安装 ML-Agents Python 包安装 ML-Agents 包ML-Agents 入门指南Unity Hub 部分虚拟环境 训练虚拟环境 训练运行:虚拟环境 开始训练:虚拟环境 观察训练进度:虚拟环境 停止训练虚拟环境 恢复训练虚拟环境 训练模型ML-Agents 打造新的学习环境ML-Agents 资产导入 Unity 官

Maddie_Mo的博客 1万+

告别密码本!用Windows NPS给华为/华三交换机做Radius认证,SSH登录更安全

本文详细介绍了如何利用Windows NPS实现华为/华三交换机的Radius认证,提升SSH登录安全性。通过集中化管理、精细化控制和完整审计追踪,企业可告别传统密码本,大幅提升网络设备管理效率。文章包含NPS服务部署指南、交换机配置详解及调试技巧,助力企业构建安全高效的统一认证体系。

weixin_42549723的博客 418

YOLOv8 交通违规检测各个场景的实际应用

本文介绍了基于YOLOv8的交通违规检测系统在不同场景下的应用实现。系统可检测闯红灯、超速、违停和不系安全带等多种违规行为,针对每种场景提供了具体的技术方案和Python实现代码。其中闯红灯检测结合信号灯状态分析,超速检测通过距离时间计算速度,违停检测采用长时间跟踪策略,安全带检测则需更高精度识别。文章还展示了如何整合各功能构建综合交通监管系统,并总结了不同应用场景的技术要点和优化方向,为智能交通管理提供了实用解决方案。

u010117029的博客 299

【pytorch】使用pytorch构建线性回归模型-了解计算图和自动梯度

小批量随机梯度下降(Mini-batch Stochastic Gradient Descent)是批量梯度下降的一种变体。与批量梯度下降相比,小批量随机梯度下降在每次迭代时只使用一小部分数据(称为小批量)来计算梯度,然后根据这个梯度来更新模型的参数。Jθ1m∑i1mLyifθxiJθm1​i1∑m​Lyifθ​xi))其中,JθJ(\theta)Jθ是目标函数,mmm是数据集的大小,LyifθxiLyi。

weixin_45568812的博客 1660

Qt EGLFS 图形后端详解

EGLFS (EGL Full Screen) 是Qt框架在嵌入式Linux系统中的高性能图形显示后端,它提供了直接基于EGL和OpenGL ES的硬件加速渲染解决方案。

浩瀚之水的专栏 511

《PyTorch高级机器学习实战》包邮送书三本

《PyTorch高级机器学习实战》包邮送书三本

努力让自己发光,对的人才能迎着光而来 1万+

MIPI D-PHY的校准测试

MIPI的校准测试困扰了很久,今天终于得以解决!

一只豌豆象的博客 3919

C#上位机+YOLO实时目标检测:摄像头采集+多线程推理+精度调优全流程

标注数据集:使用LabelImg工具标注目标对象,按YOLO格式整理数据集;模型训练:使用Ultralytics库训练自定义模型,提升特定目标的检测精度;训练参数优化:增加训练轮数(epochs=100200)、调整批次大小(batch=1632)、使用数据增强(flip、mosaic等)。摄像头采集:封装通用采集类,支持USB摄像头/网口相机,实现稳定帧读取与异常处理;多线程推理:采用“采集线程+推理线程+UI线程”解耦架构,使用线程安全队列传递帧数据,彻底解决界面卡顿;核心封装。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 671

深度学习记录入门篇————利用numpy,pytorch,tensorflow最简单的机器学习

最简单的机器学习实现先了解一下什么是梯度下降梯度是什么呢学习率又是啥梯度下降分类批量梯度下降随机梯度下降小批量梯度下降使用Numpy实现机器学习使用Tensor及antograd实现机器学习使用TensorFlow架构不同实现方法的比较 GitHub地址 https://github.com/yunlong-G/tensorflow_learn/blob/master/%E5%9F%BA%E6%9C%AC%E7%9A%84/%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E6%9C

yunlong_G的博客 2802

扩散模型实战:从零开始训练手写数字生成模型

手写数字的数据集是绝大部分炼丹师的深度学习初恋,这篇博客以代码为主,手把手带读者搭建一个基于扩散模型的手写数字生成模型,非常适合刚接触扩散模型的初学者学习。

沉迷单车的追风少年 1912

计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战

前一篇文章,Tensor 基本操作5 device 管理,使用 GPU 设备 | PyTorch 深度学习实战本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started机器学习的主要工作原理,就是万事万物存在规律,而我们使用机器来完成参数评估。参数评估的过程是随机梯度下降,也就是任意选择起点,然后使用微积分技术指导我们调优,找到一组最优参数值。这就像我们爬山,面对众多的山峰,我们从不同的出发点出发,不断的朝着山顶前进,最终,

Chatopera 1745

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

机器学习框架PyTorch详解和案列分析

PyTorch 是一个基于 Python 的机器学习框架,由 Facebook 于 2016 年发布。它提供了一组灵活且高效的工具,可用于构建和训练各种深度学习模型。PyTorch 的核心组件是张量,它是一个多维数组,可以用于存储和处理数据。PyTorch 的张量与 NumPy 的数组类似,但也提供了 GPU 加速和自动微分等功能。PyTorch 使用动态计算图,这意味着在运行时可以修改计算图,从而允许更灵活的模型构建和调试。这与 TensorFlow 等框架的静态计算图不同。

AI时代光年 6261

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Pytorch 学习 - 5.pytorch 张量数学-计算图

先掌握pytorch,学好pytorch, 才能学好人工智能。

chenchihwen的专栏 1274

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 加速下载安装pytorch
下一篇: 学习pytorch(二)pytorch自带的工具实现简单的线性模型
?-ldl
博客等级 码龄7年 712粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值