建立tf.keras模型时,请使用tf操作

问题描述

我发现在构建tf.keras模型时很难使用简单的tf操作。对于一个玩具示例,假设我想将前一层的两个张量堆叠为一个,keras没有堆栈功能,而tf有,但是要使用它,我必须做类似的事情:

t1 = ...
t1 = ...
t_stack = tf.keras.layers.Lambda(lambda x: tf.stack(x,axis=-1))([t1,t2])

我只是以tf.stack为例,它可能是keras没有的任何tf操作(例如tf.image.resize,很多tf.math操作等)

我想知道是否有一种简单的方法可以在keras中使用任意tf操作?使用tf.keras.backend操作呢?我认为最好将每个操作都保留为keras层。使用后端操作会违反该规则吗?

解决方法

Keras确实有该操作;您实际要寻找的是称为Concatenate()层。

您可以在这里看看:https://www.tensorflow.org/api_docs/python/tf/keras/layers/concatenate

您可能还想在这里看看:How to concatenate two layers in keras?