Tensorflow 实战 Google 深度学习框架(第2版)---- 10.2.2节 P274 代码

#-*-coding:utf-8-*-
import keras
from tflearn.layers.core import fully_connected
from keras.datasets import mnist
from keras.layers import Input,Dense
from keras.models import Model


num_classes = 10
img_rows, img_cols = 28, 28

# 通过Keras封装好的API加载MNIST数据。其中trainX就是一个60000 * 28 * 28的数组,
# trainY是每一张图片对应的数字。
(trainX, trainY), (testX, testY) = mnist.load_data()
trainX = trainX.reshape(-1,784)
testX = testX.reshape(-1,784)

trainX = trainX.astype('float32')
testX = testX.astype('float32')
trainX /= 255.0
testX /= 255.0

# 将标准答案转化为需要的格式(one-hot编码)。
trainY = keras.utils.to_categorical(trainY, num_classes)
testY = keras.utils.to_categorical(testY, num_classes)

input1 = Input(shape=(784,),name='input1')
input2 = Input(shape=(10,),name='input2')

x = Dense(1,activation='relu')(input1)
output1 = Dense(10,activation='softmax',name='output1')(x)

y = keras.layers.concatenate([x,input2])
output2 = Dense(10,activation='softmax',name='output2')(y)

model = Model(inputs=[input1,input2],outputs=[output1,output2])

model.compile(loss = keras.losses.categorical_crossentropy,
              optimizer = keras.optimizers.SGD(),
              loss_weights=[1,0.1],
              metrics=['accuracy'])
model.fit([trainX,trainY],[trainY,trainY],
          batch_size=128,
          epochs=20,
          validation_data=([testX,testY],[testY,testY]))

 

猜你喜欢

转载自blog.csdn.net/Strive_For_Future/article/details/81560520