import tensorflow as tf
from tensorflow.keras import datasets,layers,models
import matplotlib.pyplot as plt
import numpy as np
(train_images,train_labels),(test_images,test_labels) = datasets.cifar10.load_data()
train_images,test_images = train_images/255.0,test_images/255.0
print(train_images[0].shape)
print(train_labels.shape)
class_names = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','druck']
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.imshow(train_images[i])
plt.xlabel(class_names[train_labels[i][0]])
#plt.show()
def create_model():
model = tf.keras.Sequential()
model.add(layers.Conv2D(32,(3,3),activation='relu',input_shape=(32,32,3)))
model.add(layers.MaxPool2D(2,2))
model.add(layers.Conv2D(64,(3,3),activation='relu'))
model.add(layers.MaxPool2D(2,2))
model.add(layers.Conv2D(64,(3,3),activation='relu'))#(4,4,64)
model.add(layers.Flatten())
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(10))
return model
model= create_model()
model.summary()
model.compile(optimizer='Adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
model.fit(train_images,train_labels,epochs=0,validation_split=0.2)
dense1_layer_model = tf.keras.models.Model(inputs=model.input,outputs=model.get_layer('dense_1').output)
#以这个model的预测值作为输出
print(train_images[0].shape)
dense1_output = dense1_layer_model.predict(train_images)
print(dense1_output.shape)
print(dense1_output)