Tag: Rust
All the articles with the tag "Rust".
-
从零开始构建手写输入法:准备篇
Published date:介绍从零开始构建汉字手写输入法的准备工作,包括数据集选择和技术路线,使用PyTorch进行训练,Rust Candle进行推理,以及WASM进行部署。
-
“不安全”的 Rust: 一些常见的 Rust 陷阱
Published date:本文总结了 Rust 开发中常见的安全性陷阱,包括数值转换、整数溢出、数组边界访问、超大数组处理、滥用 `unsafe`、时间攻击(TOCTOU)、FFI 隐患及循环引用等问题。通过正确使用类型安全方法、限制资源大小、减少 `unsafe` 范围、合并原子操作及管理内存等方式,可有效避免这些问题。
-
heif/heic 格式到其他图片的转换
Published date:本文介绍了 HEIF/HEIC 格式图片的转换方法,因其基于 HEVC 技术存在专利问题,兼容性较差。在 Rust 中可通过 `libheif-rs` 解码 HEIF 图片并借助 `image` crate 转换为其他格式。前端则可使用 `heic-convert` 实现类似功能,重点在于构造符合要求的 buffer 数据进行格式转换。
-
Rust中那些“不常见但超有用”的语法,你知道几个?
Published date:本文介绍了 Rust 中一些不常见但实用的语法特性,包括联合体(`union`)、切片模式匹配、裸指针操作、内联汇编(`asm!`)、extern 块、loop 循环返回值、匹配模式中的 `@`、标签化循环控制、never 类型(`!`)、`#[repr]` 属性及宏的多样化调用方式。这些特性在特定场景下可显著提升开发效率和代码灵活性。
-
Rust 实现 RMBG 推理
Published date:本文介绍了如何使用 Rust 实现 RMBG(移除图片背景)推理。通过加载 ONNX 模型,对输入图片进行预处理(resize、归一化),完成模型推理后生成掩码图,并基于掩码实现背景去除或透明度混合处理。最后优化了掩码反归一化算法,提升背景纯净度,适用于海报、游戏等领域。
-
rust candle 的一些杂项
Published date:本文总结了 Rust Candle 框架中的一些杂项功能,包括自定义实现的 `masked_fill`、广播机制(`broadcast_add`)、矩阵乘法(`matmul` 与逐元素乘法的区别)以及模块容器 `ModuleList` 的替代实现。通过对比 PyTorch,分析了 Candle 在张量操作和模型加载上的差异及解决方案。
-
Rust 大文件处理对比:标准库、Tokio 与内存映射的性能分析
Published date:本文对比了 Rust 中处理大文件的三种方法:标准库、Tokio 和内存映射(mmap)的内存使用情况。标准库一次性加载文件占用内存最高,Tokio 通过分块优化显著降低内存使用,而 mmap 利用内存映射技术几乎不占用额外内存,表现最优。