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

M1 MacBook运行Keras CNN抛出NSRangeException空数组索引越界问题

问题原因

这个报错是M1芯片早期适配的TensorFlow测试版内置的MLCompute加速框架存在缺陷导致:你使用的tf2.4.0-rc0是苹果首次适配M1的预览版本,对ResNet模型的卷积层、padding层融合逻辑处理异常,调用空数组下标触发了OC层面的NSRangeException崩溃。

可行解决方案

方案1:升级TensorFlow到稳定版本(推荐)

目前苹果官方适配的TensorFlow稳定版已经修复了该问题,直接卸载旧预览版,安装最新的tensorflow-macos和tensorflow-metal包即可,适配M1的稳定版2.10+均无该问题。

方案2:临时禁用MLCompute加速(无需换版本)

如果暂时无法升级TensorFlow版本,在你的代码最开头添加以下代码关闭MLCompute加速,即可规避崩溃:

import os
os.environ["TF_DISABLE_MLCOMPUTE"] = "1"

该方案会损失一部分推理速度,但可以正常跑通你的代码逻辑。

额外注意事项

你当前使用的Numpy 1.21.1和TensorFlow 2.4.0-rc0存在版本不兼容问题,如果禁用MLCompute后仍有其他报错,可以将numpy降级到1.19.5版本,适配tf2.4系列的依赖要求。

内容的提问来源于stack exchange,提问作者EW0824

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:21:03