惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
V
Visual Studio Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
I
InfoQ
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
P
Proofpoint News Feed
WordPress大学
WordPress大学
小众软件
小众软件
B
Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
量子位
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客

博客园 - xiezhengcai

日志分层设计 Ai阅读代码的局限性 业务系统缓存加速的五种缓存设计 The CustomResourceDefinition "applications.apps.abc.com" is invalid: metadata.annotations: Too long: must have at most 262144 bytes vscode ssh开发无法读取go env配置 deepspeed ray + nccl + 张量并行 训练 ray集群 ray 分布式, 工作节点、reylet、 主节点、GCS ray分布式 nccl & mpi 跨节点通信 cudaMemsetParams 参数详细 cuda 中的内存拷贝 cuda 编程 cuda vllm 参数分类 为什么nn.Linear 的weight 是 (out_features, in_features) torch.view、unsqueeze、reshape、transpose 和 permute PyTorch交叉熵损失函数详解
张量计算流程图标注方法
xiezhengcai · 2025-03-26 · via 博客园 - xiezhengcai

在流程图中清晰标注张量形状和维度语义的关键是建立结构化标注规则,既要体现数值变换又要保留语义信息。以下是具体建议:

一、基础形状标注模板

建议格式[维度1:含义1 | 维度2:含义2 (...)]
示例[B:32 | C:3 | H:224 | W:224]

二、针对不同操作的标注策略
  1. 维度增减操作 (unsqueeze/squeeze)

    # Before: [B:32, C:3, H:224]
    unsqueeze(-1) → [B:32, C:3, H:224, W:1 (new)]
    
  2. 维度重组操作 (view/reshape)

    # Before: [B:32, L:512, D:768]
    view(32, 16, 32, 768) → [B:32, H:16, S:32, D:768 (merged L=H×S)]
    
  3. 维度交换操作 (transpose/permute)

    # Before: [B:32, C:3, H:224, W:224]
    transpose(1,3) → [B:32, W:224, H:224, C:3 (swapped)]
    
三、进阶标注技巧
  1. 复合维度表示:使用符号表示组合维度
    [B:32, T⊗S:10×64 (T=time_steps, S=seq_len)]

  2. 动态维度标注:用*表示动态维度
    [B:*, C:3, H:?, W:? (dynamic resolution)]

  3. 颜色编码方案

    • 🔵 蓝色:批处理相关维度
    • 🟢 绿色:空间维度
    • 🟡 黄色:通道维度
    • 🔴 红色:时序维度
四、流程图布局示例
[Input] → [Conv2d] → [Reshape] → [Transpose] → [Output]
   │           │           │             │
   ▼           ▼           ▼             ▼
[B:32      [B:32      [B:32        [B:32
 C:3        C:64       H⊗W:224×224  D:512
 H:224      H:224      → D:3136]     H:224
 W:224]     W:224]                   (swapped W↔C)]
五、辅助工具建议
  1. 使用双层标注箭头:上层标注数学形状,下层标注语义含义
  2. 添加维度变更标记
    • 🟦 实心箭头表示维度继承
    • 🟥 虚线箭头表示新建维度
    • 🔄 环形箭头表示维度交换
  3. 在流程图边缘添加维度字典
    Dimension Glossary:
    B - Batch Size       H - Height
    W - Width            C - Channels
    D - Embedding Dim    T - Time Steps
    

这种标注方案既能清晰展示数值维度的变化轨迹,又能保留维度的语义信息,特别适合需要同时关注数学变换和业务含义的场景(如多模态数据处理)。实际使用时可根据复杂度选择精简版或完整版标注。