将两个模型与tensorflow.keras公司

2024-04-18 11:29:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用MNIST数据集研究图像分析的神经网络模型。我第一次只使用图像来建立第一个模型。然后我创建了一个附加变量,它是: 当数字实际在0和4之间时为0,当数字大于或等于5时为1。在

因此,我想建立一个模型,它可以包含这两个信息:数字的图像和我刚刚创建的附加变量。在

我首先创建了两个模型,一个用于图像,另一个用于外部变量,如下所示:

import tensorflow as tf
from tensorflow import keras


image_model = keras.models.Sequential()

#First conv layer :
image_model.add( keras.layers.Conv2D( 64, kernel_size=3,
                                               activation=keras.activations.relu,
                                      input_shape=(28, 28, 1) ) )

#Second conv layer :
image_model.add( keras.layers.Conv2D( 32, kernel_size=3, activation=keras.activations.relu ) )

#Flatten layer :
image_model.add( keras.layers.Flatten() )

print( image_model.summary(), '\n' )




info_model = keras.models.Sequential()

info_model.add( keras.layers.Dense( 5, activation=keras.activations.relu, input_shape=(1,) ) )

print( info_model.summary() )

然后我想把最后两个层连接起来,最后用softmax设置另一个密集层来预测类概率。在

我知道使用Keras函数API是可行的,但是如何使用它呢特斯拉斯? 在


Tags: 模型图像imageimportinfoaddlayermodel
1条回答
网友
1楼 · 发布于 2024-04-18 11:29:15

你可以很容易地在TF中使用Keras的函数API(用tf2.0测试):

import tensorflow as tf

# Image
input_1 = tf.keras.layers.Input(shape=(28, 28, 1))
conv2d_1 = tf.keras.layers.Conv2D(64, kernel_size=3,
                                  activation=tf.keras.activations.relu)(input_1)

# Second conv layer :
conv2d_2 = tf.keras.layers.Conv2D(32, kernel_size=3,
                                  activation=tf.keras.activations.relu)(conv2d_1)

# Flatten layer :
flatten = tf.keras.layers.Flatten()(conv2d_2)

# The other input
input_2 = tf.keras.layers.Input(shape=(1,))
dense_2 = tf.keras.layers.Dense(5, activation=tf.keras.activations.relu)(input_2)

# Concatenate
concat = tf.keras.layers.Concatenate()([flatten, dense_2])

n_classes = 4
# output layer
output = tf.keras.layers.Dense(units=n_classes,
                               activation=tf.keras.activations.softmax)(concat)

full_model = tf.keras.Model(inputs=[input_1, input_2], outputs=[output])

print(full_model.summary())

这给了你the model you are looking for.

相关问题 更多 >