Keras classifier分类(二)

导入的lib:

import numpy as np  
from keras.datasets import mnist  #数据包
from keras.utils import np_utils  #np帮助类
from keras.models import Sequential #按顺序建立 模型
from keras.layers import Dense,Activation #Dense 全连接层 ; Activation 激活函数层
from keras.optimizers import RMSprop # 优化器 --其中一个 RMSprop

下载数据并读取: 

#下载到  ./anaconda3/lib/python3.6/site-packages/keras/datasets #我的python环境是 基于 anaconda3 
#下载 失败可以 自己下载搬到 目录中去
#X shape(60000,28,28),y shape(10000,)
(X_train,Y_train),(X_test,Y_test)=mnist.load_data()

#数据预处理

x_train=X_train.reshape(X_train.shape[0],-1)/255 # 除以255  让数据 特征标准化 让 数值在 [0~255] 之间
x_test=X_test.reshape(X_test.shape[0],-1)/255 #normalize
y_train=np_utils.to_categorical(Y_train,num_classes=10) #np.utils.to_categorical : 若 y=2 -> [[ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.]]
y_test=np_utils.to_categorical(Y_test,num_classes=10)


#建模

model=Sequential([
    Dense(32,input_dim=784), #784=28*28
    Activation('relu'),
    Dense(10),
    Activation('softmax'), 
])

#自定义 或 创建 优化器

rmsprop=RMSprop(lr=0.001,rho=0.9,epsilon=1e-08,decay=0.0)
#lr 学习率 ,decay 衰减率

#搭建模型

model.compile(optimizer=rmsprop,loss='categorical_crossentropy',metrics=['accuracy']) #指标列表

#训练

model.fit(x_train,y_train,epochs=2,batch_size=32) #epochs 训练几回 batch_size 每批训练的数量

#评价

loss,accuracy=model.evaluate(x_test,y_test) #metrics 里面有 accuracy
print(loss)
print(accuracy)




你可能感兴趣的:(python,keras)