我刚刚开始学习Tensorflow,我在Tensorflow 1.x中发现了一个例子,我认为迁移到Tensorflow 2.x非常困难,所以我决定在它的原始版本中使用它。
你可以在github上找到代码:Omniglot Character Set Classification Using Prototypical Network
我想要将具有全局平均池层的扁平层更改为以下代码:
def get_embeddings(support_set, h_dim, z_dim, reuse=False):
net = convolution_block(support_set, h_dim)
net = convolution_block(net, h_dim)
net = convolution_block(net, h_dim)
net = convolution_block(net, z_dim)
net = tf.compat.v1.layers.flatten(net)
return net在TensorFlow2.x上,我知道我想使用的函数是GlobalAveragePooling2D,但在TensorFlow1.x上找不到同名的函数。我找到了这个AveragePooling2D。
AveragePooling2D和GlobalAveragePooling2D一样吗?
发布于 2020-05-28 22:13:07
如果你不能访问GlobalAveragePooling2D,记住你可以简单地定义你自己的lambda层来做同样的操作
x = np.random.uniform(0,1, (2,224,224,3)).astype('float32')
GlobalAveragePooling2D()(x)
# the same as
Lambda(lambda x: tf.reduce_mean(x, axis=[1,2]))(x)https://stackoverflow.com/questions/62066306
复制相似问题