新闻详情

新闻详情

首页 / 资讯中心 / 详情

Atlas 300V 24G部署YOLO实战:从环境配置到性能调优全解析

发布时间:2026/9/20 9:54:46来源:尧图网络
Atlas 300V 24G部署YOLO实战:从环境配置到性能调优全解析
咱不绕弯子直接聊点硬的手里这块Atlas 300V 24G它到底算不算运算加速卡以及拿它来部署YOLO目标检测模型到底是一条什么样的路。有的人说它是“AI推理卡”有的人说它就是“加速卡”还有人买回来发现跟自己想象中的显卡体验完全不一样各种踩坑。这篇就直接按我自己折腾过的流程从硬件定位、部署链路、到代码适配和调优把 Atlas 300V 24G 这块卡的实际表现拆清楚。先说结论放这儿Atlas 300V 24G 确实是运算加速卡但它的准确分类是昇腾AI推理加速卡不是像 RTX 4090 那样通用计算 图形渲染一把抓的 GPU。它的发力点非常聚焦——神经网络推理场景尤其是像 YOLO 这种目标检测模型的批量、多路部署。你要是拿它去跑训练或者指望它跟 CUDA 生态完全无缝衔接那我劝你先缓一缓这篇文章会告诉你它真正适合干什么以及怎么在它上面把 YOLO 跑得又稳又快。顺便说一句这篇文章主要写给两类人一类是刚拿到 Atlas 300V 24G、准备用 C 或 Python 做边缘侧或服务器侧推理的工程师另一类是看了各种“Atlas 部署 YOLO”的帖子、但不知道从哪儿下手的入门选手。我会尽量把每一步背后的为什么也说清楚这样你以后碰到类似问题能自己排查而不是只会复制粘贴。1. 内容整体设计与思路拆解先搞懂 Atlas 300V 24G 是干什么的再去谈部署1.1 一块“运算加速卡”不等于“通用 GPU”定位差异决定使用方式现在很多人一看到“运算加速卡”“AI加速卡”这些词自动就联想到了英伟达的显卡生态。这是最容易被带偏的地方。Atlas 300V 24G 的底层架构是华为昇腾的达芬奇架构核心计算单元是 AI Core而不是 GPU 的 CUDA Core / Tensor Core 那一套。这意味着两件事第一它在矩阵运算上的能效比非常高。以 YOLOv8s 为例在 640x640 输入分辨率下一张 300V 24G 卡跑 FP16 模型单卡推理吞吐跑满的情况下大概能到小几百 FPS 的水平具体取决于 batch size 和前后处理优化程度这个数据跟同价位的入门级 GPU 比通常不吃亏甚至更省电。第二它的软件生态跟 CUDA 不完全兼容。你不能直接 pip install torch 然后 model.to(cuda) 就完事。你需要使用昇腾的 CANN 工具链来做模型转换和推理适配。这个心智转换我认为是所有从 GPU 转过来的人最难受、也最关键的一步。我们说的“Atlas 部署 YOLO”本质上就是一条PyTorch 训练权重 → 导出 ONNX → 通过 ATC 工具转成昇腾专用的 OM 模型 → 用 ACLAscendCL或者昇腾适配过的 PyTorch 框架加载 OM 执行推理。这条链路里面的每一步都有一些只有踩过坑才知道的细节。1.2 24G 显存到底意味着什么这张卡的容量玩法Atlas 300V 24G从名字就能看出来核心卖点之一是 24GB 的显存官方叫法是“内存”但大家习惯叫显存。24G 这个数字在推理场景里面是很好用的量级能装下较大 batch 的输入比如 YOLOv8 一次性处理 32 张甚至 64 张 640x640 的图不用反复搬运数据能同时加载多路视频流模型比如 16 路 1080p 视频流做实时检测把模型实例多副本塞进显存或者利用多 batch 并行推理能支撑一些 Transformer 类骨干网络的推理比如 DETR 系列或者加了注意力机制的 YOLOv8 变体24G 足够放得下。很多人问“24G 是大还是小”这得看场景。对于单卡单模型、单路低分辨率视频来说24G 可能有一大半是闲置的。但对于多路并发 大 batch 大分辨率输入24G 就是一个让你不用太抠门儿的余量。实际调优中我发现 24G 意味着你可以把 batch size 调大用算力换吞吐这也正好是 300V 这种推理加速卡的强项。1.3 选型对比300V 跟 GPU、其他型号到底差在哪维度Atlas 300V 24G入门级 GPU比如 RTX 4060/3060其他昇腾卡如 310P/300I Pro架构昇腾达芬奇 AI CoreCUDA / Tensor Core昇腾达芬奇定位专业 AI 推理通用计算 图形 推理轻量推理 / 训练卡细分软件生态CANN / MindSpore / 昇腾 PyTorch AdapterCUDA / cuDNN / TensorRTCANN显存24GB8~12GB 居多通常在 8~24GB 之间功耗相对低适合长时间满载推理高功耗性能释放依赖散热视型号而定性价比方向多路并发、高吞吐推理算法开发、训练、小规模推理嵌入式、边缘场景这个表的结论很直白如果你要做的是大规模、多路、持续运行的推理服务Atlas 300V 24G 是一个偏向性价比的选择如果你要天天改网络结构、做训练实验、快速跑通各种新模型那 GPU 生态的便利性短期还是无法替代的。搞清楚自己的场景再决定要不要买这块卡比什么都重要。2. 核心细节解析与实操要点部署 YOLO 之前必须准备好的软件环境2.1 版本匹配最容易把人搞崩的一环昇腾生态给我的第一印象就是版本匹配是个精细活。固件、驱动、CANN toolkit、PyTorch Adapter这几个东西的版本必须对得上否则你会遇到各种奇怪的报错比如“runtime 版本不一致”“aclrtSetDevice failed”等等。我这边实测比较稳的一套组合是固件与驱动使用昇腾官网配套的最新稳定版本比如 23.0.RC3 左右的版本以你拿到卡时官网实际放出的包为准CANN toolkit对应安装 7.0 或更高版本Python3.8 或 3.9 都可以不建议太新因为相关 wheel 包有时候跟不上最新的 Python 版本PyTorchCPU 版 2.0.1 配合 torch_npu 2.0.1或者用昇腾官方提供的 Ascend PyTorch Adapter 版本操作系统Ubuntu 20.04/22.04 x86_64 或 ARM 都行但 ARM 上有些算子实现可能跟 x86 微有差异建议官方文档为准。这里有一个特别重要的思路不要追求最新版本要追求经过验证的稳定组合。我见过太多人一上来装最新 CANN 8.0结果配套的 torch_npu 还没跟上白白折腾一整天。去昇腾社区看看对应版本的“版本配套表”比问任何群都靠谱。另外还要提醒一下安装驱动和固件需要 root 权限而且装完之后要重启机器。如果你是在服务器上操作提前跟管理员打好招呼别在业务高峰期搞这种操作。2.2 安装好之后怎么验证环境是否正常环境装完别急着跑 YOLO先花两分钟验证一下基础环境npu-smi info这个命令类似 NVIDIA 的nvidia-smi能看到卡的温度、显存占用、驱动版本、固件版本。如果能看到 Atlas 300V 24G 这块卡并且状态是正常比如 Health Status 为 OK那说明驱动和固件基本没问题。然后再验证 CANN 的 ACL 运行时# 用 AscendCL Python 接口简单测一下 import acl acl.init() ret acl.rt.set_device(0) if ret 0: print(device set success)如果这行能打印成功就说明 CANN 环境起来了。这一步看着简单但能帮你把环境问题跟后面的模型问题隔离开。2.3 安装 torch_npu让 PyTorch 代码能识别昇腾设备如果你想先用 Python 快速把 YOLO 流程跑起来而不是一上来就写 C 的 ACL 代码那torch_npu就是你最需要的桥接层。pip install torch2.0.1 pip install torch_npu2.0.1安装完之后在代码里这样验证设备import torch import torch_npu print(torch.npu.is_available()) x torch.randn(2, 3, 640, 640).npu() print(x.shape)只要.npu()调用不报错就说明 PyTorch 已经能通过昇腾设备做基本的张量运算了。这个时候再往 YOLO 方向走心里就有底了。3. 实操过程与核心环节实现Atlas 上把 YOLO 跑通的完整链路3.1 模型导出从 PyTorch 权重到 ONNX 文件在 Atlas 上部署 YOLO第一步通常是把 PyTorch 训练好的权重导出为 ONNX。很多教程会让你直接用torch.onnx.export导出但实际做下来有几个坑需要特别说明第一个坑是动态维度。YOLO 模型的输入通常是(batch, 3, height, width)。如果你导出时用了动态 batch比如dynamic_axes{images: {0: batch}}在后续 ATC 转换时 OM 模型往往不支持动态 batch会报错。这一点跟 TensorRT 类似——昇腾对动态 shape 的支持有限静态 shape 是性能和稳定性的最优解。所以我建议导出时就固定batch1或者某个较大的 batch比如 4、8、16然后直接用 ATC 转对应 batch 的 OM 模型。多 batch 的推理吞吐在实际部署中非常划算。第二个坑是算子的兼容性。YOLO 模型如果用到了比较新的算子比如某些上采样算子、注意力算子在 ONNX 导出时可能不受支持。解决办法是尽量用目标检测模型的标准实现YOLOv5/YOLOv8 主流的模型导出之后常见算子比如 Conv、BN、SiLU、Concat、Resize 昇腾一般都支持。如果你用的是某些魔改版本比如加了自注意力、用了不常规的自定义算子那就得先检查算子是否映射到昇腾支持列表里。最简单的检查方法就是在 ATC 转换的时候看日志报出“不支持算子”的时候再针对性处理。第三个坑是输出格式。你在导出 ONNX 时可以选择输出原始的检测头比如 YOLOv8 的(1, 84, 8400)这种也可以选择把后处理 NMS 也放进模型里。我建议先把后处理留在模型外部。理由很简单在昇腾这种推理卡上你最好把算力密集型的前处理、模型前向放到卡上而把 NMS 这类逻辑性强、分支多的操作放在 CPU 上或者用 OpenCV 等库做后处理。这样不管是从性能还是排查问题的角度都更清晰。下面给一个 YOLOv8 导出 ONNX 的简化示例from ultralytics import YOLO model YOLO(yolov8s.pt) model.export(formatonnx, opset12, imgsz640, dynamicFalse, simplifyTrue)这里opset12是一个相对保守但兼容性好的版本。simplifyTrue会调用 onnx-simplifier 清理一些冗余算子对后续转换有好处。导出的yolov8s.onnx文件一般会在当前目录下。3.2 ATC 转换核心参数和踩坑记录导出 ONNX 之后下一步就是用 ATC 工具把它转换成昇腾的 OM 模型。ATC 全称 Ascend Tensor Compiler它会做算子调度、图优化、算子融合这些工作把模型转换成昇腾芯片能高效执行的离线模型。ATC 的命令行方式非常简单但参数里藏着很多性能相关的细节atc --modelyolov8s.onnx \ --framework5 \ --outputyolov8s_bs1 \ --input_shapeimages:1,3,640,640 \ --soc_versionAscend310P3 \ --loginfo \ --insert_op_confaipp.cfg来逐个解释关键参数--framework5表示输入模型是 ONNX。这个是固定值不用改。--output是输出 OM 文件名。--input_shape必须跟你导出的 ONNX 输入 shape 完全一致。如果不一致转换可能报错或者生成一个推理时 shape 对不上的模型。--soc_version这个是重中之重。它告诉 ATC 你要编译到哪个昇腾芯片型号上。Atlas 300V 24G 对应的 Soc 版本常见的是Ascend310P3但也可能因具体 SKU 而异。你可以在 CANN 安装目录下用npu-smi info查芯片型号或者在昇腾官方文档里查型号对应关系。搞错这个参数后面加载 OM 模型几乎必然失败。--insert_op_conf用来配置 AIPPAI Preprocessing也就是把图像预处理从 CPU 搬到昇腾芯片上的配置文件。这个配置值得仔细聊一下。AIPP 是昇腾一个很有的特色功能它可以在硬件层面做图像的 resize、减均值、除以标准差、格式转换比如 JPEG 解码后的 YUV 转 RGB。如果你在模型训练时做了标准化比如 ImageNet 的 mean/std那你可以在 AIPP 配置里直接写死让硬件来干这活。这样做的好处是CPU 压力小了host 和设备之间的内存拷贝也少了吞吐量能提升不少。但坏处是配置得细致、容易出错而且一旦写错模型输出结果会一塌糊涂而且排查起来挺隐蔽。一个简化版aipp.cfg长这样aipp_op { aipp_mode: static input_format: RGB888_U8 src_image_size_w: 640 src_image_size_h: 640 csc_switch: true rbuv_swap_switch: false min_chn_0: 0 min_chn_1: 0 min_chn_2: 0 var_reci_chn_0: 0.00392156862745098 var_reci_chn_1: 0.00392156862745098 var_reci_chn_2: 0.00392156862745098 }这段配置的意思是输入 RGB888 格式的 640x640 图硬件先做 resize你不用在代码里再 resize然后把像素值从 0~255 归一化到 0~1因为var_reci_chn是 1/255。这样你在推理代码里就不用再对每个像素做均值标准差处理了。不过如果你用的是 YOLOv8 官方训练出来的权重它的预处理一般是除以 255不做 mean/std 相减那么上面的配置刚好适用。如果你自定义过归一化方式比如用了 ImageNet 的 mean/std那min_chn_0/1/2和var_reci_chn_0/1/2要按你训练时候的数值来填不要照抄。3.3 推理适配用 AscendCL 跑 OM 模型OM 模型生成好之后就到了推理环节。这里有两种选择用昇腾的 AscendCL Python API 直接写推理脚本或者继续用 torch_npu把 OM 模型作为一个“黑盒”算子来调用。前者更接近底层、性能更好、可控性更高后者的代码写起来跟 PyTorch 更像适合快速验证。我建议你至少学会用 AscendCL 跑推理因为如果你要部署的是正式服务C 或者 Python 的 ACL 接口几乎绕不开。ASCendCL 的推理流程大致如下初始化 ACLacl.init()设置设备acl.rt.set_device(0)加载 OM 模型acl.mdl.load_from_file(yolov8s_bs1.om)准备输入输出创建数据缓存把处理好的图像数据拷贝到 device 内存执行模型acl.mdl.execute获取输出把 device 输出拷贝回 host后处理解析输出做 NMS画框。这部分很多代码都是模板化的你基本可以从官方 sample 或者 GitHub 上的项目参考着改。我这里说一个关键点输入数据的排布方式一定要跟 AIPP 配置和模型要求一致。如果你在 AIPP 里指定了input_format: RGB888_U8那你在 host 侧就要把 BGROpenCV 的默认读图格式是 BGR转成 RGB然后再传给模型。如果不转你检测出来的颜色通道就是反的目标能检测到但颜色相关特征会乱掉比如红绿灯检测这种场景会直接出问题。另一个关键点多 batch 模型的输入要造好 batch 维。如果 OM 模型是batch4你一次推理就需要把 4 张图排成一个(4, 3, 640, 640)的四维数组。如果你只有 1 张图比如边端实时视频流场景要么用batch1的模型要么做数据累积攒够 4 张再推理。对于延迟要求高的场景建议直接用batch1免得为了吞吐牺牲单帧延迟。3.4 后处理NMS 放到 CPU 上做省心又不吃卡YOLO 模型的输出通常是一个或几个特征图包含每个框的坐标、置信度和类别概率。以 YOLOv8 为例输出 shape 大致是(1, 84, 8400)其中 84 4box 坐标 80COCO 类别数8400 是不同尺度特征图的 anchor 点总和。解析这个输出、过滤低置信度框、做 NMS这些操作如果放在昇腾卡上做也可以用算子实现但开发成本高、灵活性差。放在 CPU 上做用 NumPy 或者 OpenCV 的dnn.NMSBoxes代码简单而且因为过滤之后只剩很少的框CPU 开销非常低。实测在 640x640 输入下几千个预选框做 NMS 也就几毫秒的耗时完全不是瓶颈。这里分享一个容易被忽略的工程细节解析输出时要搞清楚输出 tensor 各个维度存储的顺序。有的模型输出是(1, 8400, 84)有的是(1, 84, 8400)。你要是搞反了后面解析出来的坐标就是乱套的。最好先用一张已知结果的图打印一下输出 tensor 的 shape 和几个关键位置的值确认无误再批量跑。4. 性能调优与常见问题排查实录让 YOLO 在 Atlas 上跑得又快又稳4.1 多路视频流场景显存和算力怎么平衡Atlas 300V 24G 很适合多路视频流实时检测。比如你要做 16 路甚至 32 路摄像头接入每路实时跑 YOLOv8s。有两种主流玩法第一种是单模型大 batch把 8 路、16 路的视频帧攒成一个 batch一次性推理。这样算力利用率高、吞吐大。但延迟会高一点因为要等攒够 batch。做法是在代码里做一个简单的“收集器”固定时间窗口比如 50ms内把多个流的最新帧收齐然后批量推理。这种方式对 Atlas 300V 这种大显存卡非常友好因为 24G 显存不需要频繁换模型。第二种是多模型实例并发在卡上同时加载多个batch1的模型实例上下文每个实例处理一路流。这种方式用多线程/多进程调度关键是显存是否够用。一个 YOLOv8s 的 OM 模型通常占几百 MB 到 1~2GB 的显存取决于是否开了缓存、输入大小等24G 完全可以装下很多个实例。缺点是跟 C 的多线程复杂度挂钩需要处理 ACL 上下文的并发访问问题。我个人的经验是如果每条流的延迟要求都在 100ms 以内而且帧率要求不高比如 15FPS就用多实例并发如果每路要求 25FPS 以上而且总吞吐要求高就用单模型大 batch。这两个方向的调优不是一个思路需要结合你的实际业务指标来选。4.2 常见报错与解决办法速查表这块儿是很多人最容易卡住的地方我把常见的问题和排查思路整理成一个表格报错或现象可能原因解决办法E10001: Value of input_shape do not match the modelATC 的--input_shape与 ONNX 输入 shape 不一致用netron查看 ONNX 输入 shape确保完全一致E40003: The soc_version is invalid--soc_version填错npu-smi info查实际芯片型号或在 CANN 安装目录中查询支持列表acl.mdl.load_from_file失败OM 模型是用错误的soc_version编译的重新用正确的 soc_version 转换 OM 模型推理输出全 0 或者结果明显不对AIPP 配置错误或者 BGR/RGB 顺序反了打印输入图像某几个像素值跟模型预期输入对比确认 csc/swap 开关显存占用异常高未及时释放缓存、AIPP 输入缓存分配过大检查是否有内存泄漏使用静态 AIPP 减少 host-device 拷贝多线程推理时崩溃ACL 上下文并发访问问题每个线程初始化自己的 ACL context或使用锁保护执行流程这个表不是一个万能药但它覆盖了 80% 的入门问题。我特别想强调一点排查的时候先把 AIPP 禁掉用纯 PyTorch 或者 CPU 推理验证一遍模型本身的输出是否正常再用昇腾卡。如果 CPU 推理结果对、卡上结果错那问题多半在 AIPP 配置或者数据搬运上如果 CPU 推理结果也不对那就是模型导出或输入预处理本身的问题。这样一步步二分定位比盯着报错日志瞎猜高效得多。4.3 性能调优的正确姿势先看瓶颈在哪个环节见到很多新手上手 300V第一件事就是对着 FPS 发愁总想着调 ATC 参数、换模型结构。说实话性能优化是有套路的顺序很重要先看资源利用率用npu-smi info监视 AI Core 的利用率可以加-t参数或 watch 刷新。如果利用率不到 50%说明模型没有把卡喂饱瓶颈可能在数据加载、图像解码、host-device 拷贝或者 CPU 后处理上。这时候去优化解码流程用硬件解码昇腾的 DVPP 模块可以做视频解码缩放比调模型参数效果好得多。再调 batch size在显存允许范围内把 batch 从 1 提到 4、8、16看吞吐是否线性增长。如果增长不明显说明模型算子的并行效率或者数据搬运已经成为瓶颈。最后才考虑图优化比如用 ATC 开启更高级的图融合或者把一些耗时算子替换成更高效的实现。这些手段有时候能提升 10%~20%但远不如解决数据流瓶颈带来的收益大。我后来做多路视频流最核心的优化其实是把解码、缩放、颜色转换都放到了昇腾的 DVPP 模块里完成。这样 CPU 几乎不做图像处理只负责拉流和 NMS整条 pipeline 的吞吐一下子就上来了。如果你只是简单地把图像用 OpenCV 读进来再传给卡那 CPU 很快就成了瓶颈24G 的显存和强推理算力都被浪费了。4.4 关于“是不是算子越少越好”的一个误区不少人在接触 ATC 转换时会以为算子数越少模型跑得越快。这个想法有点想当然了。ATC 的图优化确实会做算子融合把一些小的算子合并成大算子减少 kernel launch 的开销。但最终的推理速度取决于每个算子在 AI Core 上的执行效率以及算子之间的并行度。如果过度的融合导致某些大算子内部的调度不均衡反而可能变慢。所以不要执着于对比转换前后的算子数量直接实测不同配置下的端到端 FPS这才是硬指标。另外我还见过一种情况有人为了让模型转成功把某些算子强制拆分成 CPU 算子算子下沉失败后自动落到 Host CPU 上执行结果模型能跑了但性能一落千丈。这种情况下你真正要做的是修改网络结构避开不支持的算子而不是强行让它在 CPU 和 NPU 之间反复切换。如果你遇到转换时报“算子不支持”这种问题我的建议是直接用官方支持的预训练模型结构或者修改模型头而不是盲目加--op_type_list之类的补救措施。5. 写在最后我的几点真实感想Atlas 300V 24G 到底值不值得买我觉得完全取决于你的使用场景和预期管理。如果你手里已经有一套 PyTorch 训练流程想在边缘或服务器端做低功耗、高吞吐的推理而且愿意为昇腾生态花一两个星期适应工具链那这块卡真的能给你惊喜。它的 24G 大显存、优秀的能耗比、多路并发能力在同价位确实有竞争力。部署 YOLO 模型这条路走通之后就是一条稳定的生产线不存在很多同学担心的“跑不起来”的问题。但如果你只是想在本地快速做实验、跑个 demo、跟 CUDA 生态无缝切换那我建议你先别买 Atlas老老实实买一块带 CUDA 的 GPU 会省心很多。昇腾的工具链和生态现阶段跟英伟达的成熟度比确实还有差距。这不是说它不行而是说它更适合那些“愿意折腾、追求长期成本优化、业务是持续推理”的团队。最后再分享一个小技巧在你决定用 Atlas 300V 部署之前先把昇腾官方的 ModelZoo 里跑一个现成的 YOLO 样例完整走一遍环境安装、模型转换、推理验证的流程。这个流程如果能在一小时内跑通说明你的环境是健康的如果半路卡住了大概率是版本匹配问题。把这个基础打好了后面替换成自己的模型权重基本就是一马平川的事了。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Meteor 工具链跨平台文件系统抽象:深入解析 tools/fs 模块与文件监听 WatchSet 2026/9/20 10:51:59

Meteor 工具链跨平台文件系统抽象:深入解析 tools/fs 模块与文件监听 WatchSet

Meteor 工具链跨平台文件系统抽象:深入解析 tools/fs 模块与文件监听 WatchSet 【免费下载链接】meteor Meteor, the JavaScript App Platform 项目地址: https://gitcode.com/gh_mirrors/me/meteor 本篇技术指南围绕 Meteor 仓库中 tools/fs 模块展开&#…

阅读更多 →
Rocky Linux 9.7迁移实战:从CentOS到网络配置全指南 2026/9/20 10:51:59

Rocky Linux 9.7迁移实战:从CentOS到网络配置全指南

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

阅读更多 →
GitHub热榜观察与国内开发者实用指南:从访问加速到项目评估 2026/9/20 10:51:59

GitHub热榜观察与国内开发者实用指南:从访问加速到项目评估

最近几个月,我每天打开 GitHub 热榜的次数,比打开朋友圈还勤。这个习惯从 2023 年 AI 应用爆发那阵子养成的,一直保留到现在。GitHub 热榜基本就是全球开发者用代码投票出来的“流行风向标”,你不需要读论文、刷资讯,只…

阅读更多 →
uni-app x UTS 内置对象 Float32Array 完全指南:构造、静态 API 与实例方法实战 2026/9/20 10:51:59

uni-app x UTS 内置对象 Float32Array 完全指南:构造、静态 API 与实例方法实战

uni-app x UTS 内置对象 Float32Array 完全指南:构造、静态 API 与实例方法实战 【免费下载链接】uni-app A cross-platform framework using Vue.js 项目地址: https://gitcode.com/gh_mirrors/un/uni-app Float32Array 是 UTS(uni type script&…

阅读更多 →
CANN ops-nn ApplyAdamD 算子 ST 精度测试指南:基于 ATK kernel 后端的单算子真机验证 2026/9/20 10:51:59

CANN ops-nn ApplyAdamD 算子 ST 精度测试指南:基于 ATK kernel 后端的单算子真机验证

人工智能算子库深度学习CANNAscend 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 点击查看 免费下载 本指南围绕 experimental/optim/apply_adam_d 下 ATK&am…

阅读更多 →
PCB设计本质:从电路图到电磁物理系统的认知跃迁 2026/9/20 10:48:58

PCB设计本质:从电路图到电磁物理系统的认知跃迁

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

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞