请教一下:
x=tf.keras.layers.Dense(units=100)(tf.ones([28, 28,1]))
x=tf.keras.layers.Dense(units=10)(x)
output=tf.keras.layers.Softmax()(x)
print(output)
为何此处有具体值得输出?而下面却没有?
inputs=tf.keras.Input(shape=(28,28,1))
x=tf.keras.layers.Dense(units=100)(inputs)#(tf.ones([28, 28,1]))
x=tf.keras.layers.Dense(units=10)(x)
output=tf.keras.layers.Softmax()(x)
print(output)
这里输出的不是具体数值?不是说立即计算吗?既然立即计算就应该立即有具体数据结果吧?
另外,可能类似的问题是:
inputs = keras.Input(shape=(32,)) # Returns a placeholder tensor
x = keras.layers.Dense(64, activation=‘relu’)(inputs)
x = keras.layers.Dense(64, activation=‘relu’)(x)
predictions = keras.layers.Dense(10, activation=‘softmax’)(x)
model = keras.Model(inputs=inputs, outputs=predictions)
在eager模式下,前面4条语句不是都只能执行一次吗?model何以能够通过fit函数完成梯度自动计算呢?请教大神!
其实在大多数时候,Keras和Eager Execution(即时执行)是两个东西。单纯使用Keras建立的Model背后还是基于图模型。