Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 如何在tf.keras中明确输入层_Tensorflow_Keras - Fatal编程技术网

Tensorflow 如何在tf.keras中明确输入层

Tensorflow 如何在tf.keras中明确输入层,tensorflow,keras,Tensorflow,Keras,利用预先训练好的VGG网络,其摘要显示正在使用的InputLayer。我喜欢清晰的显式输入层。。。即使在功能上它什么也不做(真的?)。但当我试着用类似这样的东西来模仿这一点时: model = Sequential() model.add(Input(shape=(128, 128, 3))) model.add(Conv2D(32, (3, 3), activation='relu')) 使用print(model.summary())显示的结果与以下结果没有区别: model = Sequ

利用预先训练好的VGG网络,其摘要显示正在使用的
InputLayer
。我喜欢清晰的显式输入层。。。即使在功能上它什么也不做(真的?)。但当我试着用类似这样的东西来模仿这一点时:

model = Sequential()
model.add(Input(shape=(128, 128, 3)))
model.add(Conv2D(32, (3, 3), activation='relu'))
使用
print(model.summary())
显示的结果与以下结果没有区别:

model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(128, 128, 3))

。。。两者都将第一层显示为
Conv2D
层。我的
输入层到哪里去了?它值得麻烦地取回吗?

不,你可以把它们分开,这没有任何区别


至于
input\u shape
,可以为每一层指定该参数,但是Keras足够聪明,可以自行推断下一层的形状,因此我们不会明确提及它。

在您的示例中,您使用的是顺序,请尝试使用
Keras.models.Model

inp = keras.layers.Input((128, 128, 3))
op = keras.layers.Conv2D(32, (3, 3), activation='relu')(inp)
model = keras.models.Model(inputs=[ inp ], outputs = [op] )
model.summary()

我怀疑这只是语义,你的输入并不是一个真正的层。它是张量,第一层是Conv2D,我也怀疑。但是我想知道如何从
model.summary()
中显示它。就这一点而言,我想知道摘要中连接到
列的
在哪里消失了——我也不知道它们在那个问题上的位置:-(摘要显示了图层及其输入形状。输入是张量,而不是图层。我不明白您希望摘要显示的内容。对我来说,它包含了所有信息,但可能在更复杂的示例中不起作用。编辑:我检查了另一个,我看到了您所说的内容。您查看了他们的实际输入吗层是什么?我对环境太陌生了,不知道如何检查他们的“实际输入层”是。我所能看到的是,该问题中的摘要明确地显示了它,但上面的代码没有显示它……而您引用的
Input
doc页面也没有说明为什么不显示。如果可以将它们分开,您能否提供一个代码剪报,从而得出
model.summary()
显示
输入
层?就像在接受的答案中一样,通过使用功能性APIOK-所以…猜测一下…这是一个毫无意义的功能,没有人认为有必要在
顺序
中实现它?同样地,…是“连接到”在你的总结中没有列,但在那个问题中出现,也基本上没有意义?只是尝试使用这些问答示例中的一些作为基准,试图重现…@omatai如果你看你的示例,model.input是不同的,反映了一个是通过model创建的。input与在conv2D上使用input相比,model.layers也不包括用一个连续的代码对输入层进行de。我认为这比缺少它的摘要更重要。我认为您提出的问题是正确的,不幸的是,一些答案是:keras/tensorflow决定更改api而不记录它。对于连接到:
Model: "model_1"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_2 (InputLayer)         [(None, 128, 128, 3)]     0         
_________________________________________________________________
conv2d_4 (Conv2D)            (None, 126, 126, 32)      896       
=================================================================
Total params: 896
Trainable params: 896
Non-trainable params: 0
_________________________________________________________________