Construction of classification model with TensorFlow2.0 classifying data sets fashion_mnist

import tensorflow as tf
import tensorflow.keras as keras
import matplotlib.pyplot as plt
import pandas as pd

#加载数据
fasion_mnist = keras.datasets.fashion_mnist
(X_train_all, y_train_all), (X_test, y_test) = fasion_mnist.load_data()
X_valid, X_train = X_train_all[:5000], X_train_all[5000:]
y_valid, y_train = y_train_all[:5000], y_train_all[5000:]

#构建模型
model = keras.Sequential([
    keras.layers.Flatten(input_shape=[28, 28]),
    keras.layers.Dense(300, activation='sigmoid'),
    keras.layers.Dense(100, activation='sigmoid'),
    keras.layers.Dense(10, activation='sigmoid')
])

model.compile(optimizer='sgd', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
history = model.fit(x=X_train, y = y_train, epochs=10, validation_data=(X_valid,y_valid))

print(history)

#画出训练结果
pd.DataFrame(history.history).plot()
plt.show()

If that label what model is a category index,

loss = 'sparse_categorical_crossentropy' 

If the tag model is a vector represents the probability of belonging to each class,
loss = 'categorical_crossentropy' 
can be considered a sparse added after the label has been one_hot encoding y

Guess you like

Origin www.cnblogs.com/loubin/p/12573622.html