You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试打印Apple性能着色器中的MPSGraph?

打印MPSGraph图形结构的实现方法

方法一:直接使用description属性

MPSGraph继承自NSObject,自带的description属性会返回图形的结构化描述,直接打印就能快速查看整体拓扑与节点概要:

NSLog(@"MPSGraph 结构详情:\n%@", graph.description);

输出内容包含节点总数、张量信息以及图形的整体结构框架。

方法二:手动遍历节点与张量(自定义输出细节)

如果默认描述不够细致,可以通过allNodes属性遍历所有节点,逐个打印节点类型、名称、输入输出张量等信息:

// 遍历图中所有节点
for (MPSGraphNode *node in graph.allNodes) {
    NSLog(@"节点类型: %@", NSStringFromClass([node class]));
    NSLog(@"节点名称: %@", node.name ?: @"未命名");
    
    // 打印输入张量
    NSLog(@"输入张量列表:");
    for (NSUInteger i = 0; i < node.inputTensors.count; i++) {
        MPSGraphTensor *tensor = node.inputTensors[i];
        NSLog(@"  索引%lu: %@ (形状: %@)", (unsigned long)i, tensor.name ?: @"无名张量", tensor.shape);
    }
    
    // 打印输出张量
    NSLog(@"输出张量列表:");
    for (NSUInteger i = 0; i < node.outputTensors.count; i++) {
        MPSGraphTensor *tensor = node.outputTensors[i];
        NSLog(@"  索引%lu: %@ (形状: %@)", (unsigned long)i, tensor.name ?: @"无名张量", tensor.shape);
    }
    
    NSLog(@"------------------------");
}

这种方式可按需定制输出,比如针对卷积、池化等特定节点,额外打印运算参数(如卷积核大小、步长)。

内容的提问来源于stack exchange,提问作者Edward Z. Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:16:21