почему форма embed_input 1000?

Я прошел этот код, чтобы раскрасить изображения в градациях серого, но не смог понять часть слияния и почему форма embed_input 1000. https://github.com/satyam671/Colorizing-greysclae-images-using-deep-learning/blob/ ведущий / Full.py

Всего 1 ответ


введите описание изображения здесь

Код основан на вышеуказанной архитектуре. Он использует кодировщик (описанная выше часть) с в основном сверточными слоями, но также использует InceptionResNetv2 в качестве средства извлечения признаков. Он использует 1000 сплющенных объектов в качестве вектора объектов из InceptionResNetv2 и выполняет слияние с кодером, а затем использует декодер.

Если вы перейдете к строке 93 (сгенерируйте тренировочные данные), вы найдете функцию.

def image_a_b_gen(batch_size):
    for batch in datagen.flow(Xtrain, batch_size=batch_size):
        grayscaled_rgb = gray2rgb(rgb2gray(batch))
        embed = create_inception_embedding(grayscaled_rgb) # this is where the 1000 length feature vector is extracted
        lab_batch = rgb2lab(batch)
        X_batch = lab_batch[:,:,:,0]
        X_batch = X_batch.reshape(X_batch.shape+(1,))
        Y_batch = lab_batch[:,:,:,1:] / 128
        yield ([X_batch, create_inception_embedding(grayscaled_rgb)], Y_batch)

Функция create_inception_embedding делает извлечение объектов, наконец, слияние завершено.

# Fusion
fusion_output = RepeatVector(32 * 32)(embed_input) 
fusion_output = Reshape(([32, 32, 1000]))(fusion_output)

Здесь вектор признаков повторяется на выходе энкодера, как показано на схеме.


Есть идеи?

10000