Litmus 混沌工程实战:Azure 实例停止(azure-instance-stop)故障实验完全指南
云原生运维可观测性【免费下载链接】litmusLitmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q项目地址https://gitcode.com/gh_mirrors/li/litmus点击查看免费下载导读本指南以 Litmus 开源混沌工程平台中的azure-instance-stop实验为核心系统讲解如何对 Azure 虚拟机执行停止-恢复故障注入实验会在指定混沌时长内将 Azure 实例关机随后再将其恢复到运行状态用于验证应用/进程在底层实例意外宕机场景下的可用性与自愈能力。读完本文你将掌握该实验的认证配置azure.auth文件与 Kubernetes Secret、最小 RBAC 授权、全部可调参数Tunables的含义与默认值以及按实例名、按 Scale Set/AKS 节点、多轮迭代三种典型场景的 ChaosEngine 编排写法。实验概览与工作流程azure-instance-stop是 Litmus 面向 Azure 云资源的混沌实验之一其核心动作是将目标 Azure 实例VM执行 PowerOff停机操作在指定的混沌时长结束后再将实例恢复到 running 状态。该实验文档位于 azure-instance-stop.md同类实验还包括azure-disk-loss虚拟磁盘脱挂/重新挂载二者共享同一套 Azure 文件认证机制。从实验文档的流程示意图azure-instance-stop.png可以看出一次完整的实验执行包含以下阶段确定混沌目标实例Derive Azure instance under chaos根据AZURE_INSTANCE_NAMES、RESOURCE_GROUP、SCALE_SET输入解析出要操作的 Azure 实例停止实例Stop Azure instance调用 Azure SDK 对目标实例执行停机操作这是故障注入的触发点等待混沌间隔Wait for chaos interval实例保持停机状态观察应用在该状态下的行为启动实例Start Azure instance混沌间隔结束后恢复实例运行判断总时长是否结束Is chaos duration over若TOTAL_CHAOS_DURATION未耗尽则回到停止实例步骤进行下一轮注入若已耗尽则进入结果校验阶段探针评估与混沌后检查Probe evaluation post chaos check校验通过则VERDICT: PASS失败则VERDICT: FAIL结果落盘最终实验结论写入ChaosResult自定义资源C.RESULT并结束实验。图片说明azure-instance-stop 实验流程图展示了从用户输入实例详情与执行顺序到混沌执行停止→等待→启动→循环→探针校验的完整过程。用途与适用场景该实验的核心价值在于验证运行在 Azure 实例上的应用或进程在底层实例意外停机再恢复后的行为表现。典型验证点包括故障恢复能力实例重新启动后应用/进程是否能够自动恢复并重新提供服务依赖与数据面健壮性停机期间外部的流量、数据库连接、中间件依赖是否发生了超时、重连失败等问题云平台容错设计对于 AKSAzure Kubernetes Service集群验证节点级故障时工作负载的重新调度与集群自愈能力。实验文档指出若实例属于AKS 节点池其实例名应取自 Azure 中的Scale Set虚拟机规模集节点而非 AKS 节点池中的 node 名称——这一点在配置AZURE_INSTANCE_NAMES时极易踩坑务必留意。前置条件在运行azure-instance-stop实验之前需要逐一确认以下前置条件对应文档 azure-instance-stop.md 的 Prerequisites 章节1. Kubernetes 版本与 Chaos OperatorKubernetes 版本要求 1.16Litmus Chaos Operator 运行中在 operator 所在命名空间通常为litmus执行kubectl get pods确认相关 Pod 处于运行状态实验资源已安装在目标命名空间执行kubectl get chaosexperiments确认azure-instance-stop这个 ChaosExperiment CR 存在。若不存在可通过 ChaosHub 获取对应的 fault.yaml 清单进行安装。2. Azure 访问权限执行实验的账号必须具备对目标实例stop 和 start的足够 Azure 权限例如订阅级别的 Contributor 或 VM Contributor 角色。3. 基于文件的 Azure 认证File-based Authentication实验通过 Azure GO SDK 与实例通信采用文件认证file-based authentication方式。认证文件可用 Azure CLI 生成az ad sp create-for-rbac --sdk-auth azure.auth该命令会创建一个服务主体Service Principal并输出一个 JSON 格式的 SDK 认证文件。一个典型的azure.auth文件内容如下{ clientId: XXXXXXXXX, clientSecret: XXXXXXXXX, subscriptionId: XXXXXXXXX, tenantId: XXXXXXXXX, activeDirectoryEndpointUrl: XXXXXXXXX, resourceManagerEndpointUrl: XXXXXXXXX, activeDirectoryGraphResourceId: XXXXXXXXX, sqlManagementEndpointUrl: XXXXXXXXX, galleryEndpointUrl: XXXXXXXXX, managementEndpointUrl: XXXXXXXXX }4. 将认证文件以 Kubernetes Secret 形式注入认证文件必须存放在实验运行命名空间CHAOS_NAMESPACE的 Kubernetes Secret 中。示例 Secret 如下apiVersion: v1 kind: Secret metadata: name: cloud-secret type: Opaque stringData: azure.auth: |- { clientId: XXXXXXXXX, clientSecret: XXXXXXXXX, subscriptionId: XXXXXXXXX, tenantId: XXXXXXXXX, activeDirectoryEndpointUrl: XXXXXXXXX, resourceManagerEndpointUrl: XXXXXXXXX, activeDirectoryGraphResourceId: XXXXXXXXX, sqlManagementEndpointUrl: XXXXXXXXX, galleryEndpointUrl: XXXXXXXXX, managementEndpointUrl: XXXXXXXXX }关键注意点Secret 中的键名默认为azure.auth。若你自定义了键名例如改为my-auth.json则必须同步修改 ChaosExperiment 中AZURE_AUTH_LOCATION环境变量的值使其指向同一键名否则实验无法读取认证信息。5. 默认校验Default Validations实验启动时会执行默认健康校验目标 Azure 实例应处于健康running状态。若实例本身处于异常状态实验将不会继续注入。最小 RBAC 配置示例若你通过 ChaosCenter 构建并执行 Chaos Workflow可以直接复用 agent 安装时预置的litmus-adminRBAC仓库中对应清单为 litmus-admin-rbac.yaml。如需在目标应用命名空间单独创建最小权限的chaosServiceAccount可使用以下 RBAC 清单完整示例见文档--- apiVersion: v1 kind: ServiceAccount metadata: name: azure-instance-stop-sa namespace: default labels: name: azure-instance-stop-sa app.kubernetes.io/part-of: litmus --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: azure-instance-stop-sa labels: name: azure-instance-stop-sa app.kubernetes.io/part-of: litmus rules: # Create and monitor the experiment helper pods - apiGroups: [] resources: [pods] verbs: [create,delete,get,list,patch,update, deletecollection] # Performs CRUD operations on the events inside chaosengine and chaosresult - apiGroups: [] resources: [events] verbs: [create,get,list,patch,update] # Fetch configmaps secrets details and mount it to the experiment pod (if specified) - apiGroups: [] resources: [secrets,configmaps] verbs: [get,list,] # Track and get the runner, experiment, and helper pods log - apiGroups: [] resources: [pods/log] verbs: [get,list,watch] # for creating and managing to execute comands inside target container - apiGroups: [] resources: [pods/exec] verbs: [get,list,create] # for configuring and monitor the experiment job by the chaos-runner pod - apiGroups: [batch] resources: [jobs] verbs: [create,list,get,delete,deletecollection] # for creation, status polling and deletion of litmus chaos resources used within a chaos workflow - apiGroups: [litmuschaos.io] resources: [chaosengines,chaosexperiments,chaosresults] verbs: [create,list,get,patch,update,delete] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: azure-instance-stop-sa labels: name: azure-instance-stop-sa app.kubernetes.io/part-of: litmus roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: azure-instance-stop-sa subjects: - kind: ServiceAccount name: azure-instance-stop-sa namespace: default该清单由 ServiceAccount、ClusterRole、ClusterRoleBinding 三部分组成权限覆盖了实验 Pod 的创建与日志追踪pods、pods/log、pods/exec、events 的读写、secrets/configmaps 的读取以及 ChaosEngine/ChaosExperiment/ChaosResult 三类 litmuschaos.io 资源的全生命周期管理——这是执行该类云故障实验所需的最小权限集合。实验 Tunables可调参数azure-instance-stop的全部可调参数通过 ChaosEngine 的.spec.experiments[0].spec.components.env注入分为必填Mandatory与可选Optional两类。必填参数变量描述备注AZURE_INSTANCE_NAMES目标 Azure 实例的名称支持逗号分隔的多个实例名AKS 节点的实例名应取自 Azure 的 Scale Set 区域而非 AKS 节点池中的 node 名称RESOURCE_GROUP目标实例所属的资源组—可选参数变量描述备注SCALE_SET实例是否属于 Scale Set规模集取值enable/disable默认disableAKS 节点场景需设为enableTOTAL_CHAOS_DURATION混沌注入的总时长秒默认 30sCHAOS_INTERVAL相邻两次实例停机之间的间隔秒默认 30s用于多轮迭代SEQUENCE多实例时的混沌执行顺序默认parallel支持serial、parallelRAMP_TIME注入前后等待的缓冲时长秒可选无默认值说明按需设置通用 Tunables 补充说明除了上述实验专属参数所有 Litmus 实验还共享一组通用 Tunables详细说明与示例见 common-tunables-for-all-experiments.mdTOTAL_CHAOS_DURATION混沌注入总时长单位秒示例值60RAMP_TIME注入前后等待时间单位秒示例值10SEQUENCE多目标执行顺序parallel全部目标同时注入/serial逐个注入默认parallelLIB故障注入所用 chaos 库名称示例值litmusINSTANCE_ID用户自定义的标识串如04-05-2020-9-00会作为后缀追加到 ChaosResult CR 名称中便于区分多次运行LIB_IMAGEhelper Pod 使用的镜像适用于 container-kill、网络、压力等实验azure-instance-stop场景通常无需改动。实验示例场景一按实例名停止Stop Instances By Name这是最基础的用法通过AZURE_INSTANCE_NAMES传入逗号分隔的实例名列表配合RESOURCE_GROUP指定资源组。完整示例见 azure-instance.yaml## contains the azure instance details apiVersion: litmuschaos.io/v1alpha1 kind: ChaosEngine metadata: name: engine-nginx spec: engineState: active annotationCheck: false chaosServiceAccount: azure-instance-stop-sa experiments: - name: azure-instance-stop spec: components: env: # comma separated list of azure instance names - name: AZURE_INSTANCE_NAMES value: instance-01,instance-02 # name of the resource group - name: RESOURCE_GROUP value: resource group of AZURE_INSTANCE_NAME - name: TOTAL_CHAOS_DURATION value: 60要点解析engineState: active表示 ChaosEngine 处于激活状态可以被 Operator 即时接管执行annotationCheck: false关闭对应用注解的检查实验不依赖目标应用的litmuschaos.io/chaos: true注解chaosServiceAccount指向上一节创建的azure-instance-stop-sa该场景未设置SCALE_SET按默认disable处理即目标为普通 Azure VM。场景二停止 Scale Set / AKS 节点实例当目标实例属于Scale Set 或 AKS 节点时必须将SCALE_SET置为enable。完整示例见 azure-scale-set-instance.yaml## contains the azure instance details for scale set instances or AKS nodes apiVersion: litmuschaos.io/v1alpha1 kind: ChaosEngine metadata: name: engine-nginx spec: engineState: active annotationCheck: false chaosServiceAccount: azure-instance-stop-sa experiments: - name: azure-instance-stop spec: components: env: # comma separated list of azure instance names - name: AZURE_INSTANCE_NAMES value: instance-01,instance-02 # name of the resource group - name: RESOURCE_GROUP value: resource group of Scale set # accepts enable/disable value. default is disable - name: SCALE_SET value: enable - name: TOTAL_CHAOS_DURATION value: 60在 AKS 场景下RESOURCE_GROUP应填写Scale Set 所属的资源组通常是MC_资源组名_集群名_区域形式的节点资源组实例名填写 Scale Set 中的实例名。此场景可用于验证节点停机后 Pod 的重调度、节点池自愈以及工作负载在临时节点缺失场景下的表现。场景三多轮迭代混沌Multiple Iterations of Chaos通过CHAOS_INTERVAL控制每两轮停机之间的延迟实现停机-恢复-再停机的多轮循环注入。完整示例见 chaos-interval.yaml# defines delay between each successive iteration of the chaos apiVersion: litmuschaos.io/v1alpha1 kind: ChaosEngine metadata: name: engine-nginx spec: engineState: active annotationCheck: false chaosServiceAccount: azure-instance-stop-sa experiments: - name: azure-instance-stop spec: components: env: # delay between each iteration of chaos - name: CHAOS_INTERVAL value: 10 # time duration for the chaos execution - name: TOTAL_CHAOS_DURATION value: 60 - name: AZURE_INSTANCE_NAMES value: instance-01,instance-02 - name: RESOURCE_GROUP value: resource group of AZURE_INSTANCE_NAME该配置将混沌总时长设为 60s、迭代间隔设为 10s意味着在 60s 内会反复执行多次停机→等待→启动循环适合模拟周期性实例重启或验证应用在多次恢复后的稳定性与数据一致性。实验执行原理与结果验证结合流程图与文档说明azure-instance-stop的底层行为可以归纳为停机注入 时长循环 探针校验三部分注入动作实验通过 Azure GO SDK文件认证对目标实例执行 PowerOff混沌间隔结束或迭代条件满足后再执行 Start 操作恢复实例循环控制TOTAL_CHAOS_DURATION是总时长上限CHAOS_INTERVAL是相邻注入间隔二者共同决定注入轮次SEQUENCE决定多实例是同时注入parallel还是逐个注入serial结果校验实验结束后执行探针评估与混沌后检查通过则 ChaosResult 的verdict为PASS否则为FAIL。ChaosResult 名称可使用INSTANCE_ID追加后缀以区分多次运行。运行实验前建议确认实验命名空间存在cloud-secret类型的认证 Secret、azure-instance-stopChaosExperiment 资源已安装、目标实例处于健康状态并且 ChaosEngine 使用的 ServiceAccount 具备前文 RBAC 中的全部权限。若你在 ChaosCenter 中构建 Workflow则可直接复用其预置的litmus-adminRBAC无需单独创建最小权限账户。赞分享云原生运维可观测性【免费下载链接】litmusLitmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q项目地址https://gitcode.com/gh_mirrors/li/litmus点击查看免费下载相关推荐Litmus 混沌工程实战使用 ec2-stop-by-id 实验按实例 ID 停止并恢复 AWS EC2 实例Litmus 混沌工程实战使用 ec2 stop by id 实验按实例 ID 停止并恢复 AWS EC2 实例 导读 ec2 stop by id 是 Li云原生运维可观测性Litmus 混沌工程之 Azure Disk Loss 故障实验虚拟磁盘分离与恢复实战指南Litmus 混沌工程之 Azure Disk Loss 故障实验虚拟磁盘分离与恢复实战指南 azure disk loss 是 Litmus 混沌工程套件中云原生运维可观测性Litmus 混沌实验指南使用 ec2-stop-by-tag 按标签停止并恢复 AWS EC2 实例Litmus 混沌实验指南使用 ec2 stop by tag 按标签停止并恢复 AWS EC2 实例 导读 ec2 stop by tag 是 Litmus云原生运维可观测性上一篇ClawX 默认 Provider 自动接管删除默认模型提供商后的兜底设计原理与实现下一篇TypeGraphQL订阅消息传输协议WebSocket vs HTTP/2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

KurrentDB Webhook Source 连接器完全指南:将外部 Webhook 无缝写入事件流

KurrentDB Webhook Source 连接器完全指南:将外部 Webhook 无缝写入事件流

数据库后端流处理 【免费下载链接】EventStore KurrentDB is a database thats engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streami…

2026/10/12 3:16:54 阅读更多 →
Kubernetes Python Client 的 V1beta2NodeAllocatableMapping 模型:DRA 节点可分配资源映射机制深入解析

Kubernetes Python Client 的 V1beta2NodeAllocatableMapping 模型:DRA 节点可分配资源映射机制深入解析

后端云原生容器编排 【免费下载链接】python Official Python client library for kubernetes 项目地址: https://gitcode.com/gh_mirrors/python1/python 点击查看 免费下载 本篇技术指南以官方 Python 客户端(kubernetes-python-client)中…

2026/10/12 3:16:54 阅读更多 →
Claude+Codex+Grok三模型协作:AI编程王炸组合实战

Claude+Codex+Grok三模型协作:AI编程王炸组合实战

先说结论:把 Claude、Codex、Grok 放在一起用,确实能打出“王炸”的效果。但王炸不在某个模型多能打,而在它们仨恰好把彼此的短板补上了。我拿这套组合跑了小半年,最直观的感受是——一个人能顶一个三人小团队,从需求拆…

2026/10/12 3:16:54 阅读更多 →

最新新闻

WinForms Chart 时间轴实战:DateTime 转 OADate 与滚动条控制

WinForms Chart 时间轴实战:DateTime 转 OADate 与滚动条控制

简介:这份资源围绕VS自带Chart控件展开,面向需要在WinForms项目中实现时间轴图表的.NET开发者,重点解决x轴按时间刻度显示并配合滚动条浏览长时数据的问题。示例采用从Excel读取数据的方式,x轴时间格式为MM-dd HH:mm:ss:fff&#…

2026/10/12 4:02:25 阅读更多 →
Java微信退款接口实战:从签名、证书到异步回调与对账的完整链路

Java微信退款接口实战:从签名、证书到异步回调与对账的完整链路

简介:这是一份面向Java后端开发者的微信退款接口实现示例资源,聚焦商户在用户发起退款时通过API与微信服务器完成安全交互的完整流程。内容围绕Java网络编程、HTTPS安全通信、PKCS12证书管理、RSA2048数字签名与JSON数据处理展开,适合需要对接…

2026/10/12 4:02:25 阅读更多 →
iOS PDF电子签章实战:PDFKit绘制、坐标系与防篡改校验

iOS PDF电子签章实战:PDFKit绘制、坐标系与防篡改校验

简介:面向iOS开发者的PDF电子签章库,原生渲染与加载,体积控制得较小,适用于合同签署、贷款协议、单据确认等需要电子签章的移动场景,适合有一定Objective-C/iOS原生开发基础的工程师。资源共7个文件,压缩包…

2026/10/12 4:02:25 阅读更多 →
Linux实战100例:故障域分层与高危操作避坑指南

Linux实战100例:故障域分层与高危操作避坑指南

简介:本资源是面向Linux初学者与中级运维人员的实战型学习包,聚焦命令行操作、系统配置与常见故障排查,通过100个经典实例覆盖网络调用、Apache服务配置、错误代码解析等核心场景,帮助读者在真实环境中理解原理、积累排错经验。压…

2026/10/12 4:02:25 阅读更多 →
GLM-4源码包实战:从推理到LoRA微调与部署全流程

GLM-4源码包实战:从推理到LoRA微调与部署全流程

简介:GLM-4代码仓库完整源码包,面向大模型开发者、算法工程师及对本地部署感兴趣的技术爱好者,提供智谱AI第四代GLM系列模型的参考实现与基础使用框架。压缩包内共78个文件,包含Python脚本、YAML部署配置、JSON数据、Markdown说明…

2026/10/12 4:02:25 阅读更多 →
分红时代已死,资本证明时代崛起

分红时代已死,资本证明时代崛起

《分红时代已死,资本证明时代崛起》——下一轮能源周期,市场奖励的不是“投得更多”,而是“证明每一笔钱为何值得花”过去五年,能源公司靠不花钱赢得投资者;未来五年,要靠会花钱。投下去的是资本&#xff0…

2026/10/12 4:01:25 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →