asc-devkit LogicalNot 高阶接口实战指南:逐元素逻辑取反算子与临时空间规划
人工智能深度学习算子库CANNAscend【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址https://gitcode.com/cann/asc-devkit点击查看免费下载导读LogicalNot 是 CANN asc-devkit 项目中 SIMD-API 高阶数学计算adv_api/math_compute家族的一员用于对 LocalTensor 上的数据按元素执行逻辑取反零被视为False非零被视为True结果以bool类型写入目的操作数。本文以 LogicalNot_interface 文档族为主体完整讲解 LogicalNot 内核侧接口与配套的 Host 侧临时空间查询接口GetLogicalNotMaxMinTmpSize、GetLogicalNotTmpBufferFactorSize并结合仓库源码接口声明、实现、Tiling 实现与单元测试剖析底层实现原理。读完本文你将掌握 LogicalNot 的完整用法、支持的数据类型与产品约束并能基于临时空间接口完成算子 Tiling 参数设计。一、接口家族总览LogicalNot 相关接口分为两类、共三个入口全部位于AscendC命名空间接口运行侧作用LogicalNot核函数Kernel侧对源操作数按元素逻辑取反结果写入目的操作数GetLogicalNotMaxMinTmpSizeHost 侧获取接口计算所需的最大/最小临时空间用于确定 Tiling 参数GetLogicalNotTmpBufferFactorSizeHost 侧获取maxLivedNodeCount与extraBuf用于在固定空间下反推单次最大计算元素数从仓库源码看Kernel 侧接口声明于 include/adv_api/math/logical_not.h其头文件顶部明确限制了编译方式若以--enable-simt编译__NPU_COMPILER_INTERNAL_PURE_SIMT__会直接报错 logical_not.h cannot be used with compile flag --enable-simt enabled即该接口仅面向 SIMDAI Vector编程模式。两个 Host 侧接口声明于 include/adv_api/math/logical_not_tiling.h。二、LogicalNot 内核接口详解2.1 产品支持情况LogicalNot 的产品支持范围非常明确仅 Ascend 950 系列 AI 处理器支持Ascend 950PR 950DT 系列产品支持Atlas A3 系列产品不支持Atlas A2 系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品AI Core不支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持这一结论在源码中得到印证实现文件 logical_not_common_impl.h 与 Tiling 实现 logical_not_tiling_impl.cpp 中接口主体仅在__NPU_ARCH__ 3510 || 9201 || 5102 || 5162 || 3003 || 3113时被实例化而 Host 侧 Tiling 接口通过ASCENDC_HOST_ASSERT断言npuArch NpuArch::DAV_3510 || npuArch NpuArch::DAV_9201不满足即中止。这与文档中的仅 950 系列支持一致DAV_3510/DAV_9201 对应 950 系列架构。2.2 功能说明按元素进行取反操作。当输入的数据类型不是 bool 时零被视为False非零数据被视为True。即对于任意输入元素x输出满足x 0→ 输出True取反后为真x ! 0→ 输出False底层实现正是输出元素是否等于 0这一判断在 logical_not_common_impl.h 的LogicalNotVF中先通过Reg::CompareScalarU, CMPMODE::EQ(cmpMask, srcVreg, static_castU(0), mask)将源向量与数值 0 做相等比较得到比较掩码再以Reg::Select(dstVreg, brcOneReg, brcZeroReg, cmpMask)依据掩码选择常量 1 或 0 写入目的寄存器——等于 0 的元素得到 1True非 0 元素得到 0False从而完成逻辑取反。brcOneReg/brcZeroReg由Reg::Duplicate分别复制 1u 与 0u 得到。2.3 函数原型与模板参数template const LogicalNotConfig config DEFAULT_LOGICAL_NOT_CONFIG, typename T, typename U __aicore__ inline void LogicalNot(const LocalTensorT dst, const LocalTensorU src, const uint32_t count)模板参数说明参数名描述configLogicalNot 算法的相关配置可选配类型为LogicalNotConfig。其中isReuseSource为预留参数传入默认值false即可。T目的操作数数据类型仅支持bool。U源操作数数据类型支持bool、int8_t、uint8_t、int16_t、uint16_t、half、bfloat16_t、int32_t、uint32_t、float、int64_t、uint64_t。LogicalNotConfig的结构体定义与默认值来自仓库 logical_not_utils.hstruct LogicalNotConfig { bool isReuseSource; }; constexpr LogicalNotConfig DEFAULT_LOGICAL_NOT_CONFIG {false};Kernel 侧编译期还会通过static_assert强校验数据类型见 logical_not_common_impl.hT仅允许boolU仅允许上文列出的 12 种类型不满足直接编译失败将错误前移到编译期。2.4 接口参数说明参数名输入/输出描述dst输出目的操作数。类型为 LocalTensor支持的 TPosition 为 VECIN/VECCALC/VECOUT。src输入源操作数。类型为 LocalTensor支持的 TPosition 为 VECIN/VECCALC/VECOUT。count输入参与计算的元素个数。返回值无。2.5 约束说明不支持源操作数与目的操作数地址重叠。该约束在实现中通过参数校验执行LogicalNotImpl调用CHECK_FUNC_HIGHLEVEL_API进而触发 logical_not_check.h 中的CheckFuncLogicalNot参数校验其中 logical_not_check_common.h 的VerifyingParameters依次完成ReuseSourceCheckFuncBasicClass::IsReuseSourceVerifyingParameters、CalCountVerifyingParameters校验 count 与 tensor 关系、TensorVerifyingParameters以及TensorReuseVerifyingParameters校验 dst/src 地址不重叠。操作数地址对齐要求参见 通用地址对齐约束。2.6 调用示例与运行结果文档给出的最小调用示例AscendC::LocalTensorbool dst; AscendC::LocalTensorhalf src; uint32_t count 512; // 参与计算的元素个数 AscendC::LogicalNot(dst, src, count);结果示例如下输入数据src: [1, 2, 0, -1, -2, 0, 3, 4, 0, -3, -4, 0, 5, 6, 0, -5, -6, 0, ... 0] 输出数据dst: [False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, ... True]可见规则为非零含负数→False零 →True。仓库单元测试 test_operator_logical_not.cpp 采用相反方向验证输入全部初始化为1非零期望输出全部为0x00即全部为 False并覆盖了bool→bool、bool→uint8_t/int8_t/half/bfloat16_t/uint16_t/int16_t/float/uint32_t/int32_t/uint64_t/int64_t共 12 种类型组合以及 32/256/1024 三种数据规模是完整的参数化回归用例。2.7 底层向量化实现原理源码视角从 logical_not_common_impl.h 的实现看向量化计算按以下步骤进行分块切分以单次向量指令可处理的元素数oneRepElm GetVecLen() / sizeof(U)为单位64 位类型乘以 2 的 repeat stride通过CeilDivision(count, oneRepElm)计算repeatTime循环执行向量指令。掩码更新每轮用Reg::UpdateMaskU, Trait(count)生成有效元素掩码处理 count 不能整除 oneRepElm 的尾块。比较取反CompareScalarU, CMPMODE::EQ与 0 比较Select按掩码选择 1/0。位宽适配当sizeof(U) 2half、bfloat16_t、int16_t、uint16_t时执行一次Reg::MaskPack当sizeof(U) 4 || 8float、int32_t、uint32_t、int64_t、uint64_t时执行两次Reg::MaskPack以适配 bool 输出的 1 字节位宽64 位类型额外使用RegTraitNumTwo寄存器特质每个寄存器处理两个 64 位元素并设置LOGICAL_NOT_B64_REPEAT_STRIDE 2当U为bool时按uint8_t进行读取Reg::RegTensoruint8_t与 bool 的 1 字节存储语义对齐。这些细节对普通用户是透明的但有助于理解不同源类型在向量引擎上的实际指令开销差异。三、Host 侧临时空间接口 GetLogicalNotMaxMinTmpSize3.1 功能说明Kernel 侧 LogicalNot 接口的计算需要开发者预留/申请临时空间。GetLogicalNotMaxMinTmpSize在 Host 侧获取预留/申请的最大和最小临时空间大小开发者基于该范围选择合适的空间大小作为Tiling 参数传递到 Kernel 侧使用为保证功能正确预留/申请的临时空间大小不能小于最小临时空间大小在最小临时空间 ~ 最大临时空间范围内随着临时空间增大Kernel 侧接口计算性能会有一定程度的优化提升。为达到更好性能开发者可根据实际内存使用情况在范围内选择。3.2 函数原型与参数说明void GetLogicalNotMaxMinTmpSize(const platform_ascendc::PlatformAscendC ascendcPlatform, const AscendC::TensorShape srcShape, const uint32_t typeSize, const bool isReuseSource, uint32_t maxValue, uint32_t minValue)参数名输入/输出功能ascendcPlatform输入平台信息PlatformAscendC的定义参见构造及析构函数。srcShape输入输入 shape 信息类型为 AscendC::TensorShape。typeSize输入输入数据类型大小字节。例如输入为 half 时传入 2。isReuseSource输入预留参数传入默认值false即可。maxValue输出完成计算所需的最大临时空间大小字节超出该值的空间不会被接口使用最大空间为 0 表示计算不需要临时空间。注意 maxValue 仅作参考可能大于 Unified BufferUB剩余空间此时需按 UB 剩余空间选取合适的临时空间大小。minValue输出完成计算所需的最小临时空间大小字节预留空间不能小于该值为 0 表示不需要临时空间。返回值无。约束说明无。3.3 源码实现与当前取值Tiling 实现位于 logical_not_tiling_impl.cpp入口先做三类 Host 侧参数校验SrcShapeSizeVerifyingParametersshape 元素数 × typeSize 不超限、TypeSizeVerifyingParameterstypeSize 必须属于 {1, 2, 4, 8}对应源码常量LOGICAL_NOT_UINT8/UINT16/UINT32/UINT64_SIZE、IsReuseSourceVerifyingParametersisReuseSource 必须为 false随后校验 NPU 架构为 DAV_3510/DAV_9201当前实现直接返回maxValue 0、minValue 0即当前架构下 LogicalNot 计算不需要临时空间。配套的 Tiling 单元测试位于 test_tiling.cppTestLogicalNotTiling用typeSize 2half与shapeDims {128, 128}调用接口并断言minValue 0 maxValue 0。3.4 调用示例// 输入shape信息为1024; 算子输入的数据类型为half; 不允许修改源操作数 std::vectorint64_t shape_vec {1024}; AscendC::TensorShape shape(shape_vec); uint32_t maxValue 0; uint32_t minValue 0; auto plat platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); AscendC::GetLogicalNotMaxMinTmpSize(plat, shape, 2, false, maxValue, minValue);四、Host 侧临时空间因子接口 GetLogicalNotTmpBufferFactorSize4.1 功能说明该接口用于获取maxLivedNodeCount与extraBuf两个因子。在固定空间大小的情况下通过这两个因子可以推算算子单次最大计算元素数量maxLivedNodeCount临时空间是单次计算数据量所占空间的多少倍最大存活节点数extraBuf使用的额外临时空间大小字节。4.2 单接口推算公式算子实现需要调用 LogicalNot 接口开发者为其预留currBuff大小的空间注意currBuff表示接口计算可用的空间需去除用户输入输出等空间利用本接口得到的maxLivedNodeCount、extraBuf输出值可推导单次最大计算元素数量为currentShapeSize (currBuff - extraBuf) / maxLivedNodeCount / typeSize4.3 多接口推算公式算子实现需要调用两个 Kernel 侧 APIKernelIntf1、KernelIntf2利用两个GetXxxTmpBufferFactorSizeXxx 为所调用的两个高阶 API接口的两组输出值以及当前现有临时空间推导单次最大计算元素数量为currentShapeSize1 (currBuff - extraBuf1) / maxLivedNodeCount1 / typeSizecurrentShapeSize2 (currBuff - extraBuf2) / maxLivedNodeCount2 / typeSizecurrentShapeSize min(currentShapeSize1, currentShapeSize2)4.4 注意事项接口获取的maxLivedNodeCount可能为 0计算时需要判断该值非 0避免除零错误当反推出的currentShapeSize * typeSize 256B时currentShapeSize按照256B / typeSize的值向上取整即保证单次计算数据量不低于 256 字节的向量对齐下限。4.5 函数原型与参数说明void GetLogicalNotTmpBufferFactorSize(const platform_ascendc::PlatformAscendC ascendcPlatform, const uint32_t typeSize, uint32_t maxLivedNodeCount, uint32_t extraBuf)参数名输入/输出功能ascendcPlatform输入平台信息PlatformAscendC的定义参见构造及析构函数。typeSize输入输入数据类型大小字节例如 half 传入 2。maxLivedNodeCount输出最大存活节点数表示临时空间是单次计算数据量所占空间的多少倍。extraBuf输出使用的额外临时空间大小字节。返回值无。约束说明无除以零需由调用方规避见 4.4。与 3.3 节同理当前 Tiling 实现logical_not_tiling_impl.cpp在校验 typeSize 与 NPU 架构后返回maxLivedNodeCount 0、extraBuf 0即当前无需额外临时空间测试用例TestLogicalNotTiling亦断言两者为 0。4.6 调用示例uint32_t maxLivedNodeCount 0; uint32_t extraBuf 0; auto plat platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); AscendC::GetLogicalNotTmpBufferFactorSize(plat, typeSize, maxLivedNodeCount, extraBuf);五、典型使用流程与实战建议结合三节文档与仓库代码在一个真实算子的 Tiling 阶段完整使用 LogicalNot 的标准流程为Host 侧确定临时空间调用GetLogicalNotMaxMinTmpSize获取[minValue, maxValue]区间当前实现两者均为 0表示无需为 LogicalNot 单独预留临时空间可直接将 Tiling 参数置 0 或忽略。多接口叠加时校验空间若算子还调用其他高阶接口用各接口的GetXxxTmpBufferFactorSize输出按min()取交集确保空间同时满足所有接口。Kernel 侧执行计算在 Kernel 中按 Tiling 参数切分数据循环调用LogicalNot(dst, src, count)遵守dst/src 地址不重叠、TPosition 取 VECIN/VECCALC/VECOUT、count 为元素个数、地址满足对齐要求三条约定。数据流组织参考 test_operator_logical_not.cpp 中的KernelLogicalNot框架——TPipe初始化VECIN/VECOUT队列CopyIn用DataCopy搬入Compute中PipeBarrierPIPE_ALL后调用LogicalNotCopyOut处理非 32 字节对齐的尾数数据。需要完整调用样例时可继续查看 更多样例 与示例工程 examples/01_simd_cpp_api/04_advanced_api/10_math 中同属逻辑运算家族的 logicaland 示例。六、总结LogicalNot 是 asc-devkit 高阶数学计算接口中实现逻辑取反的最小化接口Kernel 侧仅需dst/src/count三个参数即可完成 bool 化取反支持 12 种源数据类型其配套的两个 Host 侧接口给出了临时空间查询与单次计算量推算的标准范式适用于所有GetXxxTmpBufferFactorSize家族接口。需要特别注意的是该接口当前仅在 Ascend 950 系列产品上可用且 dst 与 src 不允许地址重叠。从源码实现看该接口当前在 DAV_3510/DAV_9201 架构上不需要临时空间max/min 均为 0因此接入现有算子框架的成本极低可直接复用高阶 API 的标准 Tiling 与校验链路。关联文档与源码索引接口文档LogicalNotGetLogicalNotMaxMinTmpSizeGetLogicalNotTmpBufferFactorSize接口声明include/adv_api/math/logical_not.h、include/adv_api/math/logical_not_tiling.h、include/adv_api/math/logical_not_utils.h实现源码impl/adv_api/detail/math/logical_not/logical_not_common_impl.h、impl/adv_api/tiling/math/logical_not_tiling_impl.cpp参数校验impl/adv_api/detail/api_check/kernel_check/math/logical_not/logical_not_check.h、logical_not_check_common.h测试用例tests/api/adv_api/math/logical_not/test_operator_logical_not.cpp、tests/api/adv_api/tiling/test_tiling.cpp赞分享人工智能深度学习算子库CANNAscend【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址https://gitcode.com/cann/asc-devkit点击查看免费下载相关推荐Ascend C LogicalAnd 逻辑与高阶 API 实战基于 asc-devkit 的逐元素与运算算子样例解析Ascend C LogicalAnd 逻辑与高阶 API 实战基于 asc devkit 的逐元素与运算算子样例解析 本文以 asc devkit 开源仓库人工智能深度学习算子库CANNAscendAscendC 高阶 API 实战基于 Xor 接口的按元素异或算子样例asc-devkitAscendC 高阶 API 实战基于 Xor 接口的按元素异或算子样例asc devkit 本篇文章以 asc devkit 仓库中的 Xor 高阶 A人工智能深度学习算子库CANNAscendAB Download Manager 浏览器扩展跨浏览器兼容Edge 两条装法一次讲清AB Download Manager 浏览器扩展跨浏览器兼容Edge 两条装法一次讲清 AB Download Manager 是一款开源下载管理器它的人工智能深度学习算子库CANNAscend上一篇Magic CLI安全最佳实践保护你的API密钥和shell历史数据下一篇hass-xiaomi-miot文档翻译指南为你的母语贡献小米集成文档创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

校园商铺平台从零搭建:数据库表设计与实体类建模全解析

校园商铺平台从零搭建:数据库表设计与实体类建模全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:48:43 阅读更多 →
iOS依赖治理:用Carthage把第三方库编译成静态xcframework

iOS依赖治理:用Carthage把第三方库编译成静态xcframework

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:48:43 阅读更多 →
ZYNQ 7000双裸核AMP实战:共享内存与核间中断

ZYNQ 7000双裸核AMP实战:共享内存与核间中断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 5:48:43 阅读更多 →

最新新闻

Lunar 6.7.11 修复说明:Sync Mode 在 MacBook Air 与 iMac 上改用 nits 同步

Lunar 6.7.11 修复说明:Sync Mode 在 MacBook Air 与 iMac 上改用 nits 同步

桌面应用 【免费下载链接】Lunar Intelligent adaptive brightness for your external monitors 项目地址: https://gitcode.com/gh_mirrors/lu/Lunar 点击查看 免费下载 Lunar 6.7.11 是一个针对 Sync Mode(同步模式) 的定向修复版本。此次…

2026/10/16 6:27:53 阅读更多 →
MooTool Next-Compose 增量演进:MCP stdio 工具链、F03 格式化引擎与更新下载流的工程化落地

MooTool Next-Compose 增量演进:MCP stdio 工具链、F03 格式化引擎与更新下载流的工程化落地

桌面应用开发工具 【免费下载链接】MooTool Handy tool set for developers 项目地址: https://gitcode.com/gh_mirrors/mo/MooTool 点击查看 免费下载 导读 本篇以仓库中的增量开发记录 next-compose/docs/diff/561-mcp-reformat-update-env-net-vault-css-slice…

2026/10/16 6:27:53 阅读更多 →
AtCoder Beginner Contest 478

AtCoder Beginner Contest 478

AtCoder Beginner Contest 478 A - Grapes 题意:有N个人,编号为1到N,现在要把M颗葡萄分给他们。每次按照1, 2, …, N的顺序,每人分一颗,分到第N个人以后再从第1个人开始,直到所有葡萄分完。最后输出每个人分…

2026/10/16 6:27:53 阅读更多 →
google-api-nodejs-client 的 ondemandscanning 模块演进全解读:从 CHANGELOG 版本脉络到容器镜像漏洞扫描实战

google-api-nodejs-client 的 ondemandscanning 模块演进全解读:从 CHANGELOG 版本脉络到容器镜像漏洞扫描实战

后端 【免费下载链接】google-api-nodejs-client Googles officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included. 项目地址: h…

2026/10/16 6:27:53 阅读更多 →
用Python和SQLite自建个人财务数据中台:从记账到自由分析

用Python和SQLite自建个人财务数据中台:从记账到自由分析

1. 从"financial-services"到个人财务数据中台:我为什么自建了一套记账分析系统先说个背景。我一直在关注"financial-services"这个方向,但说实话,金融服务的概念太大了——从银行App到支付工具,从个人记账软…

2026/10/16 6:27:53 阅读更多 →
Zabbix 监控 TACACS 服务实战:App TACACS Service 模板(net.tcp.service 简单检查)全解析

Zabbix 监控 TACACS 服务实战:App TACACS Service 模板(net.tcp.service 简单检查)全解析

【免费下载链接】community-templates Zabbix Community Templates repository 项目地址: https://gitcode.com/gh_mirrors/co/community-templates 点击查看 免费下载 本文围绕 Zabbix Community Templates 仓库中的 App TACACS Service 模板展开,讲解…

2026/10/16 6:26:53 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →