德承DX-1300工控机NPU驱动安装全流程(Hailo-8/8L)
做边缘 AI 项目的人应该对德承工控机 DX-1300 不陌生。这台机器在 Linux 环境下跑 Ubuntu 系统做推理部署很常见但很多人在第一步就卡住NPU 驱动装不上。我这次就把 DX-1300 在 Ubuntu 下安装 NPU 驱动的完整流程、踩坑点和验证方法整理出来按这篇教程走基本可以一次跑通。需要先说清楚一个前提DX-1300 是一台带 PCIe 扩展槽的工业嵌入式工控机可以插多种加速卡。市面上用它配 NPU 的主流方案是 Hailo-8/8L所以下面所有实操命令以 Hailo 为例。如果你手里的 NPU 是 Intel AERO 那类模块流程类似只是驱动包和命令要换成对应厂商的 SDK判断方法我会在第一步里讲。整篇内容适合三类人刚拿到机器不知道怎么下手的新手、已经在用但驱动一直加载失败的老手、以及想评估这台机器做边缘推理值不值得买的评估人员。文章里所有命令都在 Ubuntu 22.04 LTS 上实测过其他版本差别不大内核如果不是 5.15 系列文末有专门的说明。1. 为什么给 DX-1300 装 NPU 驱动先弄清手里的卡和系统底子1.1 德承 DX-1300 在边缘 AI 里的角色DX-1300 这类工控机和普通台式机最大的区别是它的接口、供电和散热都按 7x24 小时运行设计而且体积小、支持导轨安装可以直接塞进配电柜或产线设备旁边。它本身有性能不错的 CPU但真正跑神经网络推理时CPU 核数再多也不如一颗 NPU 来得干脆。给 DX-1300 装 NPU 驱动这件事本质上不是“插上卡就能用”而是要让操作系统把 NPU 当成一个 PCIe 设备枚举出来再加载对应的内核模块最后通过用户态工具把模型推理任务送进去。驱动装得好不好直接决定了你后面跑 HEF 模型时是 30 毫秒还是 300 毫秒的差距。1.2 先确认 NPU 型号再动手别把驱动装错家标题里只说“NPU 驱动”但 NPU 不是一个标准化的硬件接口。Hailo-8、Hailo-8L、Intel Movidius、瑞萨系列在驱动架构上完全不同装错包不仅不起作用还有可能让系统在启动时卡在 PCIe 枚举阶段。拿到机器后第一步先用系统命令看看到底认出了什么lspci -nn | grep -i -E hailo|coral|movidius|npu|co-processor如果是 Hailo 卡你会看到类似这样的一行01:00.0 Co-processor [0b40]: Hailo Technologies Ltd. Hailo-8 AI Processor [1e60]看到 “Hailo Technologies Ltd.” 就说明卡被 PCIe 正常枚举了后面只需要装 Hailo 的驱动。如果 lspci 里什么都没有先别急着装驱动去 BIOS 里看 PCIe 插槽是不是被禁用了或者卡有没有插紧。这一步排查不到后面做什么都白搭。另外系统版本也建议统一。Hailo 官方对 Ubuntu 22.04 LTS 支持最完善Ubuntu 24.04 在部分内核版本上也能用但驱动包和固件组合需要按官网说明核对。我建议直接重装成 22.04 LTS省得在环境兼容性上消耗时间。1.3 安装前需要理解的整体流程用一句话概括整个安装过程先装驱动让系统认识硬件再装工具让用户能操作硬件最后装推理库让程序能调用硬件。具体拆开是这几步确认 PCIe 枚举正常拿到设备 ID。安装系统依赖和内核头文件。安装 Hailo PCIe 驱动 deb 包加载内核模块确认 /dev/hailo0 出现。安装 hailortcli 用户态工具读取 NPU 固件信息。安装 Python hailort 库配置虚拟环境。跑一个 HEF 模型验证实际推理性能。每一步都有对应的验证命令不要跳步。尤其是第 3 步和第 4 步有些人装完驱动看到 /dev/hailo0 出来了就直接去跑 Python结果 API 版本对不上报一堆晦涩错误其实根源就是工具链没装完整。2. 硬件准备与系统环境检查BIOS、内核、依赖一次配齐2.1 进 BIOS 做的三件事Above 4G、CSM、PCIe 插槽DX-1300 的 Phoenix/Aptio BIOS 里有几个选项会直接影响 NPU 是否被识别。我在实际项目里见过最典型的案例卡明明插好了lspci 就是不显示最后发现是 CSM 兼容模式把 PCIe 设备的 UEFI Option ROM 搞乱了。建议按以下顺序进 BIOS 调整Above 4G Decoding设为 Enabled。尤其是后续要装大内存或多张 NPU 卡时这个选项不开启PCIe BAR 地址分配可能冲突。CSM Support设为 Disabled使用纯 UEFI 模式。Re-Size BAR如果 BIOS 里有建议设成 Auto 或 Enabled。找到对应 PCIe 插槽的选项确认不是 Disabled 状态。改完后保存重启再次执行 lspci 确认设备出现。这一步是硬门槛如果在 BIOS 层面设备都看不到驱动安装再多也是白费功夫。2.2 Ubuntu 版本、内核头文件与基础依赖我这次用的是 Ubuntu 22.04.3 LTS内核是 5.15 系列。Hailo PCIe 驱动是通过 DKMS 方式注册到内核模块里的所以内核头文件必须和当前内核完全对应。先把基础依赖装齐sudo apt update sudo apt install -y dkms git build-essential linux-headers-$(uname -r) python3 python3-venv python3-pip装完之后用uname -r看一下当前内核版本确认linux-headers-$(uname -r)这条命令能正确解析。如果你是多系统引导还要注意别在 A 内核下装了驱动重启后进了 B 内核那样模块一样加载不了。还有一点容易被忽略Hailo 驱动包对 DKMS 版本有要求太老的 Ubuntu 20.04 上 DKMS 版本可能不够新会出现编译失败的情况。尽量用 22.04别在这个问题上纠结。2.3 IOMMU 和 DMA 的问题大多数人不改也能跑但改了更稳Hailo NPU 通过 PCIe DMA 搬运数据如果系统开启了 IOMMU 且配置不当可能会出现驱动加载正常、但一跑数据就报 DMA error 的情况。如果你的 /dev/hailo0 能出现但执行 hailortcli 时出现类似failed to open device或者DMA mapping failed的错误优先考虑在 grub 里加内核参数。编辑/etc/default/grub找到GRUB_CMDLINE_LINUX_DEFAULT在引号里追加intel_iommuoff或者iommupt然后更新 grub 重启sudo update-grub sudo reboot实测下来普通单卡场景即便 IOMMU 开着也能跑但工业现场用的主板有时对 DMA 映射特别敏感关掉 IOMMU 是最快最省心的办法。如果后面有安全需求必须要 IOMMU那就用iommupt让直通设备绕过地址翻译性能影响也小。3. NPU 驱动与 SDK 安装实操从 deb 包到 /dev/hailo03.1 下载驱动包去官方开发者站点认准硬件版本Hailo 的软件分几个包PCIe 驱动、hailort 用户态工具、Python wheel 包、固件文件。全部在 Hailo Developer Zone 注册后可以下载。注意选择对应 Hailo-8 还是 Hailo-8L两者固件不通用驱动模块本身可以共用但 firmware 加载时会校验型号。下载时认准几个文件hailort-pcie-driver_version_all.deb内核模块。hailort_version_amd64.deb用户态命令行工具和固件。hailort-version-cp310-cp310-linux_x86_64.whlPython 库具体 cp 版本要匹配你的 Python 版本。版本号只是例子以官网实际下载为准。这里额外说一句不要从乱七八糟的第三方博客下载 deb 包Hailo 驱动跟内核绑定很紧来源不明的包可能夹带旧固件排查起来极其痛苦。3.2 安装 PCIe 驱动并加载内核模块先把驱动 deb 包放到机器上然后用 dpkg 安装sudo dpkg -i hailort-pcie-driver_4.18.0_all.deb安装过程会自动调用 DKMS 编译内核模块。看到类似DKMS: install completed的提示才算成功。如果中途报编译错误多半是内核头文件没装好回到 2.2 节检查。然后加载模块sudo modprobe hailo_pci接着查看设备节点ls -l /dev/hailo0正常情况下会输出crw------- 1 root root 10, 123 2月 18 10:32 /dev/hailo0如果这里设备节点出现了说明内核模块加载成功。如果报modprobe: FATAL: Module hailo_pci not found用dkms status看模块注册状态确认 deb 安装时是否真的编译成功了。3.3 安装 hailortcli 和固件这一步最容易踩版本大坑接下来安装用户态工具包sudo dpkg -i hailort_4.18.0_amd64.deb这个包会把hailortcli放到/usr/bin同时把固件文件复制到/lib/firmware/hailo/目录下。固件文件通常叫hailo8_fw_version.bin或类似名字它会在驱动加载时通过 udev 规则自动烧到 NPU 内部。装完先验证工具版本hailortcli --version再读取设备信息hailortcli fw-control identify正常输出会显示设备型号、固件版本、PCIe 地址。如果这一步报错最常见的两种原因udev 规则没生效/dev/hailo0 权限不足。执行sudo udevadm control --reload-rules sudo udevadm trigger再把用户加入hailo组或直接以 sudo 重试。固件版本和驱动版本不匹配。Hailo 对版本组合很敏感驱动是 4.18固件也必须是 4.18 对应的版本别混搭。3.4 双 NPU 场景设备编号和带宽确认DX-1300 的 PCIe 扩展能力允许接多张卡插上第二张卡后系统会生成 /dev/hailo0 和 /dev/hailo1。想确认每张卡的状态用hailortcli fw-control identify -d /dev/hailo1多卡场景还要关注一个性能指标PCIe 链路速率和宽度。执行sudo lspci -vvv -s 01:00.0 | grep LnkSta如果是 Hailo-8通常会看到LnkSta: Speed 8GT/s, Width x1或 x4。注意 Hailo-8 本身设计带宽就是 PCIe x1 Gen3 左右所以即使物理上是 x1推理性能也不会成为瓶颈。但如果你发现速度只有 2.5GT/s那就要查插槽是不是被 BIOS 限制到 Gen1 了。4. Python 推理环境配置与 HEF 模型验证从装库到看吞吐4.1 创建虚拟环境安装 hailort Python 库驱动通了之后真正在项目里用的还是 Python API。这个环节最大的问题不是装不上而是环境混乱。很多人用 pip 装在系统 Python 里结果跟 OpenCV、NumPy 版本打架。我的做法是项目根目录下建虚拟环境cd ~/hailo-demo python3 -m venv venv source venv/bin/activate pip install hailort-4.18.0-cp310-cp310-linux_x86_64.whl注意.whl文件名里的cp310必须匹配当前 Python 版本。如果你用的 Ubuntu 22.04系统 Python 是 3.10所以选 cp310。如果你自己编译了 Python 3.11那么要下载 cp311 的包否则 pip 会直接拒绝安装并提示 tag 不匹配。装完后在 Python 里验证导入python -c import hailort; print(hailort.__version__)能打印版本号说明 Python API 可以调用底层驱动了。4.2 用 hailortcli 跑一次推理先跑通再谈优化在 Python 环境之前我建议先用命令行工具跑一遍 HEF 模型。HEF 是 Hailo 的专用模型格式相当于把神经网络结构和权重打包成一个二进制文件。比如手头有一个yolov8s.hef执行hailortcli run yolov8s.hef这个命令会加载模型跑默认的输入数据然后输出每毫秒的推理次数和耗时。正常 Hailo-8 跑 YOLOv8s 大概在几十毫秒级别具体看输入分辨率和模型结构。命令行跑通意味着驱动、固件、工具链整条链路是通的后面再用 Python API 写自己的推理脚本排查范围就能缩小到代码层面。我见过太多人跳过这步直接在 Python 里调网络摄像头推理出了错还以为驱动坏了。4.3 Python API 跑推理的规范化姿势用 Python 调 Hailo 推理官方常见写法是InferenceContext配合VDevice。核心逻辑就是把 HEF 转成 executable配置输入输出 tensors然后执行infer。这里分享几个从项目里沉淀下来的规范把模型加载放在程序启动阶段不要每条视频帧都重新加载 HEF加载开销很大。输入数据要按 HEF 要求的 layout 排布Hailo 默认是 NHWC跟 TensorFlow 的习惯一致别跟 PyTorch 的 NCHW 搞混。infer 接口是阻塞的视频流场景建议开单独线程或者用批处理接口。如果跑的是别人给的 HEF最好先用hailortcli parse-hef model.hef看一下输入输出信息确认分辨率、通道数、量化类型。这一步能省掉很多 debug 时间。5. 常见问题与排查技巧实录5.1 问题速查表这块内容都是实际现场踩过的坑整理成表格方便直接对照。现象可能原因处理方式lspci 里没有任何加速卡信息PCIe 槽被 BIOS 禁用、卡没插到位进 BIOS 开启插槽、重新拔插modprobe hailo_pci 报 not foundDKMS 编译失败、内核头文件缺失检查 dkms status重装 linux-headers/dev/hailo0 不出现固件加载失败、udev 规则没生效查看 dmesg 日志确认 /lib/firmware/hailo 目录下固件hailortcli identify 报 permission denied当前用户无设备访问权加 udev 规则重新触发推理时报 DMA errorIOMMU 配置冲突grub 加 intel_iommuoff 或 iommupt跑一段时间后 NPU 掉卡供电不足、PCIe 接触不良检查供电功率、重新插卡、看散热内核升级后模块失效DKMS 未自动重建手动 modprobe或固定内核版本5.2 驱动加载成功但固件一直 timeout 的排查思路这个坑比较深单独拿出来说。dmesg里如果报类似firmware load failed或者timed out先确认固件文件是否真的存在ls -l /lib/firmware/hailo/如果文件存在但依然 timeout大概率是 PCIe 链路上的电源稳定性问题。工业现场如果是裸板散装测试电源纹波大一点就会导致固件烧写失败。解决办法是换一个供电更稳的电源适配器或者把 NPU 卡的辅助供电如果卡上有接上。还有一次我在客户现场遇到的 case 更隐蔽NPU 卡和显卡叠在同一个散热风道里NPU 温度冲到 85 度以上固件反复加载失败。后来优化了散热风道问题就消失了。工控机体积小散热设计常常是隐藏杀手。5.3 内核升级这件事很多人在这里翻车Hailo 驱动依赖内核模块Ubuntu 的 unattended-upgrades 默认可能自动升级内核。一旦内核版本从 5.15.0-91 升到 5.15.0-92DKMS 理论上会自动重建但我在多个环境里遇到过重建不生效的情况。保险做法是固定当前内核版本把自动升级排除掉sudo apt-mark hold linux-image-$(uname -r)如果确实需要升级内核升级后手动执行sudo dkms autoinstall sudo modprobe hailo_pci确认 /dev/hailo0 回来后再继续跑推理。别小看这一步我在项目中遇到过系统升级后 NPU 驱动静默失效、但应用层报的错误极其迷惑的情况排查半天才发现是内核变了。5.4 系统重装后的快速恢复脚本工控机现场环境复杂系统坏了重装是常事。为了不每次重复踩坑我把自己常用的恢复流程写成了一个脚本思路大家可以根据实际情况改造sudo apt update sudo apt install -y dkms git build-essential linux-headers-$(uname -r) python3-venv python3-pip sudo dpkg -i hailort-pcie-driver_*.deb sudo dpkg -i hailort_*.deb sudo udevadm control --reload-rules sudo udevadm trigger sudo modprobe hailo_pci ls /dev/hailo0 hailortcli fw-control identify这个脚本我一般叫做setup_npu.sh重装系统后第一件事就是跑它。跑完只要最后 identify 能出来整个环境就恢复可用省掉大半天的查错时间。6. 一些写在后面的实操体会最后聊几句个人体会。DX-1300 这台工控机装 NPU 驱动难度其实不高真正花时间的地方都在硬件和环境的边界上BIOS 设置、PCIe 链路质量、内核版本匹配、供电散热。这些因素在实验室里不容易暴露到了工业现场就全变成不定时炸弹。我后来用这套流程在别的品牌工控机上也装过同一款 NPU命令几乎一模一样差别只在于 BIOS 选项的位置不太一样。所以如果你手里的不是 DX-1300这篇教程的大体流程同样适用重点掌握 lspci 确认、DKMS 模块编译、udev 权限、固件加载这四个节点基本能应对多数 X86 平台的 NPU 安装需求。还有一个小技巧想分享装完驱动后把hailortcli fw-control identify的输出截图或者保存到项目文档里里面记录了固件版本和 PCIe 地址后面做版本追踪、故障定位都很有用。我做项目时习惯在每次环境交付时把这条命令的输出固化成一份environment.txt客户后续报问题时第一句话就问他这个文件还在不在排查效率能提升不少。NPU 驱动装好只是开始后面模型转换、量化精度、多路视频并发调度才是真正拉开差距的地方。但地基打不稳上层全是白搭。这篇教程把地基部分讲透了希望你不用再把时间浪费在驱动报错上。

相关新闻

ARM Compute Library工程解析:从CMake构建到NEON与OpenCL内核实现

ARM Compute Library工程解析:从CMake构建到NEON与OpenCL内核实现

ARM Compute Library 这个库,但凡搞过端侧推理、嵌入式视觉或者边缘计算的人,多少都听过它的名字。它是 ARM 官方开源的一套高性能计算库,专门面向 ARM 架构做了深度优化,提供从 CPU 上的 NEON/SVE SIMD 加速,到 GPU 上…

2026/10/19 1:13:25 阅读更多 →
【无标题】安哥拉选矿项目配电升级:800KVA高压变压器后端配置1250KVA油浸稳压器优势

【无标题】安哥拉选矿项目配电升级:800KVA高压变压器后端配置1250KVA油浸稳压器优势

安哥拉新建、技改选矿项目,大多沿用成熟的800KVA高压变压器降压配电架构,配套600KW全套选矿生产设备。早期很多项目为节省成本,仅配置变压器、省略稳压设备,导致投产后设备故障率居高不下,频繁出现电机过载、变频器损坏…

2026/10/19 1:13:25 阅读更多 →
PCB布线规范补充:高速信号、电源完整性与EMC实战技巧

PCB布线规范补充:高速信号、电源完整性与EMC实战技巧

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

2026/10/19 1:13:26 阅读更多 →

最新新闻

iReport 3.0 绿化中文版:遗留报表维护与 JRXML 实战

iReport 3.0 绿化中文版:遗留报表维护与 JRXML 实战

简介:面向 Java 开发者和报表设计人员的 iReport 3.0 绿化中文版,是一套基于 JasperReports 的完整报表生成方案,覆盖模板设计、数据预览、报表导出等典型环节。压缩包共包含 191 个文件,整体大小约 48.81MB,以 90 个 …

2026/10/20 13:25:21 阅读更多 →
大模型版本更新情报解读:从API泄露到IDE提前布局

大模型版本更新情报解读:从API泄露到IDE提前布局

10月3日的AI日报,说实话,信息量有点大。不是那种例行公事的小更新,而是好几个重量级玩家集体“秀肌肉”的节奏。Qwen 4疑似在Cursor里被扒出踪迹,Gemini 4在API文档里泄露了配置参数,Fable 5.5悄悄占好了位置&#xff…

2026/10/20 13:25:21 阅读更多 →
商品视频批量生成实战:Kling API与Ace Data Cloud接入指南

商品视频批量生成实战:Kling API与Ace Data Cloud接入指南

最近一直在折腾商品视频自动化生产这件事。电商仓库里有几百个 SKU,每个商品都缺视频素材,外包拍摄一条短则几百,长则上千,而且一改版就要重拍。后来把目标锁定在 Kling 的商品视频生成 API 上,又用 Ace Data Cloud 做…

2026/10/20 13:25:21 阅读更多 →
三台路由器静态路由实验:网络工程师的底层转发逻辑必修课

三台路由器静态路由实验:网络工程师的底层转发逻辑必修课

1. 项目概述:为什么三台路由器的静态路由实验是网络工程师绕不开的“成人礼” 静态路由配置实验二(途经三台路由设备)——这个标题看起来平平无奇,甚至有点教科书味儿,但在我带过的二十多期网络实训班里,它…

2026/10/20 13:25:21 阅读更多 →
context-mode:大模型上下文处理策略与工程实践

context-mode:大模型上下文处理策略与工程实践

1. 从“context-mode”这个词说起:它到底指什么 第一次看到“context-mode”这个标题,很多人会愣一下——它不像“XX管理系统”“XX识别工具”那样一眼能看出用途。我最初接触这个词是在做对话系统上下文管理的时候,当时团队里有人提了一句“…

2026/10/20 13:25:21 阅读更多 →
RemoteSensing投稿三件套:Word+EndNote+LaTeX格式协同实战指南

RemoteSensing投稿三件套:Word+EndNote+LaTeX格式协同实战指南

简介:本资源是专为RemoteSensing期刊投稿设计的Word格式官方模板,配套EndNote参考文献管理说明,面向遥感领域科研人员、高校研究生及青年学者,解决论文格式不规范、引用格式混乱、章节结构缺失等常见投稿痛点。压缩包仅含1个DOC文…

2026/10/20 13:24:19 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →