#python #arrays #keras
Вопрос:
Я пытаюсь определить модель, используя keras. В начале этой модели я хочу взять каждый канал в своих входных данных и обработать его индивидуально. После этого я хочу собрать их вместе в качестве каналов.
Это цикл for, в котором я использую каждый канал по отдельности, а затем пытаюсь собрать их вместе.
def call(self, x): encoded_images = np.zeros((batch_size, self.latent_dim, self.channels)) for i in range(self.channels): channel_i = tf.expand_dims(keras.layers.Lambda(lambda x : x[:,:,:,i])(x), -1) encoded_images[:, :, i:i 1] = tf.expand_dims(self.encoder(channel_i), axis=-1)
Я проверил, что то, что я пытаюсь назначить, имеет ту же форму, так что:
encoded_images[:, :, i:i 1].shape = (32, 32, 1) tf.expand_dims(self.encoder(channel_i), axis=-1).shape = (32, 32, 1)
Я не понимаю, почему я получаю эту ошибку.
TypeError: in user code: /opt/conda/lib/python3.7/site-packages/keras/engine/training.py:853 train_function * return step_function(self, iterator) /tmp/ipykernel_36/4063924246.py:46 call * encoded_images[:, :, i:i 1] = tf.expand_dims(self.encoder(channel_i), axis=-1) TypeError: __array__() takes 1 positional argument but 2 were given
Я работаю с блокнотом Jupyter.