TensorFlow/Keras模型训练准确率始终维持在50%求助
模型训练准确率固定50%的排查与解决
你的代码存在一个关键错误,导致训练样本与标签的对应关系完全失效,模型无法学习到有效特征,最终准确率停留在随机猜测的水平(约50%)。
错误定位
问题出在这一行代码:
train_labels, train_labels = shuffle(train_labels, train_labels)
你错误地将shuffle函数的两个输入都设置为train_labels,并且将结果重复赋值给train_labels,这会导致:
- 训练样本
train_samples完全没有被打乱 - 标签自身被重复打乱后覆盖,样本与标签的对应关系彻底断裂
修复方法
需要同时打乱样本和标签,保持两者的对应关系,正确代码如下:
train_samples, train_labels = shuffle(train_samples, train_labels)
额外优化点
代码中train_label = np.array(train_labels)这一行是多余的(未被后续代码使用),可以直接删除。
修改后重新运行训练,模型会快速学习到年龄与标签的对应模式,准确率会显著提升至接近100%的水平。
内容的提问来源于stack exchange,提问作者Gianluca
相关产品推荐
相关产品推荐

