почему форма embed_input 1000? - PullRequest
0 голосов
/ 26 марта 2020

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

1 Ответ

0 голосов
/ 26 марта 2020

enter image description here

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

Если вы наберете go в строке 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)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...