训练过程accuracy一直不变

来源:2-7 实战回归模型

Casablanca_

2019-08-11

我的代码和老师的一模一样,但我的结果很奇怪。
Train on 11610 samples, validate on 3870 samples
Epoch 1/30
11610/11610 [] - 1s 46us/sample - loss: 0.7376 - acc: 0.0031 - val_loss: 0.5053 - val_acc: 0.0023
Epoch 2/30
11610/11610 [] - 1s 43us/sample - loss: 0.4311 - acc: 0.0031 - val_loss: 0.4237 - val_acc: 0.0023
Epoch 3/30
11610/11610 [] - 0s 41us/sample - loss: 0.3903 - acc: 0.0031 - val_loss: 0.3933 - val_acc: 0.0023
Epoch 4/30
11610/11610 [] - 1s 44us/sample - loss: 0.3741 - acc: 0.0031 - val_loss: 0.3763 - val_acc: 0.0023
Epoch 5/30
11610/11610 [] - 0s 40us/sample - loss: 0.3641 - acc: 0.0031 - val_loss: 0.3742 - val_acc: 0.0023
Epoch 6/30
11610/11610 [] - 0s 41us/sample - loss: 0.3573 - acc: 0.0031 - val_loss: 0.3632 - val_acc: 0.0023
Epoch 7/30
11610/11610 [] - 0s 42us/sample - loss: 0.3522 - acc: 0.0031 - val_loss: 0.3652 - val_acc: 0.0023
Epoch 8/30
11610/11610 [] - 0s 42us/sample - loss: 0.3461 - acc: 0.0031 - val_loss: 0.3552 - val_acc: 0.0023
Epoch 9/30
11610/11610 [] - 0s 40us/sample - loss: 0.3413 - acc: 0.0031 - val_loss: 0.3582 - val_acc: 0.0023
Epoch 10/30
11610/11610 [] - 0s 41us/sample - loss: 0.3358 - acc: 0.0031 - val_loss: 0.3517 - val_acc: 0.0023
Epoch 11/30
11610/11610 [] - 0s 40us/sample - loss: 0.3322 - acc: 0.0031 - val_loss: 0.3599 - val_acc: 0.0023
Epoch 12/30
11610/11610 [] - 0s 42us/sample - loss: 0.3282 - acc: 0.0031 - val_loss: 0.3390 - val_acc: 0.0023
Epoch 13/30
11610/11610 [] - 0s 41us/sample - loss: 0.3225 - acc: 0.0031 - val_loss: 0.3366 - val_acc: 0.0023
Epoch 14/30
11610/11610 [] - 0s 41us/sample - loss: 0.3206 - acc: 0.0031 - val_loss: 0.3308 - val_acc: 0.0023
Epoch 15/30
11610/11610 [] - 0s 41us/sample - loss: 0.3168 - acc: 0.0031 - val_loss: 0.3395 - val_acc: 0.0023
Epoch 16/30
11610/11610 [] - 0s 42us/sample - loss: 0.3144 - acc: 0.0031 - val_loss: 0.3404 - val_acc: 0.0023

写回答

2回答

生途南北

2020-02-13

是不是因为这个是回归,不是分类,target的值是连续的,所以准确率近乎为零?

0
0

正十七

2019-08-14

同学你好,根据我回其他问题的经验,感觉有两个方向你尝试下:

第一:版本问题,用的是1.13的版本,换成2.0可能会好

第二:学习率太大,可以考虑用如下代码替换你的optimizer:

optimizer = keras.optimizers.SGD(0.001),

默认optimizer学习率是0.01有点大。

第三:我觉得你还可以检查下你的归一化做的对不对。

一个比较快的方法是用git上的代码运行,可以快速的和自己的代码做diff看区别是啥。

0
4
正十七
回复
MCFON
第二章的代码我又重新在2.0正式版上测了一下,learning_rate改成了0.001,可以收敛。你再试试?
2019-11-17
共4条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程