最近接触ML,在尝试玩儿CIFAR 10。一般网络上面的代码精度只有60%-80%。我再其基础上瞎JB修改了一下,在训练集精度93%左右的时候开始出现过拟合,最终测试集精度在90%出头。后续还会继续尝试提高精度,这个网络有需求的小伙伴可以拿去玩耍。
Keras下载及安装: Keras安装文档
先贴结果:
Epoch 768/2000
250/250 [==============================] - 543s - loss: 0.1814 - acc: 0.9418 - val_loss: 0.3165 - val_acc: 0.9045
请无视我的训练时间,毕竟CPU训练。。。500+S一个EPOCH,你猜训了2000次要多久呢? T.T
不废话,贴代码
使用以下代码覆盖原Keras/example/cifar10_cnn.py即可。
'''Train a simple deep CNN on the CIFAR10 small images dataset.
GPU run command with Theano backend (with TensorFlow, the GPU is automatically used):
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatx=float32 python cifar10_cnn.py
It gets down to 0.65 test logloss in 25 epochs, and down to 0.55