Mac M1环境Jupyter导入to_categorical报错的解决求助
解决Mac M1上TensorFlow
to_categorical 触发的 TF_bfloat16_type() TypeError 问题根源
该错误源于M1 ARM架构下TensorFlow依赖版本不匹配,或Numpy版本不一致导致的bfloat16类型转换异常。
解决方案
对齐TensorFlow生态版本
你的tensorflow-deps(2.8.0)与tensorflow-macos/tensorflow-metal(2.10.0)版本不兼容,需统一版本:# 方案1:升级tensorflow-deps匹配2.10.0版本 conda install -c apple tensorflow-deps=2.10.0 # 方案2:降级tensorflow-macos和tensorflow-metal匹配2.8.0版本 pip install tensorflow-macos==2.8.0 tensorflow-metal==0.4.0统一Numpy版本
当前numpy(1.21.6)与numpy-base(1.21.5)版本不一致,会引发类型转换冲突,重新安装一致版本:pip uninstall numpy numpy-base -y pip install numpy==1.21.6临时禁用bfloat16支持
若版本调整后仍报错,可在导入TensorFlow前强制禁用bfloat16类型:import os os.environ['TF_DISABLE_BFLOAT16'] = '1' from tensorflow.keras.utils import to_categorical验证环境有效性
完成配置后运行以下代码,确认TensorFlow与Metal加速正常工作:import tensorflow as tf print(f"TensorFlow版本: {tf.__version__}") print(f"可用GPU设备: {tf.config.list_physical_devices('GPU')}")
内容的提问来源于stack exchange,提问作者user20008399
相关产品推荐
相关产品推荐

