import tensorflow as tf import numpy as np import pandas as pd import matplotlib.pyplot as plt # fashion_mnist = tf.keras.datasets.fashion_mnist.load_data() (train_image, train_lable), (test_image, test_label) = tf.keras.datasets.fashion_mnist.load_data() # print(train_image.shape) # (60000, 28, 28) # print(train_lable.shape) # (60000,) # print(test_image.shape) # (10000, 28, 28) # print(test_label.shape) # (10000,) # plt.imshow(train_image[0]) # plt.show() # print(np.max(train_image[0])) # 255 # print(train_lable) # 归一化 train_image = train_image / 255 test_image = test_image / 255 # print(train_image.shape) # 建模 model = tf.keras.Sequential() model.add(tf.keras.layers.Flatten(input_shape=(28, 28))) # 变成 28*28的向量 model.add(tf.keras.layers.Dense(128, activation='relu')) model.add(tf.keras.layers.Dense(10, activation='softmax')) # # model.compile(optimizer='adam' # , loss='sparse_categorical_crossentropy' # , metrics=['acc']) # model.fit(train_image,train_lable,epochs=5) # # print(model.evaluate(test_image, test_label)) # 独热编码 train_lable_onehot = tf.keras.utils.to_categorical(train_lable) # print(train_lable_onehot[-1]) test_label_onehot= tf.keras.utils.to_categorical(test_label) # print(test_label_onehot) model.compile(optimizer='adam' , loss='categorical_crossentropy' , metrics=['acc']) model.fit(train_image,train_lable_onehot,epochs=5) # loss: 0.2938 - acc: 0.8928 predict = model.predict(test_image) print(predict.shape) print(predict[0]) print(np.argmax(predict[0])) #获取最大概率的位置 print(test_label[0])
softmax 独热编码
最新推荐文章于 2024-04-12 23:14:30 发布