我知道这是个愚蠢的问题但我有点困惑.因为我使用的是使用VGG16的传输学习,它有一个名为“块4_池”的层。那么这两行返回的对象之间的区别是什么,
base_model.get_layer('block4_pool')
base_model.get_layer('block4_pool').output他们回来的是什么?
发布于 2021-06-12 15:23:10
第一个返回层对象,这是一个MaxPooling2D层。
第二种是该层的输出张量。
让我们看看这些到底是什么:
第一次发言:
print(base_model.get_layer('block4_pool'))
>> <tensorflow.python.keras.layers.pooling.MaxPooling2D object at 0x7f50fe7f8ed0>第二项声明:
print(base_model.get_layer('block4_pool').output)
>> KerasTensor(type_spec=TensorSpec(shape=(None, 9, 9, 512), dtype=tf.float32, name=None), name='block4_pool/MaxPool:0', description="created by layer 'block4_pool'")发布于 2021-06-12 15:18:50
base_model.get_layer('block4_pool')检索名为block4_pool的层,该层是tensorflow.keras.layers对象。
base_model.get_layer('block4_pool').output检索名为block4_pool的层的输出张量。
https://stackoverflow.com/questions/67949558
复制相似问题