机器学习 学习知识点
机器学习 学习知识点
- 什么是消融实验(Ablation experiment)?
- num_step与batch_size的区别
- python glob.glob()函数认识
- python的条件判断之is not、is not None、is None
- tqdm介绍及常用方法
- softmax 激活函数。
- type_as(tesnor)
- Python OpenCV cv2.imwrite()用法及代码示例
- 详解 torch.max 函数
什么是消融实验(Ablation experiment)?
消融实验类似于之前学习实验方法中的控制变量法
在一个实验中,涉及到a,b,c三个部分,不知道那个部分对实验起到效果,如果想知道a部分对整个实验的作用,去掉a部分,从而知道a在实验中起到的效果。
num_step与batch_size的区别
举个例子,我有1000个人,每个人有12条记录,分别代表一个人过去12个月每个月花的钱。我训练模型时,发现一次性选1000个人训练内存会溢出,所以我一次给内存里加载100个人,那么我训练一轮模型就要加载10次数据。那么100就是batch size,12就是num step,1000乘12就是你所有的样本。
举个栗子:在自然语言处理中,一句话是由很多个词(假设一句话已经分词)组成;1.然后在训练的时候,把所有的句子截取为相同的长度,如果某一个句子长度大于长度L,则截断;如果句子长度小于L,则填充0,补充长度至L。2.如果训练的时候,每次迭代的时候只有一句话,那么梯度下降的时候,可能较为随意;但是如果整个数据集一起训练,一是训练时间较长,二是自然语言处理的时候数据量很大,会导致内存溢出等,所以一般是sample batch_size的句子做一次迭代。3.回到第一点,则每次输入的数据大小应该是 [batchsize, sequence_length]的矩阵,这里的sequencelength就是上文中提到的num_step。
python glob.glob()函数认识
glob()函数就像Linux中的find -name *.type一样,可以将某目录下所有跟通配符模式相同的文件放到一个列表中,有了这个函数,我们再想生成所有文件的列表就不需要使用for循环遍历目录了,直接使用glob.glob(path+pattern)的方式获取,

这个例子中,我们的目的是生成daisy中的所有图片的列表,该列表中可能出现的图片格式如extensions中列出的那样,执行结果如下所示

可以看到glob.glob(file_glob)的结果就是符合相应模式的文件列表,需要注意的一点是,该函数对大小写不敏感,.jpg与.JPG是一样的,在extensions中即便是格式一样,包含大小写,在循环过程中,函数并不区分这种情况,所以在书写时一定要注意不要写错,否则列表的长度会让你莫名其妙。
python的条件判断之is not、is not None、is None
is:是不是某种对象
None:在Python中是一个单例对象,一个特殊的常量:没有值、空值、值不存在
对于在判断条件中的对象值的判断,除了False外,None、0、数据为空[]、“”、{}、()都是False,即bool(None)、bool(0)、bool([])、bool(“”)、bool({})、bool(())的值均为false
综上,最佳实践如下:
if val:print('if val')
if not val:print('if not val')
if val is not None:print('if val is not None')
if val is None:print('if val is None')
1、val为None时:
if not val
if val is None
2、val为False时:
if not val
if val is not None
3、val为0时:
if not val
if val is not None
4、val为1时:
if val
if val is not None
5、val为[]空列表时:
if not val
if val is not None
6、val为[1,2]非空列表时:
if val
if val is not None
7、val为某具体对象时:
if val
if val is not None
tqdm介绍及常用方法
tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
对可迭代对象用tqdm处理下,再去处理时,控制台就会显示进度条了。在我理解来就是tqdm就是一个装饰器,虽然网上查了没人这么说,但是应该就是一个装饰器的原理,这么理解是没问题的。
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
使用pip就可以安装。
tqdm(list)方法可以传入任意一种list,比如数组
from tqdm import tqdmfor i in tqdm(range(1000)): #do somethingpass
或者string的数组
for char in tqdm(["a", "b", "c", "d"]):#do somethingpass
效果:
image████████████████████████████████████████████████████████████████▍ | 930/992 [27:29<01:51, 1.79s/it]
softmax 激活函数。
在多分类任务中,最后通常使用 softmax 函数作为网络输出层的激活函数,softmax 函数可以对输出值作归一化,把所有的输出值转换为概率,所有的概率值加起来等于 1。在做分类的时候,概率值高的那个类别即为预测类别。
type_as(tesnor)
使用type_as(tesnor)将张量转换为给定类型的张量。
如果张量已经是正确的类型,则不会执行操作。具体操作方法如下:
self = torch.Tensor(3, 5)
tesnor = torch.IntTensor(2,3)
print self.type_as(tesnor)
Python OpenCV cv2.imwrite()用法及代码示例
OpenCV-Python是旨在解决计算机视觉问题的Python绑定库。cv2.imwrite()方法用于将图像保存到任何存储设备。这将根据指定的格式将图像保存在当前工作目录中。
-
用法: cv2.imwrite(filename, image)
-
参数:
filename:代表文件名的字符串。文件名必须包含图像格式,例如.jpg,.png等。
image:就是要保存的图像。 -
返回值:如果成功保存图像,则返回true。
-
示例:
# Python program to explain cv2.imwrite() method # importing cv2
import cv2 # importing os module
import os # Image path
image_path = r'C:\Users\Rajnish\Desktop\GeeksforGeeks\geeks.png'# Image directory
directory = r'C:\Users\Rajnish\Desktop\GeeksforGeeks'# Using cv2.imread() method
# to read the image
img = cv2.imread(image_path) # Change the current directory
# to specified directory
os.chdir(directory) # List files and directories
# in 'C:/Users/Rajnish/Desktop/GeeksforGeeks'
print("Before saving image:")
print(os.listdir(directory)) # Filename
filename = 'savedImage.jpg'# Using cv2.imwrite() method
# Saving the image
cv2.imwrite(filename, img) # List files and directories
# in 'C:/Users / Rajnish / Desktop / GeeksforGeeks'
print("After saving image:")
print(os.listdir(directory)) print('Successfully saved')
- 输出:
Before saving image:
['geeks.png']
After saving image:
['geeks.png', 'savedImage.jpg']
Successfully saved
详解 torch.max 函数
torch.max()
返回输入张量所有元素的最大值。
- 参数: input (Tensor) – 输入张量
例子:
>>> a = torch.randn(1, 3)
>>> a0.4729 -0.2266 -0.2085
[torch.FloatTensor of size 1x3]>>> torch.max(a)
0.4729
torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor)
返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。
输出形状中,将dim维设定为1,其它与输入形状保持一致。
- 参数:
input (Tensor) – 输入张量
dim (int) – 指定的维度
max (Tensor, optional) – 结果张量,包含给定维度上的最大值
max_indices (LongTensor, optional) – 结果张量,包含给定维度上每个最大值的位置索引
例子:
>> a = torch.randn(4, 4)
>> a0.0692 0.3142 1.2513 -0.5428
0.9288 0.8552 -0.2073 0.6409
1.0695 -0.0101 -2.4507 -1.2230
0.7426 -0.7666 0.4862 -0.6628
torch.FloatTensor of size 4x4]>>> torch.max(a, 1)
(1.25130.92881.06950.7426
[torch.FloatTensor of size 4x1]
,2000
[torch.LongTensor of size 4x1]
)
torch.max(input, other, out=None) → Tensor
返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。
即,( out_i=max(input_i,other_i) \)
输出形状中,将dim维设定为1,其它与输入形状保持一致。
- 参数:
input (Tensor) – 输入张量
other (Tensor) – 输出张量
out (Tensor, optional) – 结果张量
例子:
>>> a = torch.randn(4)
>>> a1.38690.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4]>>> b = torch.randn(4)
>>> b1.0067
-0.80100.62580.3627
[torch.FloatTensor of size 4]>>> torch.max(a, b)1.38690.39120.62580.3627
[torch.FloatTensor of size 4]
相关文章:
机器学习 学习知识点
机器学习 学习知识点 什么是消融实验(Ablation experiment)?num_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.…...
GESP真题 | 2024年12月1级-编程题4《美丽数字》及答案(C++版)
描述 小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。 小杨想请你编写一个程序计算个正整数中美丽数字的数量。 输入描述 第一行包含一个正整数 n,代表正整数个数 。 第二行包含 n 个正整数 a1, a2, a3…...
java并发之AQS
一、简介 AQS,全称:AbstractQueuedSynchronizer,是一个JDK提供的用于构建锁、同步器等线程协作工具类的框架,内部维护FIFO双向队列(双向链表实现)。 AQS重要属性: // 表示同步状态。它既可以表…...
4 种修复 IPhone 备份输入密码解锁的方法
您是否在 iTunes 中遇到过这样的消息:“输入密码以解锁您的 iPhone 备份”?出现这种情况是因为备份具有加密备份。当您通过 iTunes 为 iPhone 创建此备份时,您需要生成 iTunes 备份密码来保护和加密您的 iPhone 备份。当您想要更改 iPhone 备…...
选课(贪心)
小明是个好学的程序猿,他想在一天内尽可能多的选择课程进行学习。在下列课程中,他能选择的最多课程是几门? 输入格式: 第一行为一个整数n,表示课程总数。接下来每行为x,y,z表示课程名,开始时间…...
【深度学习】Java DL4J基于 LSTM 构建新能源预测模型
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…...
【linux基础I/O(1)】文件描述符的本质重定向的本质
目录 前言1. 理解C语言的文件接口2. 操作文件的系统调用接口2.1 open函数详解2.2 close函数详解2.3 write函数详解2.4 read函数详解 3. 文件描述符fd详解4. 文件描述符的内核本质5. 怎样理解Linux下一切皆文件?6. 理解输出输入重定向7. 重定向的系统调用8. 总结 前言 “在Lin…...
微服务架构下的慢请求排查与优化策略
目录 一、分析请求路径 二、检查日志 三、进行时序分析 四、检查资源消耗 五、检查并发处理能力 六、检查网络连接 七、从根本上使用服务治理的方式解决问题 八、结语 在当今的数字化时代,企业为了应对快速变化的市场需求和日益增长的用户基数,纷…...
C++ 中 Unicode 字符串的宽度
首先,什么是 Unicode? Unicode 实际上是一个统一的文字编码标准,它出现目的是为了解决不同计算机之间字符编码不同而导致的灾难性不兼容问题。 Unicode 字符集与 Unicode 编码是两种不同的概念。Unicode 字符集实际是对进入标准的所有文字用…...
人工智能在SEO中的应用与关键词优化策略
内容概要 随着科技的迅猛发展,人工智能在搜索引擎优化(SEO)中的应用逐渐成为业界关注的热点。AI技术不仅可以有效提高关键词的优化策略,还能在提升内容效率、增强用户体验方面发挥重要作用。通过对相关技术的深入探讨,…...
spring mvc源码学习笔记之四
pom.xml 内容如下 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…...
ruckus R510升级到Unleashe后不能访问
ruckus R510 是IPQ4019,升级到Unleashe,它弹窗提示 但是这个IP没办法用,访问不了AP。 必应了一下,官方提示用advance ip scanner扫描。 扫描持续好久,发现IP竟然是从主路由获得。 9090的端口不用填,甚至不…...
【游戏设计原理】47 - 超游戏思维
对于这条原理,我首先想到的是开放世界,或者探索性游戏,这是最能包容各类玩家的游戏类型。这类游戏定义了基本规则,玩家的可操作性很强。就像上图里的沙池一样,里面有滑梯,是规则性比较明确的,而…...
FastAPI vs Flask 专业对比与选择
FastAPI与Flask是两个流行的Python Web框架,它们在构建Web应用程序和API方面各有特点。以下是对这两个框架的详细比较: 一、设计理念与用途 Flask: 是一个轻量级的Python Web框架,基于Werkzeug WSGI工具箱和Jinja2模板引擎。设计…...
【信息系统项目管理师】【综合知识】【备考知识点】【思维导图】第十一章 项目成本管理
word版☞【信息系统项目管理师】【综合知识】【备考知识点】第十一章 项目成本管理 移动端【思维导图】☞【信息系统项目管理师】【思维导图】第十一章 项目成本管理...
xdoj-字符串-556,为什么字符不能被正常读入
目录 题目 代码 测试用例 the input the correct output 问题发现过程阐述 如果把line16中的数组大小11换成line17中的10 case 1 case 2 case 3 如果数组开成11 case4 代码分析 问题描述 Question1 Question2 题目 题目:连续数字字符串提取 问题描述…...
计算机网络——期末复习(5)期末考试样例1(含答案)
考试题型; 概念辨析5个、计算与分析3个、综合题3-4个 必考知识点: 概述:协议 体系结构 物理层;本次考核较少 链路层:CSMA/CD 退避二进制算法 ࿰…...
Docker安装oracle数据库【最新版】
文章目录 1. 安装 Docker 环境2. 拉取 Oracle 镜像3. 查看镜像4. 创建容器5. 进入容器进行配置6. 进行软连接7. 配置 Oracle 环境变量8. 创建软连接9. 切换到 Oracle 用户10. 登录 SQL*Plus 并修改 sys、system 用户密码11. 重新启动数据库12. 解决 "Database Not Open&qu…...
基于STM32的智能门锁系统设计
目录 引言系统设计 硬件设计软件设计系统功能模块 用户身份验证模块开锁控制模块状态监控与报警模块数据存储与管理模块控制算法 用户身份验证算法开锁控制算法状态监控与报警算法代码实现 用户身份验证模块实现开锁控制模块实现状态监控模块实现系统调试与优化结论与展望 1. …...
【踩坑指南:2025年最新】如何在Linux(Ubuntu)启动第一个Scala Hello World程序(Scala3)
如何正确地写出Scala的第一个程序,并且利用Scala3的简洁特性? 在解释器中直接输出Hello world非常简单,只需要直接执行即可: scala> println("Hello World") Hello World 但如果我们希望编写一个脚本文件…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
