Я пытаюсь свернуть тензор с ядром Гаусса.
Я создал ядро Гаусса, следующее за этой ссылкой , и создал ядро Гаусса формы [11, 11, 3]
Изображение, которое я получаю, читая из каталога следующее:
file = tf.train.match_filenames_once("/imgs/*.png")
file_string = tf.train.string_input_producer(file)
image_reader = tf.WholeFileReader()
_, image_file = image_reader.read(file_string)
image = tf.subtract(tf.div(tf.image.resize_images(tf.image.decode_png(image_file, 3), [256, 256], 127.5), 1)
Возвращает тензор формы [256, 256, 3], который будет заполнен RGB-изображением
Затем я попробовал это:
image_smoothed = tf.nn.convolution(image, gauss_kernel, padding='SAME')
и я получаю следующую ошибку:
number of input channels does not match coresponding dimention of filter, 3 != 11
Я попытался переупорядочить размеры как изображения, так и ядра, а также добавил дополнительное измерение для них обоих, чтобы учесть размерность пакета, и я получаю ту же ошибку с этими значениями:
Ядро [11, 11, 3], Изображение [1, 256, 256, 3] -> Ошибка: 256! = 11
Ядро [1, 11, 11, 3], Изображение [1, 256, 256, 3] -> Ошибка: 3! = 11
Ядро [1, 3, 11, 11], Изображение [1, 256, 256, 3] -> Ошибка: 3! = 11
Ядро [3, 11, 11], Изображение [1, 256, 256, 3] -> Ошибка: 256! = 11
Ядро [3, 11, 11], Изображение [256, 256, 3] -> Ошибка: 3! = 11
Ядро [11, 11, 3], Изображение [3, 256, 256, 1] -> Ошибка: 256! = 11
Ядро [11, 11, 3], Изображение [3, 256, 256] -> Ошибка: 256! = 11
Кто-нибудь знает, почему нет правильной комбинации измерений, которая заставляет свертку работать?
Спасибо