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

线性回归模型.fit()报错:Mutation::Apply error问题求助

问题分析与解决方案

1. 损失函数匹配错误

你的任务是回归任务(预测连续数值MPG),但错误使用了分类任务专用的SparseCategoricalCrossentropy损失函数,这会导致模型训练逻辑完全错位,是触发错误的核心原因之一。

修正代码

将编译部分的损失函数替换为回归任务适用的MeanSquaredError,同时调整过高的学习率:

horsepower_model.compile(
    loss=losses.MeanSquaredError(),
    optimizer=optimizers.legacy.Adam(learning_rate=0.01),
    metrics=['mean_absolute_error'])  # 回归任务使用回归指标,而非分类用的accuracy

2. TensorFlow Metal GPU兼容性问题

错误日志中的metal_plugin/src/graph/remapper/remapper.cc报错,是Mac环境下TensorFlow使用Metal GPU加速时的已知bug,尤其在极简模型(单Dense层线性回归)上容易触发。

解决办法

  • 临时禁用GPU:在代码最开头添加以下代码强制使用CPU运行:
    import os
    os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
    
  • 升级TensorFlow版本:该bug在TensorFlow 2.15及以上版本已修复,执行命令升级:
    pip install --upgrade tensorflow
    
  • 降级到兼容版本:若升级后仍有问题,可降级到2.13版本:
    pip install tensorflow==2.13
    

额外优化点

  • 确保输入特征为二维数组(匹配模型输入格式),对特征数组添加维度:
    horsepower_features = np.array(train_features['Horsepower']).reshape(-1, 1)
    horsepower_val_features = np.array(val_features['Horsepower']).reshape(-1, 1)
    horsepower_test = np.array(test_features['Horsepower']).reshape(-1, 1)
    
  • 原学习率0.1过高,调整为0.01或0.001可避免训练时损失剧烈震荡。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:12:07