微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何操作Keras图层? :立体视觉成本量

如何解决如何操作Keras图层? :立体视觉成本量

我想创建一个将Keras图层连接起来的函数,如下所示:

假设我们有两层大小相同的(h xw x f)

我想做的是,按照以下步骤制作特征量(w xh x w x f):

enter image description here

我找不到通过任意数字/轴移动/切割图层的正确方法

如果有人可以教路,非常感谢。

解决方法

您可以执行以下操作。我们基本上是按照您所显示的那样切片,然后将0填充到末尾,以使其具有与用于堆叠的蓝色输入相同的大小。请注意,在这里,我正在更改高度尺寸(即不改变宽度),因此需要对宽度做些微修改(主要是改组)。

import tensorflow as tf
import tensorflow.keras.layers as layers

inp = layers.Input(shape=(64,64,3))

out1 = layers.Conv2D(16,(3,3),activation='relu',padding='same')(inp)
out2 = layers.Conv2D(16,padding='same')(inp)

out3 = layers.Lambda(lambda x: tf.stack(
    [x[0]]+[
        tf.pad(x[1][:,:-i,:,:],[[0,0],[0,i],0]]) for i in range(1,x[1].shape[1])
    ],axis=1))([out1,out2])

print(out3.shape)

给出最终输出的大小,

(None,16)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。