开放量子系统:从理论到实践的噪声建模与量子算法优化
量子计算正在从实验室走向现实应用但很多开发者第一次接触量子编程时都会遇到一个关键问题为什么我的量子算法在模拟器上运行完美一到真实硬件就表现不稳定这个问题的答案就藏在开放量子系统这个概念中。传统量子计算教学往往聚焦于理想的封闭系统但现实世界的量子设备永远处于开放环境中受到噪声、退相干和各种环境干扰的影响。理解开放量子系统不仅是量子误差校正的基础更是设计实用量子算法的关键。本文将带你从开发者视角深入开放量子系统提供完整的数学框架、代码实现和工程实践指南。1. 开放量子系统要解决的核心问题在理想情况下量子系统是封闭的遵循薛定谔方程的幺正演化。但真实世界的量子计算机更像是一台在嘈杂环境中运行的精密仪器。主要挑战来自三个方面退相干问题量子比特与环境的相互作用导致量子态随时间丢失相干性。对于需要长时间运行的量子算法这是致命的。比如Shor算法在127量子比特系统上如果退相干时间只有100微秒整个计算过程可能无法完成。噪声干扰温度波动、电磁干扰、控制脉冲误差等都会引入噪声。IBM Quantum Experience的用户经常发现同一段代码在不同时间运行结果有差异这就是噪声随时间变化的体现。控制精度限制实际量子门操作存在误差单量子门精度可能只有99.9%两量子门精度99%左右。这种误差在深量子电路中会累积放大。开放量子系统理论提供了描述这些效应的数学工具让我们能够量化分析真实量子设备的性能边界设计更鲁棒的量子算法。2. 从封闭系统到开放系统核心概念转变2.1 密度矩阵描述混合态的关键工具在封闭系统中我们用态矢量 $|\psi\rangle$ 描述纯态。但在开放系统中系统可能处于不同纯态的统计混合这时就需要密度矩阵$$\rho \sum_i p_i |\psi_i\rangle\langle\psi_i|$$其中 $p_i$ 是系统处于态 $|\psi_i\rangle$ 的概率。密度矩阵的迹 $Tr(\rho) 1$且对于纯态有 $Tr(\rho^2) 1$混合态 $Tr(\rho^2) 1$。import numpy as np from qutip import basis, ket2dm # 纯态 |0⟩ 的密度矩阵 psi_0 basis(2, 0) # |0⟩ rho_pure ket2dm(psi_0) print(纯态密度矩阵:) print(rho_pure) # 混合态50%概率 |0⟩50%概率 |1⟩ rho_mixed 0.5 * ket2dm(basis(2, 0)) 0.5 * ket2dm(basis(2, 1)) print(\n混合态密度矩阵:) print(rho_mixed) print(fTr(rho^2) {np.trace(rho_mixed**2):.3f}) # 应小于12.2 主方程开放系统动力学封闭系统演化由薛定谔方程描述开放系统则由Lindblad主方程描述$$\frac{d\rho}{dt} -\frac{i}{\hbar}[H, \rho] \sum_k \left( L_k\rho L_k^\dagger - \frac{1}{2}{L_k^\dagger L_k, \rho} \right)$$其中 $H$ 是系统哈密顿量$L_k$ 是Lindblad算符描述系统与环境的相互作用。3. 环境准备与工具链搭建3.1 Python环境配置开放量子系统模拟推荐使用QuTiPQuantum Toolbox in Python它专门为开放量子系统动力学设计。# 创建conda环境 conda create -n open-quantum python3.9 conda activate open-quantum # 安装核心依赖 pip install qutip numpy scipy matplotlib jupyter3.2 验证安装import qutip as qt import numpy as np print(fQuTiP版本: {qt.__version__}) # 测试基础功能 H qt.sigmax() # Pauli X矩阵 psi0 qt.basis(2, 0) # 初始态 |0⟩ times np.linspace(0, 10, 100) # 封闭系统演化 result qt.mesolve(H, psi0, times, [], []) print(封闭系统演化测试完成)4. 典型开放系统效应模拟4.1 振幅阻尼能量耗散过程振幅阻尼描述量子比特向低能级弛豫的过程如激发态|1⟩衰减到基态|0⟩。import matplotlib.pyplot as plt from qutip import sigmam, expect def simulate_amplitude_damping(): # 系统哈密顿量简单共振情况 H 0.5 * 2 * np.pi * qt.sigmax() # Rabi频率为1 # 初始态激发态 |1⟩ psi0 qt.basis(2, 1) # 振幅阻尼算符衰减率gamma0.1 gamma 0.1 L np.sqrt(gamma) * sigmam() # 下降算符 |1⟩⟨0| # 演化时间 times np.linspace(0, 20, 100) # 求解主方程 result qt.mesolve(H, psi0, times, [L], [qt.sigmaz(), qt.num(2)]) # 可视化结果 plt.figure(figsize(10, 6)) plt.plot(times, expect(qt.sigmaz(), result.states), b-, labelr$\langle\sigma_z\rangle$) plt.plot(times, expect(qt.num(2), result.states), r-, label激发态概率) plt.xlabel(时间) plt.ylabel(期望值) plt.legend() plt.title(振幅阻尼过程激发态衰减) plt.grid(True) plt.show() simulate_amplitude_damping()4.2 退相位相位信息丢失退相位不改变能级布居但破坏量子相干性是量子计算的主要误差来源。def simulate_dephasing(): # 相同的哈密顿量 H 0.5 * 2 * np.pi * qt.sigmax() # 初始态叠加态 (|0⟩ |1⟩)/√2 psi0 (qt.basis(2, 0) qt.basis(2, 1)).unit() # 退相位算符退相位率gamma0.2 gamma 0.2 L np.sqrt(gamma) * qt.sigmaz() / 2 times np.linspace(0, 10, 100) # 可观测量σx显示相干性衰减 result qt.mesolve(H, psi0, times, [L], [qt.sigmax(), qt.sigmaz()]) plt.figure(figsize(10, 6)) plt.plot(times, expect(qt.sigmax(), result.states), g-, labelr$\langle\sigma_x\rangle$) plt.plot(times, expect(qt.sigmaz(), result.states), purple, labelr$\langle\sigma_z\rangle$) plt.xlabel(时间) plt.ylabel(期望值) plt.legend() plt.title(退相位过程相干性衰减) plt.grid(True) plt.show() simulate_dephasing()5. 真实量子设备噪声建模5.1 T1和T2时间建模实际量子设备用T1能量弛豫时间和T2退相干时间表征噪声水平。def realistic_noise_model(T1, T2): 根据T1和T2时间构建噪声模型 T1: 振幅阻尼时间 T2: 退相干时间 # 计算相应的衰减率 gamma1 1.0 / T1 # 振幅阻尼率 gamma_phi 1.0 / T2 - 1.0 / (2 * T1) # 纯退相位率 # 构建Lindblad算符 L1 np.sqrt(gamma1) * qt.sigmam() # 振幅阻尼 L2 np.sqrt(gamma_phi) * qt.sigmaz() / 2 # 退相位 return [L1, L2] # 示例IBM量子设备典型参数微秒单位 T1 100.0 # 100微秒 T2 50.0 # 50微秒 noise_ops realistic_noise_model(T1, T2) print(构建的噪声算符:, noise_ops)5.2 含噪声量子门模拟def noisy_quantum_gate(gate_time50, T1100, T250): 模拟含噪声的量子门操作 # 门操作哈密顿量π脉冲实现X门 H_x np.pi / (2 * gate_time) * qt.sigmax() # 初始态 |0⟩ psi0 qt.basis(2, 0) # 噪声模型 noise_ops realistic_noise_model(T1, T2) # 演化时间序列纳秒单位 times np.linspace(0, gate_time, 100) # 含噪声演化 result qt.mesolve(H_x, psi0, times, noise_ops, [qt.sigmaz(), qt.sigmax()]) # 可视化门操作效果 plt.figure(figsize(12, 5)) plt.subplot(1, 2, 1) plt.plot(times, expect(qt.sigmaz(), result.states)) plt.xlabel(时间 (ns)) plt.ylabel(r$\langle\sigma_z\rangle$) plt.title(Z方向极化) plt.grid(True) plt.subplot(1, 2, 2) plt.plot(times, expect(qt.sigmax(), result.states)) plt.xlabel(时间 (ns)) plt.ylabel(r$\langle\sigma_x\rangle$) plt.title(X方向相干性) plt.grid(True) plt.tight_layout() plt.show() return result # 运行模拟 result noisy_quantum_gate()6. 量子纠错码基础6.1 三量子比特比特翻转码量子纠错是对抗开放系统效应的关键手段。最简单的例子是三量子比特比特翻转码。def bit_flip_code_simulation(): 模拟比特翻转码的编码、错误和解码过程 # 逻辑量子比特定义 # |0⟩_L |000⟩, |1⟩_L |111⟩ logical_0 qt.tensor(qt.basis(2,0), qt.basis(2,0), qt.basis(2,0)) logical_1 qt.tensor(qt.basis(2,1), qt.basis(2,1), qt.basis(2,1)) # 编码任意态 α|0⟩ β|1⟩ alpha, beta 1/np.sqrt(2), 1/np.sqrt(2) # 等权重叠加 encoded_state alpha * logical_0 beta * logical_1 print(f编码前保真度: {qt.fidelity(encoded_state, encoded_state):.6f}) # 模拟比特翻转错误第二个量子比特翻转 X_gate qt.sigmax() I qt.qeye(2) error_gate qt.tensor(I, X_gate, I) # 在第二个量子比特上作用X门 state_after_error error_gate * encoded_state # 纠错过程需要实际实现综合征测量和纠正 # 这里简化演示概念 corrected_state qt.tensor(I, X_gate, I) * state_after_error # 再次翻转纠正 fidelity qt.fidelity(encoded_state, corrected_state) print(f纠错后保真度: {fidelity:.6f}) return fidelity bit_flip_code_simulation()7. 开放系统下的量子算法性能分析7.1 含噪声Deutsch-Jozsa算法Deutsch-Jozsa算法是展示量子优势的经典例子我们分析噪声如何影响其性能。def noisy_deutsch_jozsa(oracle_type, noise_level0.05): 在噪声环境下运行Deutsch-Jozsa算法 n_qubits 3 # 2个工作量子比特 1个辅助量子比特 H qt.qeye(2) X qt.sigmax() Z qt.sigmaz() # 构建量子门 hadamard_n qt.tensor([qt.hadamard_transform()] * n_qubits) # 根据oracle类型构建Oracle if oracle_type constant: # 常数Oracle什么都不做或全部翻转 oracle qt.tensor([X] [H] * (n_qubits-1)) # 简化示例 else: # balanced # 平衡OracleCNOT门的组合 oracle qt.cnot(n_qubits, 0, 1) # 简化示例 # 噪声算符 noise_ops [np.sqrt(noise_level) * qt.sigmaz() for _ in range(n_qubits)] # 初始态 |0⟩^n psi0 qt.tensor([qt.basis(2,0) for _ in range(n_qubits)]) # 算法步骤 times [0, 1, 2, 3] # 离散时间点 # 第一步Hadamard门 result1 qt.mesolve(hadamard_n, psi0, [0, 1], noise_ops, []) psi_after_h result1.states[-1] # 第二步Oracle result2 qt.mesolve(oracle, psi_after_h, [1, 2], noise_ops, []) psi_after_oracle result2.states[-1] # 第三步再次Hadamard result3 qt.mesolve(hadamard_n, psi_after_oracle, [2, 3], noise_ops, []) final_state result3.states[-1] # 测量第一个量子比特 measure_op qt.tensor(qt.sigmaz(), qt.qeye(2), qt.qeye(2)) expectation qt.expect(measure_op, final_state) return expectation # 测试不同噪声水平下的算法性能 noise_levels [0.01, 0.05, 0.1, 0.2] results [] for noise in noise_levels: result_const noisy_deutsch_jozsa(constant, noise) result_bal noisy_deutsch_jozsa(balanced, noise) results.append((noise, result_const, result_bal)) print(噪声水平对Deutsch-Jozsa算法的影响:) for noise, const, bal in results: print(f噪声{noise:.2f}: 常数Oracle{const:.3f}, 平衡Oracle{bal:.3f})8. 工程实践与性能优化8.1 量子模拟的性能优化技巧大规模开放系统模拟计算量很大需要优化策略。def optimized_simulation(): 展示量子模拟的优化技巧 # 技巧1使用稀疏矩阵 from qutip import spre, spost, liouvillian H qt.sigmax() L qt.sigmam() # 构建Liouvillian超算符更高效的开放系统描述 L_liouvillian liouvillian(H, [L]) # 技巧2选择合适的求解器 rho0 qt.fock_dm(2, 0) # 密度矩阵初始态 times np.linspace(0, 10, 50) # 对于大系统使用mesolve的mc选项进行蒙特卡洛轨迹模拟 options qt.Options(nsteps10000, store_statesTrue) result qt.mesolve(H, rho0, times, [L], [], optionsoptions) # 技巧3并行计算多个参数 gamma_values [0.1, 0.2, 0.3, 0.4] def simulate_for_gamma(gamma): L_gamma np.sqrt(gamma) * qt.sigmam() return qt.mesolve(H, rho0, times, [L_gamma], [qt.sigmaz()]) # 可以在这里使用并行计算实际项目中 results [simulate_for_gamma(gamma) for gamma in gamma_values] return results # 内存使用监控 import psutil def monitor_memory_usage(): process psutil.Process() return process.memory_info().rss / 1024 / 1024 # MB print(f当前内存使用: {monitor_memory_usage():.2f} MB)8.2 真实设备接口示例def real_device_interface_example(): 演示如何与实际量子计算平台接口 # 这里以伪代码形式展示典型工作流程 真实项目中的步骤 1. 从量子计算平台获取设备参数 device_params get_device_calibration(ibm_cairo) T1 device_params[T1] T2 device_params[T2] 2. 基于真实参数构建噪声模型 noise_model build_noise_model(T1, T2, gate_times) 3. 在模拟器中测试算法 simulated_result simulate_with_noise(quantum_circuit, noise_model) 4. 提交到真实设备 job_id submit_to_device(quantum_circuit, ibm_cairo) 5. 比较结果 real_result get_job_result(job_id) compare_results(simulated_result, real_result) print(真实设备接口需要具体的量子计算平台SDK) print(推荐平台: IBM Quantum, Rigetti, IonQ等) real_device_interface_example()9. 常见问题与解决方案9.1 数值稳定性问题开放系统模拟容易出现数值不稳定特别是长时间演化。问题现象可能原因解决方案密度矩阵迹不为1数值误差累积使用qt.vector_to_operator(qt.operator_to_vector(rho).unit())重新归一化负本征值数值精度问题使用rho 0.5*(rho rho.dag())确保厄米性内存溢出系统规模太大使用稀疏矩阵分块计算增加内存def ensure_numerical_stability(rho): 确保密度矩阵的数值稳定性 # 检查并修复迹 if abs(rho.tr() - 1.0) 1e-10: rho rho / rho.tr() # 确保厄米性 rho 0.5 * (rho rho.dag()) # 检查正定性简单版本 eigvals rho.eigenenergies() if min(eigvals) -1e-10: # 需要更复杂的正定化处理 pass return rho9.2 模型选择指南不同物理系统需要不同的开放系统模型超导量子比特主要考虑振幅阻尼和退相位适合Lindblad主方程。离子阱系统需要考虑集体退相干和激光噪声可能需要更复杂的模型。拓扑量子计算对环境干扰更鲁棒但需要特殊的错误模型。10. 最佳实践总结从简单模型开始先理解单量子比特开放系统再扩展到多体系统。参数真实性使用真实量子设备的T1、T2时间参数进行模拟。验证极限情况检查无噪声极限下模型是否回归到封闭系统行为。内存管理对于大系统使用稀疏矩阵和分块计算策略。结果验证通过保真度、纯度等指标量化开放系统效应。与实际设备对比定期将模拟结果与真实量子计算机结果对比校准。开放量子系统理论为理解和设计实用量子计算系统提供了关键工具。通过本文的数学框架和代码实践你应该能够开始构建更真实的量子算法模拟为未来量子计算应用开发奠定基础。建议将本文代码保存为Jupyter笔记本逐步实验不同参数下的开放系统行为。在实际量子项目开发中这些技术将帮助你预测算法在真实设备上的表现优化量子错误校正策略最终推动量子计算从理论走向实践。

相关新闻

手持风扇21700电芯改装:从续航焦虑到性能飞跃的实践指南

手持风扇21700电芯改装:从续航焦虑到性能飞跃的实践指南

那天下午,我盯着桌上那个号称“续航强劲”的便携风扇,它又在最关键的时刻罢工了。这已经是本周第三次——不是风量逐渐衰减,而是直接断电关机,留下我在闷热的房间里无奈苦笑。市面上大多数手持风扇,标称容量动辄几千毫…

2026/10/12 19:43:15 阅读更多 →
《黄帝内经》032章丨水谷精气 生命存续

《黄帝内经》032章丨水谷精气 生命存续

摘要:本文注解《灵枢平人绝谷第三十二》,承接前篇《肠胃》的脏腑形态认知,从运化功能层面拆解人体后天生命的底层逻辑。本篇核心解答健康常人断绝饮食七日而亡的根本原因:水谷化生的精气与津液,是维持周身脉络运转、滋…

2026/10/5 0:01:55 阅读更多 →
英伟达Vera CPU如何通过专用架构加速EDA芯片设计流程

英伟达Vera CPU如何通过专用架构加速EDA芯片设计流程

如果你是一名芯片设计工程师,最近可能已经感受到了行业的变化:传统的 EDA 工具链在应对 3nm、2nm 甚至更先进工艺时,仿真和验证环节的时间成本正成为项目进度的瓶颈。而就在这个关键节点,英伟达宣布用自研的 Vera CPU 加速下一代芯…

2026/10/13 16:51:24 阅读更多 →

最新新闻

2020年VM Pro16.1.0注册、安装以及使用教程

2020年VM Pro16.1.0注册、安装以及使用教程

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

2026/10/14 1:45:13 阅读更多 →
PCL 半径滤波器【2026最新版】

PCL 半径滤波器【2026最新版】

半径滤波器 一、算法原理 1、原理概述 2、实现流程 3、算法特点 4、参考文献 二、代码实现 三、结果展示 四、相关链接 博客长期更新,本文最新更新时间为:2026年10月13日。 一、算法原理 1、原理概述 半径滤波器的滤波思想非常直接,就是在点云数据中,设定每个点一定半径范…

2026/10/14 1:45:13 阅读更多 →
GPRMC 格式

GPRMC 格式

大论文中英文文献混排!!!其实不用在endnote里面加editor list 了 每次参加论文答辩,我几乎都会听到参考文献格式方面的问题。自己整理论文时也常遇到类似的麻烦,尤其是下面两类: **中英文作者格式混在一起…

2026/10/14 1:45:13 阅读更多 →
Qemu在ARM和X86平台上的运行机制初探

Qemu在ARM和X86平台上的运行机制初探

QEMU JIT/KVM QEMU 采用了动态二进制翻译(Dynamic Binary Translation)机制,以一种中间代码作为中介,将客户机架构的机器码运行时翻译(Just-In-Time,JIT)为宿主机架构的机器码形式,并将翻译结果交由宿主机的处理器直接执行。因而 QEMU 在不同的体系架构下也具有不错的…

2026/10/14 1:45:13 阅读更多 →
MAC常用命令记录

MAC常用命令记录

----------------Mac相关-----------------创建目录 mkdir tmp-打开目录 cd ./tmp-使用访达打开目录 open ./tmp-创建文件 touch xxxx.txt-查看目录文件 ls -al 注: -a 显示隐藏;-l 显示文件信息-查看当前进程 ps -a 注: -a 当前用户全部;-A 全部用户…

2026/10/14 1:45:13 阅读更多 →
基于RT-Thread的贪吃蛇与俄罗斯方块:RTOS多线程与LCD渲染实战

基于RT-Thread的贪吃蛇与俄罗斯方块:RTOS多线程与LCD渲染实战

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

2026/10/14 1:44:13 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →