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

运行《Scikit-Learn与TensorFlow机器学习实用指南》示例准确率无提升

问题原因定位

该问题和TensorFlow安装、环境配置无关,完全由代码逻辑错误导致。

具体错误代码

你错误对分类标签也执行了图像归一化的除以255操作:

# 错误写法:分类标签不需要归一化
y_valid, y_train = y_train_full[:5000] / 255.0, y_train_full[5000:] / 255.0

Fashion-MNIST的标签是取值为0~9的整数,对应10个不同的服饰类别,除以255后所有标签值被压缩到[0, 0.035]的浮点数区间,直接触发两个问题:

  • 你使用的sparse_categorical_crossentropy损失函数要求标签为整数类别索引,输入浮点数后损失计算逻辑完全失效,模型无法学习到正确的特征映射
  • 所有标签值都小于1,准确率计算时永远只会和类别0的预测结果匹配,整体准确率始终在10分类随机猜测的10%(0.1)附近波动,和你观测到的0.0914结果完全吻合;同时模型只要将类别0的输出概率拉高就能得到极低的损失值,和你观测到的损失异常偏低的现象完全匹配。

修复方案

将标签处理代码修改为如下即可:

y_valid, y_train = y_train_full[:5000], y_train_full[5000:]

修改后重新训练即可达到书中给出的0.87左右的验证集准确率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:18:02