我正试图在Keras中重新创建this architecture以解决XOR问题。其中有权重连接输入(2,)数组和输出(一个数字)。我知道可以使用完全连接的2,2,1架构解决XOR问题,我已经做到了,我想学习keras。
我不知道该怎么办。我阅读了文档并在SO中搜索,但我似乎听不懂。我出来了。我的主要问题是如何将隐藏层与output1
连接 input1 = keras.layers.Input(shape=(2,)) #The input
hidden_layer = keras.layers.Dense(1, activation='tanh')(input1) #Linking the input with the hidden layer
output1 = keras.layers.Dense(1, activation='tanh')(input1) #Linking the input with the output layer
###The code I'm using connecting hidden and output layer should be here I guess###
model = keras.models.Model(inputs=input1, outputs=outpu1)
model.compile(...
[如果有人有更简单的方法,那就太好了。
嗨,伊夫林,欢迎来到stacckoverflow。>>
我认为通过两个输入来执行此操作更有意义。
您可以如下实现:
import tensorflow as tf
from tensorflow import keras
inp1 = keras.layers.Input(shape=(1,))
inp2 = keras.layers.Input(shape=(1,))
x = keras.layers.Concatenate()([inp1, inp2])
x = keras.layers.Dense(1, activation='tanh')(x)
x = keras.layers.Concatenate()([inp1, inp2, x])
output = keras.layers.Dense(1, activation='tanh')(x)
model = keras.models.Model(inputs=[inp1, inp2], outputs=output)
model.summary()
model([tf.ones([8, 1]), tf.zeros([8, 1])])