gpt4 book ai didi

python - Keras:转置 Conv2D 层的内核以便在另一个 Conv2D 层中重用

转载 作者:行者123 更新时间:2023-11-30 09:59:26 25 4
gpt4 key购买 nike

我正在尝试使用 Keras 功能 API 实现自己的层。这个想法是转置卷积算子。到目前为止我得到了:

        k1 = self.tied_to.kernel
self.kernel = K.transpose(k1)

如果我只传递前一层的内核而不对其进行任何操作,则代码可以工作。内核以 3x3 的形状定义,因此转置它应该可以很好地工作。但问题是内核是形状为 3x3x1x1 的张量形式,而 K.transpose 转置了完整的张量。如何仅转置内核本身,以便再次获得 3x3x1x1 形式的内核?

最佳答案

您想使用K.permute_dimensions

我不确定你想要转置什么,但我看到两种可能性。

  • 转置空间维度(内核将相同的事物识别为原始内核,但方向不同):K.permute_dimensions(k1, (1,0,2,3))
  • 转置输入和输出 channel (也许在反向层中使用内核 - 不知道这是否存在,但是......):K.permute_dimensions(k1, (0,1,3,2))

关于python - Keras:转置 Conv2D 层的内核以便在另一个 Conv2D 层中重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com