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() '''
tensorflow2.0 自定义模型 ,多输入卷积神经网络
最新推荐文章于 2022-12-18 16:01:03 发布