keras处理mnist数据

keras框架用的很简单,正确率达到99.5%

 

from keras.models import Sequential,load_model
from keras.datasets import mnist
from keras.layers import Dense
from keras import optimizers,utils

inputs,hiddens,outputs=784,200,10
learning_rate=0.01
epochs=50
batch_size=64

(train_images,train_labels),(test_images,test_labels)=mnist.load_data()
train_images=train_images.reshape(-1,inputs).astype('float32')/255
train_labels=utils.to_categorical(train_labels,outputs)
test_images=test_images.reshape(-1,inputs).astype('float32')/255
test_labels=utils.to_categorical(test_labels,outputs)

def mlp():
    model=Sequential()
    model.add(Dense(hiddens,activation='sigmoid',input_shape=(inputs,)))
    model.add(Dense(outputs,activation='sigmoid'))
    return model

def train():
    model=mlp()
    sgd=optimizers.Adam(lr=learning_rate)
    model.compile(optimizer=sgd,loss='mean_squared_error')
    model.fit(train_images,train_labels,batch_size=batch_size,epochs=epochs)
    model.save('mlp_model.h5')
    
def predict():
    model=load_model("mlp_model.h5")
    error=model.evaluate(test_images,test_labels)
    print("accuracy:",1-error)
    
if __name__=="__main__":
    train()
    predict()

accuracy: 0.9949546198506902

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值