首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在tensorflow中使用tf.keras.layers.concatenate()作为自定义层

在tensorflow中使用tf.keras.layers.concatenate()作为自定义层
EN

Stack Overflow用户
提问于 2020-02-22 17:16:34
回答 1查看 1.8K关注 0票数 1

我想使用tensorflow中的自定义层来制作U-net。我需要在那里使用tf.keras.layers.concatenate,这是我的问题。输入所有其他层的张量,我可以在方法调用中添加到层。但是级联层的语法是tf.keras.layers.concatenate(输入,轴),我需要类似于tf.keras.layers.concatenate( axis) (输入)的语法,但是它不能工作。有人能帮我吗?

谢谢。

我的代码是这样的:

代码语言:javascript
运行
复制
class MyModel(tf.keras.Model):
  def __init__(self):
    super(MyModel, self).__init__()
    self.block1 = Conv2D(.....)
    self.block2 = BatchNormalization()
    ....etc.....
    self.decoder_concat = tf.keras.layers.concatenate(axis=-1) #that i need but it does not work

  def call(self, inputs):
     x = self.block1(inputs)
     x = self.block2(x)
     ....etc......
     x = self.decoder_concat([x, concatLayer]) #that i need but it does not work
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 10:30:05

在这里提供解决方案(答案部分),即使它存在于评论部分,以造福社区。

在将tf.keras.layers.concatenate改为tf.keras.layers.Concatenate之后,解决了这个问题。

tf.keras.layers.Concatenate用作连接Tensorflow中输入列表的层,其中tf.keras.layers.concatenate充当连接层的功能接口。请参阅更多细节这里

请参阅下面更新的代码

代码语言:javascript
运行
复制
class MyModel(tf.keras.Model):
  def __init__(self):
    super(MyModel, self).__init__()
    self.block1 = Conv2D(.....)
    self.block2 = BatchNormalization()
    ....etc.....
    self.decoder_concat = tf.keras.layers.Concatenate(axis=-1) #that i need but it does not work

  def call(self, inputs):
     x = self.block1(inputs)
     x = self.block2(x)
     ....etc......
     x = self.decoder_concat([x, concatLayer]) #that i need but it does not work
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60354700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档