Я обертываю функцию как слой. В этой функции мне нужно знать, какова форма ввода. Первый индекс формы - batch_size, мне нужно это знать! Проблема в том, что K.int_shape возвращает что-то вроде (None, 2, 10). Но это (Ничего) не должно быть известно во время выполнения, верно? это все еще Нет и вызывает ошибку.
По сути, в моей функции я хочу создать константу, равную размеру batch_size.
Вот моя функция для того, что стоит
def func(inputs):
max_iter=3
x, y= inputs
c= tf.complex(x, y)
print(K.int_shape(c))
z= tf.zeros(shape=K.int_shape(c), dtype='complex64')
#b=K.switch(K.greater( tf.abs(c) , 4), K.constant(1, shape=(1,1)), K.constant(0, shape=(1,1)))
for i in range(max_iter):
c= c * c + z
return c
layer= Lambda(func)
Вы можете видеть, где я создал константу z. Я хочу, чтобы его форма была равна форме ввода. Но это вызывает ошибку с массивным следом. Если я заменю это на фиксированную форму, это сработает. Я проследил ошибку до этого проклятого Ничего.