tensorflow2.0 自定义模型 ,多输入卷积神经网络

import tensorflow as tf
print('Tensorflow version: {}'.format(tf.__version__))
from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np

fashion_mnist = tf.keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
plt.matshow(train_images[0])
plt.show()
train_images = train_images / 255.0
train_images=tf.expand_dims(train_images,-1)
print(train_images.shape)


test_images = test_images / 255.0
test_images=tf.expand_dims(test_images,-1)


input1 = keras.Input(shape=(28, 28,1))
input2 = keras.Input(shape=(28, 28,1))

x1=keras.layers.Conv2D(6, 3)(input1)
x1=keras.layers.MaxPooling2D(pool_size=2, strides=2)(x1)
x1=keras.layers.ReLU()(x1)
x1=keras.layers.Conv2D(166, 3)(x1)
x1=keras.layers.MaxPooling2D(pool_size=2, strides=2)(x1)
x1=keras.layers.ReLU()(x1)

x2=keras.layers.Conv2D(6, 3)(input2)
x2=keras.layers.MaxPooling2D(pool_size=2, strides=2)(x2)
x2=keras.layers.ReLU()(x2)
x2=keras.layers.Conv2D(166, 3)(x2)
x2=keras.layers.MaxPooling2D(pool_size=2, strides=2)(x2)
x2=keras.layers.ReLU()(x2)


x = keras.layers.concatenate([x1, x2])





x = keras.layers.Flatten()(x)



x = keras.layers.Dense(64, activation='relu')(x)
output = keras.layers.Dense(10, activation='sigmoid')(x)

model = keras.Model(inputs=[input1, input2], outputs=output)

model.summary()


model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

history = model.fit([train_images,train_images],
                    train_labels,
                    epochs=30,validation_data=([test_images, test_images],test_labels))
'''
test_loss, test_acc = model.evaluate(test_images, test_labels)
plt.plot(history.epoch, history.history['loss'], 'r', label='loss')
plt.plot(history.epoch, history.history['val_loss'], 'b--', label='val_loss')
plt.legend()
plt.show()

plt.plot(history.epoch, history.history['accuracy'], 'r')
plt.plot(history.epoch, history.history['val_accuracy'], 'b--')
plt.show()
'''
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值