• 2024-09-12PyTorch----模型运维与实战
    一、PyTorch是什么PyTorch由Facebook开源的神经网络框架,专门针对GPU加速的深度神经网络(DNN)编程。二、PyTorch安装首先确保你已经安装了GPU环境,即Anaconda、CUDA和CUDNN随后进入Pytorch官网​​​​​​PyTorch官网会自动显示符合你电脑配置的Pytorch版本,复制指令到cuda
  • 2024-09-10基于matlab的通过解方程来动态调整学习率的想法和固定学习率的梯度下降法
    通过解方程来动态调整学习率的想法,在实际应用中可能并不实用,因为它涉及到解符号方程,这可能会非常复杂或无法解析地求解,同时会增加计算复杂度和时间,固定学习率或基于某种规则(如线搜索)调整学习率更为常见。建议探索更高级的梯度下降变体(如Adam、RMSprop等),这些算法自动调整学习率
  • 2024-09-07深度学习实战4--GAN进阶与优化
            GAN  的问题主要有两点:Loss 等于0的梯度消失问题和梯度不稳定以及多样性受损。前者是因为选择的分布函数使用JS距离,这个距离不能衡量两个不相交的分布的距离;后者是因为Loss  函数要求KL距离最小,JS 距离最大,所以梯度不稳定,而且 Loss 函数对正确率要
  • 2024-09-07Pytorch相关(第二篇)
    Pytorch自动梯度法,实现自定义向前向后传播方法在PyTorch中,自定义自动求导的功能可以通过实现继承自 torch.autograd.Function 的类来实现。这允许您定义自己的前向传播(forward)和反向传播(backward)逻辑。下面是如何自定义实现向前和向后传播的详细步骤和示例代码。自定义 au
  • 2024-09-07Pytorch相关(第一篇)
    torch.autograd.Function使用方法torch.autograd.Function 是PyTorch提供的一个接口,用于自定义自动求导的操作。通过继承这个类,你能够定义自定义的前向和反向传播逻辑。下面是使用 torch.autograd.Function 的基本步骤以及示例。自定义 Function 的步骤继承 torch.au
  • 2024-08-31PyTorch~Tensor
    为什么深度学习中要用Tensor,而不是直接用numpy?发现很多人没有说到重点,首先,数学上的tensor和编程上的(pytorch)内的tensor是两个概念。数学上的tensor是用来研究高维矩阵之间的一些表达方式和运算性质的(比如高维空间的度量如何更加通用的定义),pytorch里面的tensor是一个数据
  • 2024-08-28深度学习-pytorch-basic-002
    from__future__importprint_functionimporttorchastx=t.Tensor(5,3)#构建(5,3)的矩阵,只是分配空间,未初始化print(x)tensor([[1.0194e-38,8.4490e-39,1.0469e-38],[9.3674e-39,9.9184e-39,8.7245e-39],[9.2755e-39,8.9082e-39,9.9184
  • 2024-08-27pytorch常见错误_0240826
    pytorch常见错误RuntimeError:aleafVariablethatrequiresgradisbeingusedinanin-placeoperation.如下程序会抱上述错误x=torch.randn(3,requires_grad=True)x+=1#原位操作报错:RuntimeError:aleafVariablethatrequiresgradisbeingusedinan
  • 2024-08-223-线性回归从零实现
    1、注意=和-=在梯度更新时的区别defminbatch_sgd(params,lr,batch_size):withtorch.no_grad():forparaminparams:param=param-lr*param.grad/batch_sizeparam.grad.zero_()这段代码是错误的,应该改成param-=lr*param.grad/batch_size原因如下:import
  • 2024-08-13关于Pytorch中net.eval()和torch.no_grad()的意义理解
    Q:defevaluate_accuracy(net,data_iter):#@save"""计算在指定数据集上模型的精度"""ifisinstance(net,torch.nn.Module):net.eval()#将模型设置为评估模式metric=Accumulator(2)#正确预测数、预测总数withtorch.no_grad():
  • 2024-08-124-反向传播
    从这张图片,可以看出。不管我们有多少层,都可以化简成最简形式。我们添加的层就没有意义。所以我们要对每一层的输出做非线性变换,增加模型的复杂程度,使它没法化简反向传播的流程pytorch的tensor数据结构看到代码,要能把计算图构建出来,而不是简单的乘除运算在上面这张图,w
  • 2024-08-123-随机梯度下降
    随机梯度下降可以跨越鞍点对每一个样本的梯度进行更新点击查看代码importnumpyasnpimportmatplotlib.pyplotaspltx_data=[1.0,2.0,3.0]y_data=[2.0,4.0,6.0]w=1.0defforward(x):returnx*wdefloss(x,y):y_pred=forward(x)ret
  • 2024-08-112-梯度下降算法
    梯度下降算法只能保证找到的是局部最优,不是全局最优平常我们经过大量实验,发现局部最优点不是很多,所以可以使用梯度下降算法。但是还要提防鞍点下面进行实现梯度下降算法点击查看代码importnumpyasnpimportmatplotlib.pyplotaspltx_data=[1.0,2.0,3.0]y_
  • 2024-08-09零基础学习人工智能—Python—Pytorch学习(三)
    前言这篇文章主要两个内容。一,把上一篇关于requires_grad的内容补充一下。二,介绍一下线性回归。关闭张量计算关闭张量计算。这个相对简单,阅读下面代码即可。print("============关闭require_grad==============")x=torch.randn(3,requires_grad=True)print(x)x.requir
  • 2024-08-08【深度学习与NLP】——快速入门Pytorch基本语法
    目录Pytorch基本语法1.1认识Pytorch1.1.1什么是Pytorch1.1.2Pytorch的基本元素操作1.1.3 Pytorch的基本运算操作1.1.4 关于TorchTensor和Numpyarray之间的相互转换1.1.5小节总结1.2Pytorch中的autograd1.2.1关于torch.Tensor1.2.2关于Tensor的操作1.2.3
  • 2024-08-07零基础学习人工智能—Python—Pytorch学习(一)
    前言其实学习人工智能不难,就跟学习软件开发一样,只是会的人相对少,而一些会的人写文章,做视频又不好好讲。比如,上来就跟你说要学习张量,或者告诉你张量是向量的多维度等等模式的讲解;目的都是让别人知道他会这个技术,但又不想让你学。对于学习,多年的学习经验,和无数次的回顾学习过程,都
  • 2024-08-07pytorch和deep learning技巧和bug解决方法短篇收集
    有一些几句话就可以说明白的观点或者解决的的问题,小虎单独收集到这里。torch.hub.loadhowdoesitwork下载预训练模型再载入,用程序下载链接可能失效。model=torch.hub.load('ultralytics/yolov5','yolov5s')model=torch.hub.load('ultralytics/yolov3','yolov3
  • 2024-07-27张量求导
    点击查看代码#-*-coding:utf-8-*-#@Author:钱力#@Time:2024/7/278:48importtorch#标量求导x=torch.tensor(-2.0,requires_grad=True)#x需要被求导b=torch.tensor(-2.0)c=torch.tensor(1.0)d=torch.pow(x,2)e=x*by=d+e+cy.
  • 2024-07-26梯度回归三步走
    模型训练的每个周期内我们会碰到以下固定的代码逻辑组合:optimizer.no_grad()loss.backward()optimizer.step()他们的作用分别为:optimizer.no_grad():清空上一轮训练留下来的梯度值。每一轮梯度训练过程中,针对模型的参数集,都会生成相应的梯度x.grad,如果不显
  • 2024-07-22基于pytorch演练线性回归模型
    引言本文的目的是在前文基于numpy演练可视化梯度下降的代码基础上,使用pytorch来实现一个功能齐全的线性回归训练模型。为什么仍然使用线性回归模型?线性回归模型简单,它能让我们聚集在pytorch是如何工作的,而不是模型内部的某个复杂结构或算法。与前面的[基于numpy的线性回
  • 2024-07-20PyTorch 中 loss.grad_fn 解释
    在PyTorch中,loss.grad_fn属性是用来访问与loss张量相关联的梯度函数的。这个属性主要出现在使用自动微分(automaticdifferentiation)时,特别是在构建和训练神经网络的过程中。当你构建一个计算图(computationalgraph)时,PyTorch会跟踪所有参与计算的操作(比如加法、乘法、激活函数等),
  • 2024-07-18模型训练中出现loss为NaN怎么办?
    文章目录一、模型训练中出现loss为NaN原因1.学习率过高2.梯度消失或爆炸3.数据不平衡或异常4.模型不稳定5.过拟合二、针对梯度消失或爆炸的解决方案1.使用`torch.autograd.detect_anomaly()`2.使用torchviz可视化计算图3.检查梯度的数值范围4.调整梯度剪裁
  • 2024-07-15《昇思25天学习打卡营第06天|qingyun201003》
    日期心得什么是函数式自动微分,在日常的模型训练中,涉及到复杂的数学公式如何转换为机械语言,通过本次的学习,使我了解到了如何去做梯度计算,通过梯度计算,设计损失函数,有一步步优化代码。昇思MindSpore基础入门学习函数式自动微分(AI代码解析)函数式自动微分神经网络的
  • 2024-07-08diffusion model 代码
    %matplotlibinlineimportmatplotlib.pyplotaspltimportnumpyasnpfromsklearn.datasetsimportmake_s_curveimporttorchs_curve,_=make_s_curve(10**4,noise=0.1)s_curve=s_curve[:,[0,2]]/10.0print("shapeofs:",np.shape(s_curve))data
  • 2024-07-02李沐动手学深度学习V2-chap_preliminaries
    李沐动手学深度学习V2文章内容说明本文主要是自己学习过程中的随手笔记,需要自取课程参考B站:https://space.bilibili.com/1567748478?spm_id_from=333.788.0.0课件等信息原视频简介中有CSV文件修改读取成张量tensor数据预处理首先(创建一个人工数据集,并存储在CSV(逗号分隔值