- 博客(21)
- 收藏
- 关注
原创 React Native for OpenHarmony 实战:三方库 react-native-button 的鸿蒙化适配指南
本文实测将极简 React Native 按钮库 react-native-button 适配 HarmonyOS 的全过程。该库仅2个JS文件,无原生代码,鸿蒙上走 TouchableNativeFeedback 分支。通过布局dump核对点击坐标、建立对照组(TouchableOpacity/TouchableNativeFeedback/Pressable),验证按钮在鸿蒙上可正常点击,onPress 及 disabled 逻辑均生效。关键发现:...TouchableOpacity.propType
2026-10-18 00:04:50
1181
原创 React Native for OpenHarmony 实战:三方库 react-native-progress-wheel 的鸿蒙化适配指南
本文记录将 react-native-progress-wheel 适配 HarmonyOS 的全过程。该库为纯 JS、零依赖、无 SVG/Canvas,仅用 View + border + rotate 实现环形进度,兼容性极佳。实测显示:标签值恒等于 progress,弧长比例精确匹配进度值,原生动画与 JS 监听协同正常,16 项设备断言全通过。无需修改代码,直接安装即可使用,是罕见的“开箱即用”组件。
2026-10-18 00:04:39
1310
原创 React Native for OpenHarmony 实战:三方库 react-native-searchable-dropdown 的鸿蒙化适配指南
本文详述将纯JS、零依赖的 react-native-searchable-dropdown 适配至 HarmonyOS 的全过程。该库无需原生代码,无平台分支,安装即用。实测验证:defaultIndex 正确初始化、focus 控制列表显示、chips 宽度精确符合 len×8+60 公式,交互回调与自动收起功能正常。关键发现:render 为箭头类字段,prototype.render 为 undefined,需注意断言逻辑。结论:零改造即可直接使用,是适配最省事的组件之一。
2026-10-17 17:17:57
1014
原创 React Native for OpenHarmony 实战:三方库 react-native-simple-radio-button 的鸿蒙化适配指南
本文详述了将 react-native-simple-radio-button 适配至 HarmonyOS 的全过程。该库为纯 JS、零依赖、无原生代码,结构清晰,组件均为原型方法定义,可直接使用。实测其几何布局(外圈30vp/90px、内点20vp/60px)与节点索引命名精准命中,交互回调与清空功能正常。唯一疑点为 Platform.OS === 'android' 分支导致鸿蒙上 LayoutAnimation 未启用,可能影响动画效果,但未实测验证。整体结论:无需适配,可直接在 HarmonyOS
2026-10-17 17:17:34
1385
原创 React Native for OpenHarmony 实战:三方库 react-native-statusbar-alert 的鸿蒙化适配指南
本文记录将纯JS库 react-native-statusbar-alert 适配 HarmonyOS 的全过程。该库无原生模块,依赖仅 react/react-native,安装即用。核心发现:鸿蒙上 StatusBar.currentHeight 被正确实现为 39(对应117px),与状态栏高度一致,告警条不塌陷。虽存在老生命周期、未传 useNativeDriver 等警告,但功能完整可用。实测表明,“Android专属全局量在鸿蒙上必缺”是错误推断,关键需实测验证。建议显式传 height 避免依
2026-10-16 00:03:27
1148
原创 React Native for OpenHarmony 实战:三方库 react-native-toast-notifications 的鸿蒙化适配指南
本文完整记录将 react-native-toast-notifications 适配 HarmonyOS 的过程。该库为纯 JS、零依赖,无需原生代码或额外配置。通过实测验证其编程接口(show/hide/isOpen/update)返回值与行为均符合预期,show() 返回随机字符串 ID,容器为类组件,布局居中且垂直位置准确(y=195px),支持 placement="top" 与 offset。平台分支处理合理,useNativeDriver=true 可用,无崩溃风险。唯一未解决问题是自动断言面
2026-10-16 00:03:11
1286
原创 React Native for OpenHarmony 实战:三方库 react-native-calendar-strip 的鸿蒙化适配指南
本文完整记录了将 React Native 日历组件 react-native-calendar-strip 适配至 HarmonyOS 的过程。通过文本读回与像素判据验证,确认其在鸿蒙上可正常渲染、滚动及响应点击,且 recyclerlistview 虚拟化生效。实测显示:日期计算准确、点标记按 color 渲染、无原生依赖,仅需手动引入 moment 与 recyclerlistview,并忽略 postinstall 脚本。最终 43 项断言全部通过,证明该库可无缝接入鸿蒙生态。
2026-10-15 20:58:44
1288
原创 React Native for OpenHarmony 实战:三方库 react-native-card-view 的鸿蒙化适配指南
本文记录将极简库 react-native-card-view(130行,零依赖)适配HarmonyOS的全过程。虽代码老旧(2016年),但兼容React 19且无需原生适配。核心问题在于CardAction的Separator默认样式含flex: 1,在ScrollView中导致卡片被撑至2080vp,引发布局失控。通过自定义styles={{card:{flex:0}}}可规避。全量测试30例通过,无需HAR、权限或额外依赖,仅需简单引入即可使用。
2026-10-15 20:58:30
1199
原创 React Native for OpenHarmony 实战:三方库 react-native-autolink 的鸿蒙化适配指南
本文记录了将 react-native-autolink 适配至 HarmonyOS 的完整过程。核心发现:phone="tel" 不识别裸号码,需国际格式(如 +86...)或手动添加 IntlPhoneMatcher;运行时依赖 autolinker@3.16.2 必须显式安装,否则打包失败;非法 matcher 会被静默吞掉,导致无任何渲染。组件默认仅启用 URL、邮箱链接,支持通过 renderText/renderLink 观测分词结果。最终设备侧断言 30/30 通过,无需原生代码或 HAR 权
2026-10-14 15:10:12
1072
原创 React Native for OpenHarmony 实战:三方库 react-native-animatable 的鸿蒙化适配指南
本文详述 react-native-animatable 适配 HarmonyOS 的全过程。该库为纯 JS 动画组件,无需原生适配,仅依赖 prop-types。通过实测验证:① 同步 throw 可用 try/catch 捕获;② Promise reject 可 .catch() 处理;③ 渲染期错误需规避。采用末态像素(57.8% vs 0)与两帧差分(60.05% 动 vs 0 静止)双重判据,44 项断言全通过,一轮构建成功,补全交付验证。
2026-10-14 14:36:58
1137
原创 PyTorch 模型迁移实战:从 GPU 到 NPU
本文详细介绍了将PyTorch模型从GPU迁移到昇腾NPU的完整流程。首先需要安装NPU驱动、CANN工具包和适配的PyTorch版本(torch_npu)。模型迁移提供三种方式:自动迁移(最简单)、手动迁移(最可靠)和通过ONNX中间表示(最通用)。文章重点分析了常见问题,包括CUDA算子不支持、设备不匹配和优化器状态问题,并给出了解决方案。最后强调精度验证的重要性,提供了逐层对比和完整验证集的两种验证方法,通过余弦相似度和最大绝对误差等指标确保迁移后的模型精度符合要求。整个迁移过程从环境准备到性能验证形
2026-05-24 12:55:17
509
1
原创 Ascend C 算子开发实战:从零写一个矩阵乘法
本文介绍了如何使用Ascend C语言在昇腾平台上开发自定义矩阵乘法算子。主要内容包括: 开发环境准备:安装CANN工具包并创建算子工程框架 算子原型定义:通过头文件和实现文件定义算子的输入输出及属性 核心算子实现: 使用GlobalTensor和LocalTensor管理内存 实现基本的矩阵乘法计算流程(GM->UB->计算->GM) 提供优化版本建议(使用Cube Unit加速) 文章详细展示了从零开始开发Ascend C算子的完整流程,包括环境搭建、原型定义、核心计算实现等关键步骤,并给出了基础实现和
2026-05-24 12:54:02
404
原创 TensorFlow 模型迁移到昇腾:tf_adapter 实战
本文介绍了如何将TensorFlow模型迁移到昇腾NPU上运行。通过使用tf_adapter适配层,无需重写模型代码,只需添加少量适配代码即可实现。文章详细说明了环境准备步骤,并以ResNet50为例展示了迁移前后的代码对比和性能数据(NPU比GPU快25%)。同时提供了训练迁移方案、多卡训练示例以及常见问题解决方法(如算子不支持、精度偏差、显存不足等)。最后给出迁移检查清单,帮助开发者验证迁移效果。该方法能快速实现TensorFlow模型在NPU上的部署,显著提升推理和训练效率。
2026-05-23 14:08:05
565
原创 CANN 学习路径:从入门到实战
本文介绍了华为CANN(Compute Architecture for Neural Networks)的学习路径,分为三个阶段: 基础阶段(1-2周):学习环境安装、模型推理流程(PyTorch→ONNX→.om),完成ResNet18模型的编译与推理; 优化阶段(2-4周):通过混合精度、AOE自动调优、算子融合和动态Shape支持提升模型性能; 高级阶段(4-8周):开发自定义算子,使用Ascend C编写并编译算子,集成到PyTorch中,并进行性能验证。 每个阶段均提供代码示例,帮助开发者逐步掌
2026-05-23 14:06:31
648
原创 参与 CANN 社区:从提 issue 到合入 PR
摘要: 参与CANN开源社区门槛不高,从提Issue、修bug到写文档均可贡献。好的Issue需清晰描述问题,PR需通过测试并符合代码规范。持续贡献3-6个月可成为Maintainer,获得技术成长、影响力和职业背书。社区礼仪强调尊重与规范,贡献路径清晰可行。
2026-05-22 20:36:17
366
原创 模型迁移不再踩坑:msadvisor 实战
摘要:本文介绍了使用昇腾工具msadvisor将PyTorch模型从GPU迁移到NPU的方法。该工具能自动扫描代码中的GPU调用(如.cuda()改为.npu()),覆盖90%的迁移场景,并生成报告提示需手动修改的部分(如apex.amp)。文章以ResNet50为例演示了迁移流程,包括自动替换、手动调整混合精度实现,以及批量迁移整个项目的方法。最后指出迁移后需进行语法检查、功能验证和精度对比,并针对自定义CUDA kernel等复杂情况提供了解决方案。
2026-05-22 20:35:07
307
原创 3 行代码解决办公跨格式数据混乱!Python 批量整合 PDF 与 Word,数据统一效率飙升 10 倍【原理 + 实战 + 避坑】
摘要:本文介绍如何利用Python实现PDF与Word文档的跨格式数据自动化处理。针对职场中常见的86%办公族每周需花费8小时手动处理跨格式数据的问题,提出通过3行核心代码即可完成数据提取、标准化和整合的解决方案。文章详细解析了Python处理跨格式数据的底层逻辑,推荐了pdfplumber、python-docx等核心工具库,并提供了从环境搭建到实战应用的全流程指南,包括处理扫描件PDF等特殊情况的进阶方法。同时总结了10个常见问题的解决方案,帮助用户快速实现数据自动化处理,提升数十倍工作效率。
2025-11-24 22:24:26
1232
原创 CANN 架构深度解析:从技术原理到工程实践(昇腾 AI 异构计算核心)
摘要:CANN(神经网络计算架构)是华为昇腾AI生态的核心软件底座,旨在解决异构计算编程复杂、算力调度效率低等难题。文章系统解析了CANN的分层架构(应用使能层、框架适配层、核心计算层、硬件使能层)及其关键技术,包括统一编程接口、自动算子优化和高效内存管理。通过环境搭建、自定义算子开发和ResNet50推理三个实践案例,展示了CANN从开发到部署的全流程。文章还介绍了AutoTune调优、ATC编译优化等性能提升方法,并提供了昇腾生态学习资源路径。随着AI算力需求增长,CANN将持续优化大模型支持与多硬件适
2025-11-23 14:21:24
1600
原创 华为 CANN 异构计算架构:技术原理、实践案例与生态发展
摘要:华为CANN异构计算架构为昇腾AI芯片提供高效算力支持,通过三层架构设计实现软硬件协同优化。本文系统介绍了CANN的技术原理,包括异构任务调度、算子优化和统一内存架构,并以ResNet-50模型推理为例,详细展示了从环境搭建到模型部署的全流程实践。CANN生态已形成完整的开发者支持体系,未来将重点优化大模型训练、多硬件协同等方向。该架构有效解决了异构计算领域的高性能与易用性矛盾,为AI开发者提供了强大的计算基础设施。
2025-11-23 10:51:54
1639
原创 华为 CANN 架构:异构计算时代的 AI 算力基石与实践指南
本文系统解析了华为昇腾AI异构计算架构(CANN)的技术原理与应用实践。作为连接昇腾芯片与上层AI应用的核心中间件,CANN通过分层架构设计实现了硬件能力抽象、软件接口封装和算力高效调度。文章详细阐述了CANN的四大核心组件(图引擎、算子库、任务调度器和内存管理器),并通过向量加法算子开发和ResNet50模型部署两个典型案例,展示了从算子开发到模型推理的完整流程。同时介绍了性能调优方法和CANN在金融、医疗等行业的应用场景。随着AI模型复杂度提升,CANN将持续优化大模型支持、跨平台适配和易用性,为开发者
2025-11-22 21:36:22
1572
原创 华为 CANN 架构:异构计算时代的 AI 算力基石
华为昇腾CANN异构计算架构解析与实践 摘要:本文系统分析了华为昇腾CANN异构计算架构的技术特性与应用价值。作为连接AI应用与昇腾硬件的核心桥梁,CANN通过分层架构设计实现软硬件协同优化,包含应用使能层、核心框架层、执行引擎层和硬件抽象层。关键技术包括AscendCL统一接口、TBE算子开发框架和GE计算图优化,显著提升算力利用率和开发效率。文章以ResNet50推理部署为例,详细演示了从模型转换到性能分析的全流程实践。随着AI算力需求激增,CANN将持续优化大模型支持能力,降低开发门槛,推动异构计算生
2025-11-22 21:17:19
1618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅