【人工智能】训练模型 【人工智能】训练模型 训练模型关键是两点: 找出模型的成本函数 找到使成本最小的模型参数 损失函数 损失函数用于描述模型在单个样本上的误差值,本质就是成本函数中求和时的单位元素。由于成本函数中累加和平均的过程是线性变化,因此决定成本函数形状的主要是损失函数。损失函数的选择,将决定成本函数的效果。 L(f(x(i)),y(i))L(f(x^{(i)}),y^{(i)}) L(f(x(i)),y( 2025-12-23 书本知识 > 人工智能
【技术美术】不同物体的渲染处理 【技术美术】不同物体的渲染处理 渲染顺序 不透明物体(从近到远)-> 天空盒 -> 透明物体(从远到近) 1 和 2 的顺序原因是为了减少 Overdraw,尽可能利用 early-z 减少需要渲染的像素。 3 的顺序原因是为了确保混合正确,因为透明物体依赖后面物体的颜色。 透明物体渲染 透明物体有两种渲染方式: 关闭深度写入(始终渲染后面) 透明物体必须按顺序渲染,但排序又是 2024-11-19 技术堆栈 > 技术美术
【技术美术】视差贴图 【技术美术】视差贴图 基础概念 视差贴图又称高度贴图,类似法线贴图,同样是通过伪造表面信息来增加表面凹凸真实感的一种方法。 法线贴图利用光照明暗来体现凹凸,但从掠角观察时依旧不够真实,因为现实中的粗糙表面除了光照明暗的区别外,还存在高度遮挡的关系,而视差贴图就是从这方面增强凹凸真实感。 基本原理 考虑现实中的遮挡效果,本质就是原目标不可见,取而代之的是显示其前面的物体,反映在图形着色上,就是 u 2025-12-23 技术堆栈 > 技术美术
【软件开发】C++使用笔记 【软件开发】C++使用笔记 数据类型 值类型 存放在栈空间中的一段内存。 T:左值,最普通的变量,是具有变量名且可取地址的值。 ~ :右值,常量或不具备名称的值,无变量名不可取地址。通常都是一些生命周期极短的临时值,例如未接收的函数返回值。 备注: 右值及其相关的一系列操作都是 C++11 才新增的功能。 指针类型 一种用于保存内存地址的值类型,可以利用特定的访问运算符访问其指向的内存。 2024-06-11 技术堆栈 > 软件开发
【软件开发】C++性能测试 【软件开发】C++性能测试 传递函数 通过变量传递函数并执行 速度 方式 备注 100% 利用模板传递 lambda 表达式。 且支持捕获少量变量(这些变量会被优化到栈空间) 100% 利用函数指针传递已定义函数。 100% 利用函数指针传递 lambda 表达式。 50% 利用已创建的std::function(缓存对象)通过引用传递函数。 20% 利用 la 2024-06-11 技术堆栈 > 软件开发
【软件开发】Doxygen 使用笔记 【软件开发】Doxygen 使用笔记 Doxygen 是通过代码注释生成文档的事实标准,借用该工具可以将文档内容与代码写在一起方便维护。 https://github.com/doxygen/doxygen 注释语法 采用特殊的注释形式,以便 Doxygen 识别为文档内容。 文档内容支持使用一些基本 Markdown 语法编写。 多行注释(放在注释目标的上面) 123/*!注释内容*/ 2024-06-11 技术堆栈 > 软件开发
【软件开发】Git 概念与常用命令 【软件开发】Git 概念与常用命令 Git 概念 存储方式 Git 是分布式存储,每一个 clone 下来的仓库都可以看成独立的个体,只是 Git 有提供同步功能,因此 Git 支持离线使用,因为本质上本地和云端是两个仓库。 仓库构成 提交(commit) 提交是存储文件的最基本元素,记录了每次对文件的修改信息,同时也是仓库文件状态判断的基点。多个提交对文件的修改可能是顺序进行也可能是同步进行,同 2024-01-14 技术堆栈 > 软件开发
【软件开发】Glob 通配符 【软件开发】Glob 通配符 *:匹配除"/"以外的字符。 **:匹配所有字符。 ?:匹配一个字符。 [...]:匹配指定字符,如[ABC]就匹配 ABC 三个字母,添加!还可以反向剔除,如[!ABC] 2024-06-11 技术堆栈 > 软件开发
【软件开发】Windows开发笔记 【软件开发】Windows开发笔记 关于文件大小写 Windows 平台是不区分大小写的,所以使用仅大小写不同的同名文件时会冲突,例如始终无法访问其中一个头文件。因此建议文件命名全部小写,这也符合行业习惯,或者应意识到不能用大小写区分文件。 关于 Windows SDK 命名特征 特殊前缀 Windows SDK 中的变量命名采用匈牙利表示法(使用多个功能性前缀表示变量属性,后面再正常写名称) 这 2024-06-11 技术堆栈 > 软件开发
【软件开发】如何做出好的项目 【软件开发】如何做出好的项目 开发过程的规范 事物的名称规范 事物的位置规范 事物的作用域规范 如何确认程序需要优化 当你经常使用机械性动作来维护代时(如复制粘贴,查找替换等…)。 当你的代码太长经常修改的时候(如条件语句数量不能确定)。 当两个逻辑上独立的模块相互依赖的时候(如去掉 A,B 报错;但去掉 B,A 也报错)。 项目结构的要求 将项目个功能不断细分,相互独立,制成各种小型模 2025-12-23 技术堆栈 > 软件开发