from __future__ import absolute_import, division, print_function, unicode_literals import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() # 加载数据 x_train, x_test = x_train / 255.0, x_test / 255.0 # /255:将RGB数值归一化 #%% print(y_train.shape) #%% model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), # 张量扁平化,将28*28的图片矩阵转化为784的向量 tf.keras.layers.Dense(128, activation='relu'), # 全连接层,128个神经元,激活函数为relu(The Rectified Linear Unit) # y=max(0,x) tf.keras.layers.Dropout(0.2), # 防止过拟合,drop out 80% of inputs,使用0.2*cell_size个神经元进行训练 tf.keras.layers.Dense(10, activation='softmax') # 全连接层输出 softmax激活函数 ]) model.compile(optimizer='adam', # 梯度下降策略 adam loss='sparse_categorical_crossentropy', # 损失函数 sparse:y独热化编码 交叉熵 metrics=['accuracy']) # metrics 列表,包含评估模型在训练和测试时的性能的指标,典型用法是metrics=[‘accuracy’]。 # 如果要在多输出模型中为不同的输出指定不同的指标,可向该参数传递一个字典,例如metrics={‘output_a’: ‘accuracy’} model.fit(x_train, y_train, epochs=5) # 训练5轮 model.evaluate(x_test, y_test, verbose=1) # Verbosity mode. 0 = silent, 1 = progress bar. # fit()用于使用给定输入训练模型. # evaluate()用于评估已经训练过的模型.返回损失值&模型的度量值.
