Я пытаюсь использовать предварительно обученную модель Resnet50 из tenorflow_hub. Тем не менее, я намерен изменить первый слой свертки, чтобы иметь возможность принимать 4-канальный тензор (изображение + двоичная маска), где веса сети инициализируются из предварительно обученной модели, за исключением недавно добавленных фильтров, которые инициализируются случайным образом. .
Основной код, используемый для извлечения весов Resnet50:
import tensorflow_hub as hub
import numpy as np
module = hub.Module("https://tfhub.dev/google/imagenet/resnet_v1_50/feature_vector/3")
batch = 2
channels = 3
height, width = hub.get_expected_image_size(module)
images = np.zeros((batch, height, width, channels))
features = module(dict(images=images), signature="image_feature_vector", as_dict=True)