深度学习框架Pytorch——学习笔记(七)常用损失函数和神经网络优化方法,激活函数简述

2023-05-16

深度学习框架Pytorch——学习笔记(七)常用损失函数和神经网络优化方法,激活函数简述

优化方法参考地址 https://www.leiphone.com/news/201706/e0PuNeEzaXWsMPZX.html

网络的可学习参数 net.parameters()

for parameters in net.parameters():
	print(parameters)
使用 net.named_parameters()  可同时返回可学习参数和名称

loss损失函数在nn中常用的都包含,是类的方式,先定义后使用
优化器在torch.optim中 , 传入 net.parameters() 网络的参数

常用的损失函数

(x,y)L1loss
nn.L1Loss()
x与y的差的绝对值

在这里插入图片描述

(x,y)均方损失
nn.MSELoss()
x与y的差的平方和

在这里插入图片描述

用于多分类的负对数似然损失
nn.NLLLoss()

在这里插入图片描述

用于多分类的交叉熵损失
nn.CrassEntropyLoss()
logsoftmax与MLLloss的结合

在这里插入图片描述

(x,y)二进制交叉熵
nn.BCELoss()
用前需要在前面加上sigmoid函数

在这里插入图片描述

三种优化算法

优化器的作用就是用来更新梯度的。
SGD随机梯度下降	
RMSprop快速梯度下降
Adam自动

SGD随机梯度下降算法,带有动量的可选参数

optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)

RMSprop算法,可以减小某些维度梯度更新波动较大的情况,使其梯度下降的速度变得更快

optimizer = torch.optim.RMSprop(model.parameters(), lr=0.01, alpha=0.99)

Adam 自动更新梯度,一般使用默认值即可

optimizer = torch.optim.Adam(model.parameters())

常见激活函数

神经网络无非是每层的矩阵相乘,其关系是线性的。无论怎么改变,其得到的信息没有太大的差距。所以需要激活函数引入非线性因素,使得神经网络可以任意逼近任何非线性函数,增加了模型泛化的特性。
sigmoid函数 (放弃)

在这里插入图片描述
输出在(0,1),把输入变换为0到1之间的输出。
需要进行指数运算,比较慢,且不利于权重优化。
目前基本上只有在做二元分类(0,1)时的输出层才会使用。

tanh函数 (放弃)

在这里插入图片描述
输出区间是在(-1,1)之间,以0为中心。
随着Relu的出现所有的隐藏层基本上都使用relu来作为激活函数了

ReLU (最常用)

在这里插入图片描述
a=max(0, x) 导数大于0时1,小于0时0。
当输入是负数的时候,ReLU是完全不被激活的.
但是实际的运用中,该缺陷的影响不是很大。

Leaky ReLU函数 (不一定好用)

在这里插入图片描述
a=max(zx, x) z=0.01
理论上来讲,Leaky ReLU有ReLU的所有优点,但是在实际操作当中,并没有完全证明Leaky ReLU总是好于ReLU。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习框架Pytorch——学习笔记(七)常用损失函数和神经网络优化方法,激活函数简述 的相关文章

  • 避坑-go语言S3参数详解

    云端 事实上 xff0c 笔者之前对互联网存储方式基本没有概念 xff0c 在6个月前才开始接触nas存储 对象存储等 xff0c 并且直接参与项目 xff0c 当时可谓一头雾水 xff0c 连续两晚工作到凌晨才算完成当时s3对象存储求 x
  • 排序——冒泡排序法

    随着大数据和人工智能技术的普及和应用 xff0c 企业所拥有的数据量堵在成倍的增长 xff0c 排序算法成为不可或缺的重要工具之一 排序的过程中 xff0c 数据的移动方式可以分为 直接移动 和 逻辑移动 两种 直接移动 是交换存储数据的位
  • 排序——插入排序法

    插入排序法 插入排序法是将数组中的元素注意与以为排序好的数据进行比较 xff0c 先将前两个元素先派好 xff0c 再将第三个元素插入到适当的位置 也就是这三个元素仍然是排序好的 xff0c 接着将第四个元素加入 xff0c 重复此步骤 x
  • 笔记本电脑键盘失灵拯救方法总结

    笔记本键盘失灵怎么办 笔记本键盘失灵原因屏幕键盘的使用笔记本键盘拯救方案一笔记本键盘拯救方案二 笔记本键盘失灵原因 驱动失效 xff0c 相关文件被删除 xff1b 硬件损坏这种情况很少 xff0c 本文不做硬件修理讨论 xff1b 注册表
  • CATIA二次开发CAA安装

    安装资料在网盘里 Win7 64位 以下软件均已管理员身份运行 xff1a 1 安装vs2008 gt 自定义安装 gt 选择要安装的功能 gt Visual C 43 gt x64编译器和工具 1 2安装SP1 2 安装CATIA V5
  • 在3080显卡电脑上安装Linux系统

    首先电脑配置如下 xff1a 品牌 xff1a 微星 GP76 笔记本电脑 BIOS xff1a American Megatrends International LLC E17K4IMS 404 2022 1 21 CPU xff1a
  • Linux:文件系统

    Linux文件系统简介 1 Linux文件系统与Windows有较大的差别 Windows的文件结构是多个并列的树状结构 xff0c 最顶部的是不同的磁盘 分区 xff0c 如C D E F等 Linux的文件结构是单个的树状结构 xff0
  • Linux:服务器相关指令

    服务相关命令 1 随着微服务兴起 xff0c springboot也用得越来越多 xff0c springboot项目默认是打包成jar包的 xff0c 执行jar包就可以同时启动其内置的tomcat xff0c 免去了单独部署tomcat
  • Linux:用户相关

    Linux用户 1 Linux系统是一个多用户多任务的分时操作系统 xff0c 任何一个要使用系统资源的用户 xff0c 都必须首先向系统管理员申请一个账号 xff0c 然后以这个账号的身份进入系统 2 用户的账号一方面可以帮助系统管理员对
  • Selenium:简介

    HTML简介 1 HTML中文为超文本标记语言 HyperText Markup Language 是一种用于创建网页的标准标记语言 2 HTML是用来描述网页的一种语言 nbsp nbsp nbsp HTML不是一种编程语言 而是一种标记
  • Selenium:元素定位

    Selenium自动化测试 1 Selenium对网页的控制是基于各种前端元素的 在使用过程中 对于元素的定位是基础 只有准确抓取到对应元素才能进行后续的自动化控制 nbsp nbsp nbsp 前面介绍了前端网页HTML是由很多标签元素有
  • Selenium:浏览器操作

    Selenium浏览器操作 1 前面介绍过 根据Selenium下的WebDriver类可以实例化一个浏览器WebDriver对象 返回WebDriver对象 2 打开一个指定网页 定位HTML文档中指定元素都是根据浏览器WebDriver
  • Selenium:弹窗处理

    HTML中的弹窗 1 在实际系统中 在完成某些操作时会弹出对话框来提示 主要分为 警告消息框 确认消息框 提示消息对话 三种类型的对话框 2 警告消息框 alert 警告消息框提供了一个 确定 按钮让用户关闭该消息框 并且该消息框是模式对话
  • Selenium:表单切换

    表单 1 就是网页标签名为frame或iframe的元素 表单引用了其他页面的链接 真正的页面数据没有出现在源码中 但是在浏览器中可以看见 与浏览器的多个窗口类似 nbsp nbsp nbsp 这里说的表单不是HTML中的form标签 而是
  • Seleniu:元素常用操作

    Selenium元素操作 1 在使用Selenium过程中 仅仅是对元素进行定位和对浏览器WebDriver对象进行操作是完全不够的 更多的是需要我们对一个元素进行操作 nbsp nbsp nbsp 比如 向输入框中输入数据 点击按钮等等
  • Selenium:鼠标、键盘事件

    鼠标事件 1 前面介绍了Selenium中模拟鼠标 左键单击 的方法click 仅仅只有这个方法是完全不够的 现在的Web产品中提供了更丰富的鼠标交互方式 nbsp nbsp nbsp 例如鼠标右击 双击 悬停 拖动等功能 nbsp nbs
  • rust实现一个tcp server

    服务端 use std net TcpListener TcpStream use std thread use std time use std io use std io Read Write fn handle client mut
  • Selenium:元素判断

    判断元素是否存在 1 前面有介绍过使用Python中的sleep 方法来进行等待 等待一定的时间 让元素加载出来后再执行代码 nbsp nbsp nbsp 但是元素加载出来的时间是不固定的 有时长有时短 因此我们等待的时间就不固定了 nbs
  • Selenium:元素等待

    元素等待 1 前面介绍过 在使用Selenium做Web自动化过程中 可能会因为网络等原因导致页面元素没有加载出来就执行了代码 进而导致报错 nbsp nbsp nbsp 特别是在进行元素定位时 经常会遇到元素未加载出来就执行了定位代码 导
  • Selenium:操作Cookie

    什么是Cookie 1 Cookie用于辨别用户身份 访问服务器时保持登录状态等功能 用于服务器识别当前访问的是哪个用户 2 在网站中 http请求是无状态的 无状态是指协议对于事务处理没有记忆能力 每次请求都是完全独立 互不影响的 没有任

随机推荐

  • Selenium:操作JS

    JavaScript 1 JavaScript是Web的编程语言 所有现代的HTML页面都会使用JavaScript nbsp nbsp nbsp JavaScript是运行在客户端 浏览器 和服务器端的脚本语言 允许将静态网页转换为交互式
  • Selenium:下拉框操作

    下拉框 1 在Web网页中经常会遇到下拉框 下拉列表 比如说分页 每页显示的条数 语言的切换等功能 很多时候经常都是以下拉框的形式展现 2 下拉列表是网页中一种最节省页面空间的选择方式 默认状态下只显示一个选项 只有单击下拉按钮后才能看到全
  • Selenium:上传、下载文件

    Selenium 上传 下载文件 1 上传文件是比较常见的Web功能之一 比如 常见的上传头像功能 2 对于Web页面的上传功能实现一般有以下两种方式 nbsp nbsp nbsp 普通上传 普通的附件上传是将本地文件的路径作为作为一个值放
  • Python:类的__dict__属性

    Python中类的 dict 属性 1 Python中一切皆对象 nbsp nbsp nbsp 不管是内置的数据类型 内置函数 内置类 第三方类 还是自定义类都叫做对象 nbsp nbsp nbsp 一个对象就会有自己的方法或属性 只是说有
  • Python:处理XML文件汇总

    处理XML文件汇总 1 前面介绍了使用Python中的ElementTree库来解析 创建XML文件 nbsp nbsp nbsp 如果对这个库不了解的可以先去看看这个库 nbsp nbsp nbsp 地址 https mouse blog
  • Python:json数据与Python对象之间的转换

    json数据与Python对象之间的转换 1 前面介绍了在Python中如何处理json数据 主要使用了以下几个方法 nbsp nbsp nbsp dumps 将Python对象转换为JSON格式的字符串 nbsp nbsp nbsp du
  • 用结构体指针访问结构体中的结构体指针(结构体指针的嵌套)

    结构体中的结构体指针是使用 一 问题背景二 代码三 说明 一 问题背景 日常工作中没有编程的机会 xff0c 所以只看得懂代码 xff0c 现在需要重新写一段代码 xff0c 实现固定格式存储数据 xff0c 需要使用到结构体和结构体指针
  • MOOC —— Python语言基础与应用 by 北京大学 第五章 计算和控制流(一)

    第五章 计算和控制流 xff08 一 xff09 23 自动计算过程24 控制流程25 条件分支语句26 条件循环27 迭代循环28 上机练习 基本的计算程序测验题 23 自动计算过程 简单介绍了 冯 诺依曼结构计算机 xff0c 五大部件
  • 关于sort函数中的cmp参数的笔记(C++)

    C 43 43 中sort函数是经常会用到的一个函数 xff0c 主要的功能是排序 xff0c 可以给数组 xff0c 或者链表list 向量排序 sort first pointer first pointer 43 n cmp 在三个参
  • 16进制转10进制方法(初级)

    目标 xff1a 输入16进制字符串 xff0c 输出对应10进制数字 以下以一个题目给出方法 xff1b span class token comment span span class token comment coding in 2
  • 图像格式RGB与BGR互转

    在opencv中 xff0c 读取后图像的格式为BGR的 与其它的读取图像方式不同 xff0c 需要进行转换 基于python的切片特性 xff0c 可以快速进行转换 BGR to RGB opencv 转 常规img im 61 im 1
  • 深度学习框架Pytorch——学习笔记(九) 基础知识补充

    由于基础知识不牢固 xff0c 又学习了一下其他入门学习资料 pytorch中文手册 https github com zergtant pytorch handbook 入门基础补充 相比之前学过的东西 xff0c 一些常用的东西做了下补
  • 深度学习-CV基础知识笔记

    CNN卷积神经网络相关 分类 xff0c backbone LeNet 卷积神经网络的里程碑 由2个卷积层 2个池化层和2个全连接层组成 xff0c 卷积核大小是5 5 xff0c 池化层大小为2 2 xff0c 最后通过softmax输出
  • 目标检测基础算法框架代表

    目前的目标检测可以分为 单阶段 one stage xff0c 双阶段 two stage xff0c anchor free 三个方向 还有一个最近杀的比较疯的Transformer 还属于探索阶段 目前前沿检测框架是基础算法框架的衍生
  • Django 学习笔记 (二)dwebsocket

    dwebsocket 一次连接 xff0c 就可以直接发送 xff0c 不需要多次请求 安装 通过pip安装有问题 可直接下载git版 xff0c 将websocket文件复制到项目中 使用代码解释 django中 服务端 独立url数据通
  • 深度学习框架Pytorch——学习笔记(一)基础认识和实践

    深度学习框架Pytorch 学习笔记 xff08 一 xff09 记录在学习过程中 xff0c 学到的东西和遇到的问题 1 什么是Pytorch xff0c 为什么选择Pytroch xff1f pytorch是深度学习框架 xff0c 是
  • 深度学习框架Pytorch——学习笔记(四)逻辑回归

    深度学习框架Pytorch 学习笔记 xff08 四 逻辑回归 在上一个线性回归的基础上进行实现逻辑回归 逻辑回归中用到了sigmoid函数 可以理解为将结果值转为概率问题 0 1 之间 xff0c 逻辑回归实际上就是一个二分类了 将结果分
  • 深度学习框架Pytorch——学习笔记(六)PyTorch实现L1,L2正则化以及Dropout

    深度学习框架Pytorch 学习笔记 xff08 六 PyTorch实现L1 xff0c L2正则化以及Dropout 什么是过拟合 xff1f 过拟合的表现就是在训练过程中 xff0c loss越来越低 xff0c 但在测试集上测试发现效
  • debian源配置

    说明 xff1a 在没有接入网络的情况下 xff0c 采用最小话方式安装debian xff0c 默认是没有配置apt get源 没有安装远程管理服务SSH的 xff0c 这个时候是无法使用apt get install 在线安装软件的 x
  • 深度学习框架Pytorch——学习笔记(七)常用损失函数和神经网络优化方法,激活函数简述

    深度学习框架Pytorch 学习笔记 七 常用损失函数和神经网络优化方法 xff0c 激活函数简述 优化方法参考地址 https www leiphone com news 201706 e0PuNeEzaXWsMPZX html 网络的可