当前位置: 首页 > news >正文

机器学习 学习知识点

机器学习 学习知识点

  • 什么是消融实验(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]

相关文章:

机器学习 学习知识点

机器学习 学习知识点 什么是消融实验&#xff08;Ablation experiment&#xff09;&#xff1f;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 个正整数&#xff0c;他认为一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。 小杨想请你编写一个程序计算个正整数中美丽数字的数量。 输入描述 第一行包含一个正整数 n&#xff0c;代表正整数个数 。 第二行包含 n 个正整数 a1, a2, a3…...

java并发之AQS

一、简介 AQS&#xff0c;全称&#xff1a;AbstractQueuedSynchronizer&#xff0c;是一个JDK提供的用于构建锁、同步器等线程协作工具类的框架&#xff0c;内部维护FIFO双向队列&#xff08;双向链表实现&#xff09;。 AQS重要属性&#xff1a; // 表示同步状态。它既可以表…...

4 种修复 IPhone 备份输入密码解锁的方法

您是否在 iTunes 中遇到过这样的消息&#xff1a;“输入密码以解锁您的 iPhone 备份”&#xff1f;出现这种情况是因为备份具有加密备份。当您通过 iTunes 为 iPhone 创建此备份时&#xff0c;您需要生成 iTunes 备份密码来保护和加密您的 iPhone 备份。当您想要更改 iPhone 备…...

选课(贪心)

小明是个好学的程序猿&#xff0c;他想在一天内尽可能多的选择课程进行学习。在下列课程中&#xff0c;他能选择的最多课程是几门&#xff1f; 输入格式: 第一行为一个整数n&#xff0c;表示课程总数。接下来每行为x&#xff0c;y&#xff0c;z表示课程名&#xff0c;开始时间…...

【深度学习】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…...

微服务架构下的慢请求排查与优化策略

目录 一、分析请求路径 二、检查日志 三、进行时序分析 四、检查资源消耗 五、检查并发处理能力 六、检查网络连接 七、从根本上使用服务治理的方式解决问题 八、结语 在当今的数字化时代&#xff0c;企业为了应对快速变化的市场需求和日益增长的用户基数&#xff0c;纷…...

C++ 中 Unicode 字符串的宽度

首先&#xff0c;什么是 Unicode&#xff1f; Unicode 实际上是一个统一的文字编码标准&#xff0c;它出现目的是为了解决不同计算机之间字符编码不同而导致的灾难性不兼容问题。 Unicode 字符集与 Unicode 编码是两种不同的概念。Unicode 字符集实际是对进入标准的所有文字用…...

人工智能在SEO中的应用与关键词优化策略

内容概要 随着科技的迅猛发展&#xff0c;人工智能在搜索引擎优化&#xff08;SEO&#xff09;中的应用逐渐成为业界关注的热点。AI技术不仅可以有效提高关键词的优化策略&#xff0c;还能在提升内容效率、增强用户体验方面发挥重要作用。通过对相关技术的深入探讨&#xff0c…...

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&#xff0c;升级到Unleashe&#xff0c;它弹窗提示 但是这个IP没办法用&#xff0c;访问不了AP。 必应了一下&#xff0c;官方提示用advance ip scanner扫描。 扫描持续好久&#xff0c;发现IP竟然是从主路由获得。 9090的端口不用填&#xff0c;甚至不…...

【游戏设计原理】47 - 超游戏思维

对于这条原理&#xff0c;我首先想到的是开放世界&#xff0c;或者探索性游戏&#xff0c;这是最能包容各类玩家的游戏类型。这类游戏定义了基本规则&#xff0c;玩家的可操作性很强。就像上图里的沙池一样&#xff0c;里面有滑梯&#xff0c;是规则性比较明确的&#xff0c;而…...

FastAPI vs Flask 专业对比与选择

FastAPI与Flask是两个流行的Python Web框架&#xff0c;它们在构建Web应用程序和API方面各有特点。以下是对这两个框架的详细比较&#xff1a; 一、设计理念与用途 Flask&#xff1a; 是一个轻量级的Python Web框架&#xff0c;基于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 题目 题目&#xff1a;连续数字字符串提取 问题描述…...

计算机网络——期末复习(5)期末考试样例1(含答案)

考试题型&#xff1b; 概念辨析&#xff15;个、计算与分析&#xff13;个、综合题&#xff13;&#xff0d;&#xff14;个 必考知识点&#xff1a; 概述&#xff1a;协议 体系结构 物理层&#xff1b;本次考核较少 链路层&#xff1a;CSMA/CD 退避二进制算法 &#xff0…...

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的第一个程序&#xff0c;并且利用Scala3的简洁特性&#xff1f; 在解释器中直接输出Hello world非常简单&#xff0c;只需要直接执行即可&#xff1a; scala> println("Hello World") Hello World 但如果我们希望编写一个脚本文件&#xf…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...