微知-mermaid中如何将某几条关系放入一个框中?作为子图?(subgraph AA开始,end结束)

方式

以subgraph [title] 关键字开始
以end结束
中间的关系都会被

subgraph AA
ab --> b
end

实操

在这里插入图片描述

graph TD A[开始] --> B{do-while: nums < maxPkts} B --> C[初始化 ring_empty_flag 数组为 0] subgraph "轮询每个 RX Ring" C --> D[rxRingIdx = RX_RING_NUM - 1] D --> E{rxRingIdx >= 0 ?} E -->|是| F[是否绑定到 INT-1 中断?<br>(根据 int1_rx_ring 位掩码判断)] F -->|否| G[标记 ring_empty_flag[rxRingIdx] = 1<br>rxRingIdx-- → 继续] F -->|是| H[计算本次接收预算:<br>nPkts = min(maxPkts - nums, RX_DSCP_BUDGET[rxRingIdx])] H --> I{nPkts > 0?} I -->|否| J[标记 ring_empty_flag[rxRingIdx] = 1<br>rxRingIdx-- → 继续] I -->|是| K[调用 qdma_bm_receive_packets(nPkts, rxRingIdx)] K --> L[curNum = 实际接收包数] L --> M{curNum < nPkts?} M -->|是| N[ring_empty_flag[rxRingIdx] = 1] M -->|否| O[继续] N --> P O --> P{curNum > nPkts?} P -->|是| Q[记录错误日志:数量异常] P -->|否| R[nums += curNum] Q --> R R --> S[rxRingIdx--] S --> E E -->|否| T[进入 emptyFlag 判断] end T --> U[emptyFlag = 1] U --> V[遍历所有 rxRingIdx: 0 到 RX_RING_NUM-1] V --> W{ring_empty_flag[rxRingIdx] == 0?} W -->|是| X[emptyFlag = 0] X --> Y[rxRingIdx++] W -->|否| Y Y --> Z{rxRingIdx < RX_RING_NUM?} Z -->|是| W Z -->|否| AA{emptyFlag == 1?} AA -->|是| AB[break; 所有 Ring 已空] AA -->|否| AC[nums < maxPkts?<br>→ 继续循环] AC -->|是| B AC -->|否| AD[结束] style A fill:#4CAF50,stroke:#388E3C,color:white style AD fill:#F44336,stroke:#D32F2F,color:white style K fill:#FFC107 style Q fill:#FF5722 生成mermaid符合draw.io18.4版本的
10-31
flowchart TD subgraph 数据预处理 A[原始数据] --> B[时间对齐与重采样] B --> C[标准化: 状态量二值化/模拟量Z-score] C --> D[滑动窗口构造: T=窗口长度, stride=步长] D --> E[标签生成: 互相关计算或人工标注] end subgraph 模型架构 subgraph 双流LSTM编码器 F[状态量输入 S ∈ R^{T×1}] --> G[LSTM编码器] H[模拟量输入 A ∈ R^{T×m}] --> I[LSTM编码器] G --> J[状态量特征 H_s ∈ R^{T×h}] I --> K[模拟量特征 H_a ∈ R^{T×h}] end subgraph 交叉注意力机制 J --> L[Query投影: Q = H_s·W_q] K --> M[Key投影: K = H_a·W_k] K --> N[Value投影: V = H_a·W_v] L & M --> O[计算注意力权重: softmax(QK^T/√d)] O & N --> P[加权聚合: Attention(Q,K,V)] P --> Q[时间步对齐位置计算 j_i = Σk·A_{ik}] Q --> R[窗口级延迟估计 d = median(j_i - i)] end subgraph 输出层 R --> S[回归头: 全连接层 → d_pred] S --> T[异常分类头: Sigmoid → p_anomaly] end end subgraph 训练与优化 T --> U[联合损失函数] U --> V["L = α·Huber(d_pred, d_true) + β·BCE(p, y) + γ·对齐损失"] V --> W[AdamW优化器 + 学习率调度] end subgraph 异常检测与对齐 S --> X[阈值判定: |d_pred| > μ±kσ?] X -->|是| Y[标记为异常] X -->|否| Z[正常数据] S --> AA[序列对齐: 整数延迟平移/样条插值] AA --> AB[对齐评估: DTW距离/MI值] end subgraph 验证部署 AB --> AC[合成数据测试: MAE/F1-score] AC --> AD[实际场景微调] AD --> AE[模型轻量化: ONNX/TensorRT] end style 数据预处理 fill:#f9f9f9,stroke:#666 style 模型架构 fill:#e6f3ff,stroke:#3399ff style 训练与优化 fill:#ffe6e6,stroke:#ff6666 style 异常检测与对齐 fill:#e6ffe6,stroke:#66cc66 style 验证部署 fill:#fff0e6,stroke:#ff9933,对上述代码进行优化
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值