#python #tensorflow #keras
#python #tensorflow #keras
Вопрос:
У меня есть входной слой, который выглядит следующим образом:
>>>inp = tf.keras.Input(shape=(107, 3))
>>>print(inp)
Tensor("input_25:0", shape=(None, 107, 3), dtype=float32)
Поскольку форма есть (None, 107, 3)
, я хочу использовать каждую из них (None, 107, 1)
для отдельных слоев. Как мне это сделать?
Ответ №1:
Согласно связанной проблеме GitHub, вы можете использовать tf.keras.layers.Lambda
для разделения входного тензора по каналам.
import tensorflow as tf
tfkl = tf.keras.layers
inp = tf.keras.Input(shape=(107, 3))
x0 = tfkl.Lambda(lambda x : x[..., 0])(x)
x1 = tfkl.Lambda(lambda x : x[..., 1])(x)
x2 = tfkl.Lambda(lambda x : x[..., 2])(x)
...
Является Ellipsis
и заполняет фрагменты, чтобы получить только последний фрагмент.