Я создаю прототип модели сегментации с глубоким обучением, для которой требуется шесть входных каналов (два выровненных изображения RGB 448x448 при различных условиях освещения). Я хочу сравнить производительность нескольких предварительно обученных моделей с моими текущими моделями, которые я тренировал с нуля. Могу ли я использовать предварительно обученные модели в tf.keras.applications
для входных изображений с более чем 3 каналами?
Я попытался сначала применить свертку, чтобы уменьшить размер канала до 3, а затем передал этот вывод в tf.keras.applications.DenseNet121()
, но получил следующую ошибку:
import tensorflow as tf
dense_input = tf.keras.layers.Input(shape=(448, 448, 6))
dense_filter = tf.keras.layers.Conv2D(3, 3, padding='same')(dense_input)
dense_stem = tf.keras.applications.DenseNet121(include_top=False, weights='imagenet', input_tensor=dense_filter)
*** ValueError: You are trying to load a weight file containing 241 layers into a model with 242 layers.
Есть ли лучший способ использовать предварительно обученные модели для данных с разным количеством входных каналов в кератах? Поможет ли предварительная подготовка, когда количество входных каналов отличается?