- 博客(329)
- 收藏
- 关注
原创 海洋遥感论文中常说的:in-situ数据和proxy
proxy 的意思是:代理、替代指标也就是说,真实想研究的量不好直接测,就先用另一个和它相关的量来“替代表示”。举例例1:Chl-a 作为 HAB 的 proxy很多论文不能直接在大范围上获取:有害藻种浓度 赤潮毒性所以就用:Chl-a来近似表示藻华强度。这时:Chl-a 就是 HAB 的 proxy例2:POC 作为营养/有机物条件的 proxy如果作者没有直接营养盐数据,就可能用:POC来间接反映某些有机颗粒物和营养环境状态这时:POC 就是某类生态过程的 proxy。
2026-04-13 20:36:24
89
原创 Benchmark model和baseline model
作用:先跑一个简单、经典、容易复现的模型,拿到一个基础分数,作为后续改进的参照。你后面做的所有新方法,都要比 Baseline 好才有意义。特点:通常不复杂,可能是传统方法、简单神经网络、公开的轻量模型。中文常译:基线模型、基准线模型。
2026-04-13 11:09:36
611
原创 Mamba学习笔记1:Transformer和Mamba比较(易理解版)
现在很多大模型用的是 Transformer。的是:它读到一个词时,可以“回头看全文”,所以很会抓上下文关系。Mamba 就是在试图解决这个问题:能不能别每次都回头翻全文,而是边读边把最重要的信息浓缩记住?
2026-04-03 10:25:20
133
原创 3D卷积和2D卷积区分-高光谱图像为例
每个像素都有 30 个光谱值 → 可以理解成 像素的“光谱指纹”所以高光谱图像就是 一个 3D 堆叠:空间 × 空间 × 光谱。
2026-04-02 11:13:25
419
原创 自注意力(Self-Attention)、单头注意力(Single-Head Attention) 和 多头注意力(Multi-Head Attention)
它内部有三个线性层(Q、K、V),将 d_model 映射到 head_size,然后计算注意力。多头注意力 将多个单头注意力并行执行,每个头使用不同的线性投影(即不同的 Q、K、V 权重),从而让模型从不同的子空间(head_size 维)学习不同的特征交互模式。单头注意力 就是只使用一个注意力头的自注意力。也就是说,Q、K、V 的线性投影将输入映射到 head_size = d_model 的维度(因为只有一头,所以 head_size = d_model),然后直接做一次缩放点积注意力。
2026-04-02 09:48:01
499
原创 transformer学习笔记3
完全不能读第 3 到第 6 个 token,因为它们属于未来位置。从第 1 个 token 读取约 42.3% 的信息。这个矩阵就是真正的“读信息比例”。然后对每一行做 softmax,得到注意力权重。实际使用中并非如此,这里为计算简单。加因果掩码,因为语言模型中看不到未来。从自己读取约 57.7% 的信息。序列长度T=6,输入维度d=3。得到scores(6×6矩阵)最后,对 Value 加权求和。然后算分数矩阵score。投影矩阵假设就是1矩阵。
2026-04-01 13:49:10
229
原创 transformer学习笔记1
如果用最简单的话定义 Transformer:Transformer 是一种基于注意力机制的网络,它通过让每个 token 和其他 token 动态建立关系,来学习全局上下文信息。token:输入被拆成的小单位embedding:token 变成机器能处理的向量position:告诉模型顺序或位置self-attention:每个 token 去看和自己最相关的其他 tokenmulti-head:从多个角度同时看关系。
2026-03-31 15:19:52
358
原创 class_weight=‘balanced‘缓解类别不平衡问题
当 class_weight=‘balanced’ 时,每个类别 i 的权重 w_i 计算如下:nsamples :训练集总样本数nclasses :类别总数(不包含背景,如果有)ni :类别 i 的样本数例类别 C(样本最少)获得最大权重,类别 A(样本最多)权重最小。
2026-03-23 15:54:57
195
原创 上位机、下位机、FPGA、算法放在哪层合适?
在工业自动化、嵌入式系统和机器人领域,工程师们面临着一个关键决策:我们的算法到底应该在哪里运行? 是放在功能强大的上位机,还是嵌入资源有限的下位机,抑或是烧录进并行处理的 FPGA?这个选择如同为军队选择战场,直接影响着整个系统的成败。
2026-02-10 08:49:39
441
原创 C++工程实战入门笔记19-function、bind、lambda的使用
本文介绍了C++中三种函数式编程工具的使用方法:std::function:用于包装各类可调用对象,包括普通函数、成员函数等。bind:用于参数绑定和重排序,支持占位符(_1,_2等)实现参数位置调整,也可绑定成员函数与对象实例。 lambda表达式:支持匿名函数定义,包含参数传递、返回值、auto类型推导等功能,提供值捕获[=]和引用捕获[&]两种变量捕获方式,还能访问类成员函数。
2025-09-18 17:00:10
413
原创 C++工程实战入门笔记16-智能指针
本文介绍了C++智能指针的使用方法,主要包括:1.创建智能指针的传统方式和推荐的make_unique方式;2.访问对象成员的两种方法;3.获取原始指针的get()方法;4.重置智能指针的reset()方法;5.释放所有权的release()方法;6.使用移动语义转移所有权。重点说明了make_unique的优势,包括更高效的代码、避免类型重复和内存安全保证。通过示例代码演示了unique_ptr的各项操作,展示了智能指针的生命周期管理机制。
2025-09-16 15:59:04
329
原创 C++工程实战入门笔记15-移动语义
本文通过5段C++代码演示了vector的构造、拷贝和移动语义。初始代码展示了vector的3次构造和析构;加入值传递函数调用后,触发3次拷贝构造;定义拷贝构造函数后,明确显示拷贝过程;使用move语义后,避免了拷贝操作;最后验证了移动后原vector变为空。这些实验清晰展示了vector对象在拷贝和移动时的行为差异,特别是move操作如何高效转移资源所有权。
2025-09-09 16:54:34
244
原创 C++工程实战入门笔记14-拷贝构造函数
本文介绍了C++拷贝构造函数的概念及使用场景。拷贝构造函数以ClassName(const ClassName&)形式定义,用于用一个已存在对象初始化新对象。主要调用场景包括:对象初始化、按值传参和函数返回对象(无优化时)。文章通过自定义String类示例,展示了拷贝构造的实现方式,并对比了值传递(触发拷贝)和引用传递(不拷贝)的区别。最后通过测试代码演示了不同情况下拷贝构造函数的调用时机及对象生命周期。
2025-09-09 16:35:35
340
原创 C++工程实战入门笔记13-多态
本文演示了C++中多态性的实现过程。首先通过Widget基类和Rect、Circle派生类展示成员函数重写,但发现非多态调用问题。然后通过添加virtual关键字和override修饰符实现真正多态。最后通过Scene类展示多态在实际工程中的应用,实现了统一管理多种图形对象、统一接口调用和易于扩展的代码结构。这种设计体现了面向对象的核心原则,是构建大型可维护C++应用的基础。
2025-09-08 16:35:08
406
原创 C++工程实战入门笔记12-继承、派生、保护、公开、私有
这段C++代码展示了继承的基本概念和实现方式。重点内容包括: 继承关系:通过public、protected和private三种继承方式实现类之间的派生关系 访问控制:演示了public、protected和private成员在不同继承方式下的访问权限变化 构造/析构顺序:基类构造先于派生类,析构顺序相反 内存模型:派生类包含基类子对象和自身成员 名称遮蔽:派生类中同名成员会隐藏基类成员 构造函数调用:派生类可以指定调用基类的特定构造函数。
2025-09-08 14:07:05
681
原创 C++工程实战入门笔记11-三种初始化成员变量的方式
本文介绍了C++中三种类成员初始化方式:默认成员初始化器(C++11)、构造函数初始化列表和构造函数内赋值。默认初始化器在类声明中直接赋初值;初始化列表效率更高,适合const成员和引用;构造函数内赋值会导致额外构造开销。示例展示了如何结合使用这些方法,特别说明了const成员必须用初始化列表,而默认值可简化构造过程。最佳实践是优先使用初始化列表和默认初始化器,避免低效的构造函数内赋值。
2025-09-04 15:45:12
450
原创 C++工程实战入门笔记10-面向对象之静态成员变量和成员函数、构造函数和析构函数
这篇文章摘要了C++中静态成员变量、静态成员函数、构造函数/析构函数以及空指针使用的关键概念。主要内容包括:静态成员变量在类中声明而在类外定义初始化,被所有对象共享;静态成员函数不能访问非静态成员,只能访问静态成员;构造函数在对象创建时自动调用,析构函数在对象销毁时自动调用;建议使用nullptr表示空指针,释放内存后应及时置空。文章通过代码示例展示了全局对象、静态局部对象和普通局部对象的构造/析构时机差异,以及静态成员函数在单例模式中的应用。
2025-09-04 15:40:05
318
原创 C++工程实战入门笔记9-面向对象之成员变量和成员函数
本文介绍了C++面向对象编程的基础概念,包括类与对象、成员变量和成员函数的使用。通过代码示例展示了类的定义、成员变量初始化、成员函数(内联与非内联)的实现方式,以及this指针的用法。重点讲解了类内/外定义函数的区别、内联函数优化建议,并通过实际案例演示了对象创建、成员访问和函数调用的基本操作。文中还包含内存地址打印等调试技巧,帮助读者理解对象在内存中的表示和this指针的实质。
2025-08-28 16:44:30
293
原创 C++工程实战入门笔记8-日志系统实现分析与优化
本文介绍了三种C++日志系统的实现方法。首先展示了一个简单的调试日志宏LOGDEBUG,可将信息输出到控制台。随后优化为一个更完善的日志系统,包含时间戳、日志级别、文件名和行号等信息。最后实现了可配置的日志输出方式,支持将日志输出到控制台、字符串流或文件。通过streambuf的重定向,可以灵活切换日志输出目标。文中提供了完整的代码示例和输出效果截图,展示了日志系统从简单到完善的演进过程。
2025-08-28 13:29:06
318
原创 C++工程实战入门笔记7-输入输出(一)
C++标准库中的I/O流组件提供了强大的输入输出功能。iostream库处理标准输入输出,包含cin、cout等流对象和格式化操作符;sstream库实现字符串与数据类型的相互转换,支持流式操作;fstream库则提供文件读写功能,支持文本和二进制模式。这些库通过流操作符(<<, >>)和成员函数(get, getline等)实现数据的高效处理,并包含错误检测机制(cin.fail())。典型应用包括控制台交互、字符串格式化和文件操作,是C++程序基础I/O操作的核心组件。
2025-08-28 13:05:41
258
原创 C++工程实战入门笔记6-函数(三)关于base16编码的原理和函数模块化实战
本文介绍了计算机编码的基础知识,重点讲解了ASCII码和Base16编码的原理与实现。ASCII码用二进制表示字符,遵循特定大小规则(数字<大写字母<小写字母)。Base16将每个字节转换为两个十六进制字符,适用于Unicode码点表示。文章详细说明了不同码点值对应的字节数规则(1-4字节),并以"你好"为例演示了Base16编码过程(E4BDA0E5A5BD)。最后提供了C++实现Base16编解码的代码示例,包括直接实现和模块化函数两种方式。
2025-08-27 14:03:24
665
原创 C++中base16编码结果与预期不符问题:“你好”的代码结果:C4E3BAC3,但实际预期是E4BDA0E5A5BD
在C++代码中,对字符串"你好"进行Base16编码,预期得到的是UTF-8编码的十六进制形式"E4BDA0E5A5BD",但实际得到的是GBK编码的十六进制形式"C4E3BAC3"。
2025-08-27 10:56:21
204
原创 C++工程实战入门笔记5-函数(二)
C++函数特性与数组/字符串处理总结 本文介绍了C++中的函数默认参数、重载机制以及数组/字符串处理要点。默认参数适用于函数行为相同但某些参数有默认值的情况,而重载适用于不同参数类型/数量的完全不同实现。数组作为函数参数会退化为指针,使用vector和string可以更安全地处理数据,通过引用传递可避免不必要的复制。文章通过多个示例展示了这些特性的具体应用场景和注意事项。
2025-08-26 16:36:43
493
原创 C++工程实战入门笔记4-函数(一)
本文介绍了C++中函数参数传递、变量作用域、指针和引用的核心概念。主要内容包括:1) 实参、形参、函数调用和返回值的区别与使用;2) 全局变量、静态全局变量、局部变量和静态局部变量的生命周期和作用域对比;3) 指针的本质是内存地址,指针变量用于存储指针;4) 引用作为变量的别名,效率更高且必须初始化;5) 通过指针和引用传递参数可减少复制开销。文章通过代码示例展示了各种变量的内存地址变化和实际应用场景,为理解C++内存管理和参数传递机制提供了清晰指导。
2025-08-26 13:14:55
353
原创 C++工程实战入门笔记2
这篇文章主要介绍了C++中的几个实用编程技巧: system函数应用, 命令行参数处理 - 展示了如何通过argc和argv[]获取程序执行参数。 枚举类型, 位运算操作 - 使用bitset库演示了与、或、非等位运算操作。 字符串处理 - 介绍了string类的多种操作。
2025-08-25 10:30:36
270
原创 C++工程实战入门笔记1
本文介绍了C++程序从代码到运行的过程,重点讲解了变量作用域和数据类型。项目命名建议全小写以避免Linux/Windows系统差异。示例代码展示了基本数据类型(int、float等)的使用、变量作用域规则(全局/局部变量)、常量定义(const/constexpr)以及auto类型推导。通过打印变量值和内存地址,演示了数据类型的内存占用情况。文章还强调了作用域对变量访问的影响,以及不同常量类型的初始化要求。
2025-08-25 09:19:50
218
原创 C++中栈stack的基本使用(入门)
栈(Stack)是一种后进先出的数据结构,类似于现实生活中的一叠盘子,最后放上去的盘子总是最先被取走。C++ 中,std::stack是一个容器适配器,提供了简洁的栈操作接口。使用时需要。
2025-06-23 16:11:24
358
苹果手机和windows电脑隔空传输文件
2025-01-09
瓜果识别数据集,17种瓜果的图片,jpg格式
2022-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1