问题描述
我发现在构建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?