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

M1 Mac运行TensorFlow的generate_tfrecord.py报illegal hardware instruction如何解决

M1 Mac 运行generate_tfrecord.py报错解决方案

错误根因

illegal hardware instruction报错是M1系列ARM架构芯片和x86版本TensorFlow不兼容导致的,旧版TensorFlow未针对Apple Silicon做原生适配,运行时调用了ARM架构不支持的x86硬件指令,触发报错。你提交的运行命令也存在参数配置错误问题,会额外触发执行异常。

修复步骤

  • 第一步:关闭终端的Rosetta转译
    右键点击终端应用,选择「显示简介」,取消勾选「使用Rosetta打开」,重启终端。避免使用转译的x86环境运行ARM适配的软件包。
  • 第二步:安装原生适配Apple Silicon的TensorFlow环境
    1. 卸载x86架构的Anaconda(如果已安装),安装ARM版本的miniforge3作为包管理工具
    2. 创建专属Python环境,选择适配性最好的3.9版本:
      conda create -n tf_m1 python=3.9 -y
      conda activate tf_m1
      
    3. 安装Apple官方适配的TensorFlow组件:
      conda install -c apple tensorflow-deps -y
      pip install tensorflow-macos tensorflow-metal
      
  • 第三步:安装配套依赖
    安装兼容的protobuf版本和TensorFlow Object Detection API,避免版本冲突:
    conda install protobuf=3.20.3 -y
    # 按照TensorFlow Object Detection API官方流程完成编译安装,确保所有依赖适配ARM架构
    
  • 第四步:修正运行命令
    你原命令的参数配置有误:-l参数需要指向具体的label_map.pbtxt文件路径,-o参数需要指定最终输出的tfrecord文件完整路径,同时统一路径大小写避免Mac文件系统识别异常,修正后命令示例:
    python TensorFlow/scripts/generate_tfrecord.py -x TensorFlow/workspace/images/train -l TensorFlow/workspace/annotations/label_map.pbtxt -o TensorFlow/workspace/annotations/train.record
    

完成上述操作后,在激活的tf_m1环境中运行修正后的命令即可正常生成tfrecord文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:36:04