关于学习过程中的小点

news2025/2/5 4:01:48
  • nfev : 函数求值次数
  • njev : Jacobian 评估的数量
  • nit :算法的迭代次数

 

permute(dims)#维度转换
torch.split #[按块大小拆分张量]

 Pytorch.view

 Pytorch中使用view()函数对张量进行重构维度,类似于resize()、reshape()。用法如下:view(参数a,参数b,...),其中总的参数个数表示将张量重构后的维度,如果参数=-1,表示这该维度由pytorch自己补充。

例如 张量a的维度为1*6,a.view(2,3)的维度为2*3,a.view(-1,2,1)的维度为3*2*1

 torch.Size

torch.Size括号中有几个数字就是几维
第一层(最外层)中括号里面包含了两个中括号(以逗号进行分割),这就是(2,3,4)中的2
第二层中括号里面包含了三个中括号(以逗号进行分割),这就是(2,3,4)中的3
第三层中括号里面包含了四个数(以逗号进行分割),这就是(2,3,4)中的4 

 

 F.softmax

 F.softmax作用:
按照行或者列来做归一化的
F.softmax函数语言格式:

# 0是对列做归一化,1是对行做归一化
F.softmax(x,dim=1) 或者 F.softmax(x,dim=0)

F.log_softmax作用:
在softmax的结果上再做多一次log运算
F.log_softmax函数语言格式: 

F.log_softmax(x,dim=1) 或者 F.log_softmax(x,dim=0)

 logits

(1)总结来说就是:

f(wx+b)之后的输出,没有归一化的输出值,作为logits。

将logits进行softmax归一化,得到最后的结果。

(2)具体来说是:

也可以这么理解:logits与 softmax都属于在输出层的内容,

logits = tf.matmul(X, W) + bias

再对logits做归一化处理,就用到了softmax:

Y_pred = tf.nn.softmax(logits,name='Y_pred')

——————————————————————

Unscaled log probabilities of shape [d_0, d_1, ..., d_{r-1}, num_classes] and dtype float32 or float64.

可以理解logits ——【batchsize,class_num】是未进入softmax的概率,一般是全连接层的输出,softmax的输入。

CausalLMOutputWithPast 

因果语言模型(或自回归)输出的基类

dict 对象

Python 中的 dict 对象是一种 关联式容器 对象,用于保存由 键 ( key )到 值 ( value )的映射关系。 借助关联式容器,程序可快速定位到与指定 键 相关联的 值 。 dict 对象在 Python 程序中使用频率非常高,如果应用不当将严重影响程序的执行效率。

实验参数

run_language_modeling.py

mlm: bool = field(
        default=False, metadata={"help": "训练mask语言模型而不是语言模型"}
    )
mlm_probability: float = field(
        default=0.15, metadata={"help": "mask语言模型token的loss速率"}
    )
plm_probability: float = field(
        default=1 / 6,
        metadata={
            "help": "置换语言建模时屏蔽令牌的跨度长度与周围上下文长度的比率。"
        },
    )
max_span_length: int = field(
        default=5, metadata={"help": "用于置换语言建模的屏蔽令牌跨度的最大长度。"}
    )
train_embs: Optional[str] = field(
        default='no', metadata={"help": "whether the train word embeddings"}
    )

max_source_length: Optional[int] = field(
        default=512, metadata={"help": "the max source length of summarization data. "}
    )

train_max_target_length: Optional[int] = field(
        default=100, metadata={"help": "the max target length for training data. "}
    )

val_max_target_length: Optional[int] = field(
        default=100, metadata={"help": "the max target length for dev data. "}
    )

model.train():
在使用pytorch构建神经网络的时候,训练过程中会在程序上方添加一句model.train(),作用是启用batch normalization和drop out。

model.eval():
测试过程中会使用model.eval(),这时神经网络会沿用batch normalization的值,并不使用drop out。

 tensor.detach()

从计算图中脱离出来。

假设有模型A和模型B,我们需要将A的输出作为B的输入,但训练时我们只训练模型B. 那么可以这样做:

input_B = output_A.detach()

它可以使两个计算图的梯度传递断开,从而实现我们所需的功能。

返回一个新的tensor,新的tensor和原来的tensor共享数据内存,但不涉及梯度计算,即requires_grad=False。修改其中一个tensor的值,另一个也会改变,因为是共享同一块内存,但如果对其中一个tensor执行某些内置操作,则会报错,例如resize_、resize_as_、set_、transpose_。

 torch.mean()

mean()函数的参数:dim=0,按列求平均值,返回的形状是(1,列数);dim=1,按行求平均值,返回的形状是(行数,1),默认不设置dim的时候,返回的是所有元素的平均值。

CrossEntropyLoss()///criterion

对数似然损失函数

torch.pairwise_distance():

计算特征图之间的像素级欧氏距离

  • x1:第一个输入的张量
  • x2:第二个输入的张量
  • p:矩阵范数的维度。默认值是2,即二范数。

transforms.Lambda

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/761673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nacos1.4.2单机与集群的安装部署

CentOS 部署Nacos1.4.2 下载 nacos 下载链接:https://github.com/alibaba/nacos/tags 如何选择我们下载的 nocas 版本? 查看 Spring Cloud Alibaba 与 nacos 版本对应关系:SpringCloudAlibaba 组件对应关系说明 本项目使用 nacos 1.4.2 …

Python(十七)数据类型转换——str()函数和int()函数

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

2023年上半年:C#、Python和一些实用语言

文章目录 C#Pythonerlang和exilirfortranR语言 最近半年的开发任务主要集中在C#和Python上,所以博客内容也几乎围绕这两个部分,偶尔会穿插一些其他语言。下面就对2023年上半年的博客做一个总结。 C# 主要用C#写了一个文本阅读器,提供生成目…

学C的第二十八天【字符串函数和内存函数的介绍(一)】

相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第二十七天【指针的进阶(三)】_高高的胖子的博客-CSDN博客 前言: (1). C语言中对于字符和字符串的处理很是频繁&…

linux驱动开发:驱动开发框架,linux内核字符设备驱动开发过程

一、驱动框架 1.Linux内核模块和字符驱动的关系 模块是Linux进行组建管理的一种方式, 结构体:对设备的管理内核需要抽象出来一个结构体来描述设备所有的共性信息写驱动需要申请一个结构体并赋值(初始化),然后注册给内核让内核统一管理 驱动:由内核统一管理,所以驱动…

NUXT3学习笔记2

1、配置Ant design Vue (两个安装方式随便选一种,yarn会安装的更快) npm i ant-design-vue --save yarn add ant-design-vue 2、使⽤的 Vite,你可以使⽤ unplugin-vue-components 来进⾏按需加载。 yarn add unplugin-vue-components --save 在nuxt.…

设计模式——享元模式

享元模式 定义 享元模式(Flyweight Pattern)是池技术的重要实现方式。 使用共享对象可以有效地支持大量的细粒度对象。 优缺点、应用场景 优点 可以大大减少应用程序创建对象的数量,降低程序内存占用。 缺点 提高了系统的复杂度&…

5分钟上手IP代理服务

一 IP代理服务 在网上找了一个性价比高的IP代理服务,一个IP地址1分钱。 二 API协议 调用方式为http协议,响应数据格式支持JSON和txt,都是比较常用的方式。 三 源码范例 包括一些主流的编程语言,一分钟上手。 我用的python比较…

【Redis应用】查看附近(五)

🚗Redis应用学习第五站~ 🚩本文已收录至专栏:Redis技术学习 查看附近的XXX在我们的实际应用中非常广泛,能支持该功能的技术有很多,而在我们的Redis中主要依靠GEO数据结构来实现该功能! 一.GEO用法引入 GE…

问题解决:win10连接手机热点总是频繁自动断开

问题描述:尝试解决 问题解决:win10连接手机热点总是频繁自动断开 问题描述: 在使用win10笔记本电脑连接手机热点上网时,是不是的网络自动就断掉了,而且重新连上后,用着用着又断了, 这就让人有点恼火了, 尝试解决 重启电脑与手机 以前没出现过而现在有这种情况,可能是电脑或手机…

Spark复习笔记

文章目录 Spark在Hadoop高可用模式下读写HDFS运行流程构成组件作业参数RDD机制的理解算子map与mapPartition区别Repartition和Coalesce区别reduceBykey 与 groupByKeyreduceByKey、foldByKey、aggregateByKey、combineByKey区别cogroup rdd 实现原理宽窄依赖为什么要划分stage如…

Elasticsearch:语义搜索、知识图和向量数据库概述

结合对你自己的私有数据执行语义搜索的概述 什么是语义搜索? 语义搜索是一种使用自然语言处理算法来理解单词和短语的含义和上下文以提供更准确的搜索结果的搜索技术。 这种方法基于这样的想法:搜索引擎不仅应该匹配查询中的关键字,还应该尝…

LINUX命令:update-alternatives(软件版本管理工具)

前言   在基于 LINUX 操作系统之上安装所需开发环境组件时,可能会遇到无可避免的场景是:同一个组件,我们需要同时使用到两个或者更多的版本,比如 Java 有 1.6、1.7、1.8 等多版本,又比如 Python 有 2、3 等等&#x…

「2024」预备研究生mem-数学强化-整数、因数与倍数

一、整数、因数与倍数 二、带余除数 三、奇数与偶数 四、不定方程

Nature子刊-柔性薄膜上3D电极的直接激光写入

美国俄勒冈大学研究员设计了一种集成在柔性薄膜上的3D微电极阵列,其制造过程结合了传统的硅薄膜处理技术和双光子光刻在微米分辨率下的3D结构的直接激光书写技术,首次提出了一种产生高深宽比结构的方法。 发表在《自然通讯》杂志上的这项研究&#xff0c…

js实现控制台格式化打印版权信息(2023.7.16)

js代码在控制台格式化打印版权信息 2023.7.16 1、需求分析2、js实例(浏览器版权信息)2.1 百度一下2.1.1 js代码2.1.2 浏览器控制台输出效果 2.2 京东官网2.2.1 js代码2.2.2 浏览器控制台输出效果 2.3 EarthSDK地球页面2.3.1 js代码2.3.2 浏览器控制台输出…

【JMeter】JMeter进行JDBC数据库负载测试

JMeter进行JDBC数据库负载测试 前置准备1.创建线程组2.JDBC连接配置3.新建JDBC链接4.查看汇总报告 前置准备 此示例使用 MySQL 数据库驱动程序。 要使用此驱动程序,必须将其包含.jar文件(例如 mysql-connector-java-X.X.X-bin.jar)复制到 JM…

精选估值,解决买车卖车难题

在现代社会,车辆已经成为了人们生活中不可或缺的一部分。车辆的买卖交易也成为了许多人的生活中不可避免的问题。而估值则是买卖交易的过程中非常重要的一个环节。估值的准确与否直接影响到最后交易的结果。因此,选择一种准确便捷的估值方式就显得尤为重…

JAVA集合详解:用法、实例及适用场景

引言: 在JAVA编程中,集合是一种非常重要且常用的数据结构。通过使用集合,我们可以高效地组织和操作不同类型的数据。本文将深入探讨JAVA中各种集合的用法及实例,并介绍适用场景,以帮助更好地理解和应用集合。 --------…

TTX1994-可调谐激光器控制系统

花了两周时间,利用下班时间,设计了一个ITLA可调谐激光器控制系统,从硬件到软件。下面这个图片整套硬件系统,软件硬件都自己设计,可以定制,做到单片机问题也不大。相当于一套光源了 这是软件使用的界面&…