技术分享
未读
一种较为普适的图片 / 视频调色方案
文章的案例基于16位浮点 EXR 帧序列,如果你的素材是普通图片 / 视频,那么效果可能没有那么好。 如果是渲染时的色彩调整,注意处理色彩的中间格式,不要丢失过多信息。 虽然文章提供的调色流程是基于 DaVinci 的,但也会指出每一步的具体作用,以便于用不同的工具实现相似的效果。 效果展示 原图
技术分享
未读
我做了一个 KMP 的 FFmpeg 库
主要分享制作流程。 目前支持: Android X64 Arm32 Arm64 Windows X64 Linux X64 MacOS Arm64 开源地址 https://github.com/SOR2171/FFmpeg-Kit_KMP 经过 具体的流程还是很顺畅的,就是 Gralde 的设置卡
技术分享
未读
一种夜景 MMD 的灯光设计方案
注意,文章内的成品示例图片都经过 DaVinci 调色,Blender EEVEE/Cycles 实际效果可能出现多种色彩瑕疵。 Blender 内截图使用 EEVEE 8采样,详细渲染设置在文章中有提及。 文章中含有大量主观的,情绪化的描述,请以图片为准。 成品效果
技术分享
未读
OpenCode 避雷指南与正确打开方式
本文含 AI 量为 0(如果不算上讲的内容涉及 AI 的话),请放心食用! 前言 在 CodeX 不知道多少次把代码写得稀烂之后,忍无可忍的我最终决定寻找一个新的平替。 技术选型 我先是调研了众多 AI 编程工具,包括 Claude Code、Aider、Deepseek-tui 等,发现它们有着各
技术分享
未读
深入浅出 llama.cpp(七):突破上下文壁垒 —— KV Cache 的滚动与平移策略
零、前言 在之前的章节中,我们已经实现了多轮对话,甚至掌握了并行处理多个序列。但有一个现实的“物理极限”我们始终没有正面回应:n_ctx(上下文窗口大小)。 如果你的模型设置 n_ctx = 2048,当对话进行到第 2049 个 Token 时,程序会因为空间不足而报错或崩溃。为了让 AI 能进行
技术分享
未读
深入浅出 llama.cpp(六):并行推理的艺术 —— 多序列管理与批量解码优化
零、前言 在上一章中,我们通过集成 common 库极大简化了代码逻辑,实现了一个可以连续对话的 REPL。但那个实现存在两个致命的性能缺陷: 逐字解码 (Serial Prefill):即使是输入的 Prompt,我们也是一个 Token 一个 Token 喂给模型的。这完全浪费了现代 CPU/G
技术分享
未读
深入浅出 llama.cpp(五):拥抱 C++ 环境 —— 集成官方 common 工具库
零、前言 在之前的开发中,我们一直试图保持“纯净”,只调用 llama.h 提供的 C 接口。但在处理“批量填充 Batch”或“复杂的采样策略”时,代码开始变得臃肿且难以维护。 llama.cpp 官方其实为我们准备了一套非常强大的 C++ 工具库,就在源码的 common/ 文件夹里。虽然它不是
技术分享
未读
深入浅出 llama.cpp(四):手动操纵 KV Cache 实现增量对话
零、前言 在上一篇文章中,我们跑通了 simple.cpp。但细心的读者会发现,那个例子每轮都会重置。 如果要实现像 ChatGPT 那样“有记忆”的连续对话,核心就在于对 KV Cache 的管理。 为了深入理解,不如脱离高层封装,直接通过手动操作 llama_batch 结构体,来看看 llam
技术分享
未读
深入浅出 llama.cpp(三):拆解 simple.cpp —— 掌握推理的核心逻辑
零、前言 在上一篇文章中,成功搭建了开发环境并编译了第一个程序。今天,我将深入 llama.cpp 官方提供的最简示例—— simple.cpp。 虽然它只有 200 多行代码,但它完整地展示了一个大语言模型从加载到生成文字的“生命周期”。理解了这个文件,就掌握了 llama.cpp 的核心 API