Добавление локальной сети усилителей в сеть генератора pix2pixHD
добавляет локальную усилительную сеть к сети генератора pix2pixHD, netWithEnhancer = addPix2PixHDLocalEnhancer(net)net. Дополнительные сведения об архитектуре сети см. в разделе pix2pixHD локальной сети Enhancer.
Для выполнения этой функции требуется Toolbox™ глубокого обучения.
управляет аспектами создания локальной сети усилителей с помощью аргументов «имя-значение».netWithEnhancer = addPix2PixHDLocalEnhancer(net,Name,Value)
Укажите размер сетевого входа для 32-канальных данных размером 512 на 1024.
inputSize = [512 1024 32];
Создание pix2pixHD глобальной сети генераторов.
pix2pixHD = pix2pixHDGlobalGenerator(inputSize)
pix2pixHD =
dlnetwork with properties:
Layers: [84x1 nnet.cnn.layer.Layer]
Connections: [92x2 table]
Learnables: [110x3 table]
State: [0x3 table]
InputNames: {'GlobalGenerator_inputLayer'}
OutputNames: {'GlobalGenerator_fActivation'}
Initialized: 1
Добавьте локальную сеть усилителей в сеть pix2pixHD.
pix2pixHDEnhanced = addPix2PixHDLocalEnhancer(pix2pixHD)
pix2pixHDEnhanced =
dlnetwork with properties:
Layers: [113x1 nnet.cnn.layer.Layer]
Connections: [124x2 table]
Learnables: [146x3 table]
State: [0x3 table]
InputNames: {'LocalEnhancer_inputLayer' 'GlobalGenerator_inputLayer'}
OutputNames: {'LocalEnhancer_fActivation'}
Initialized: 1
Просмотрите сеть с помощью локального усилителя.
analyzeNetwork(pix2pixHDEnhanced)
net - сеть генератора pix2pixHDdlnetwork объектPix2pixHD сеть генератора, заданная как dlnetwork(Панель инструментов глубокого обучения). Можно создать сеть генератора pix2pixHD с помощью pix2pixHDGlobalGenerator функция.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'FilterSizeInFirstAndLastBlocks',[5 7] добавляет локальный усилитель, первый и последний слои свертки которого имеют размер 5 на 7'FilterSizeInFirstAndLastBlocks' - Размер фильтра в первом и последнем слоях свертки7 (по умолчанию) | положительное нечетное целое | 2-элементный вектор положительных нечетных целых чиселРазмер фильтра в первом и последнем слоях свертки локальной энхансерной сети, определяемый как положительное нечётное целое или 2-элементный вектор положительных нечётных целых чисел вида [ширина высоты ]. При указании размера фильтра как скаляра фильтр имеет одинаковую высоту и ширину.
'FilterSizeInIntermediateBlocks' - Размер фильтра в промежуточных слоях свертки3 (по умолчанию) | 2-элементный вектор положительных нечётных чисел | положительное нечётное целоеРазмер фильтра в промежуточных слоях свертки в локальной усилительной сети, определяемый как положительное нечетное целое или 2-элементный вектор положительных нечетных целых чисел вида [ширина высоты ]. Промежуточными слоями свертки являются слои свертки, исключая первый и последний слои свертки. При указании размера фильтра как скаляра, фильтр имеет одинаковую высоту и ширину. Типичные значения находятся в диапазоне от 3 до 7.
'NumResidualBlocks' - Количество остаточных блоков3 (по умолчанию) | положительное целое числоКоличество остаточных блоков в локальной усилительной сети, указанное как положительное целое число. Каждый остаточный блок состоит из набора сверточных, нормализующихся и нелинейных слоев с пропускными соединениями между каждым блоком.
'ConvolutionPaddingValue' - Стиль заполнения"symmetric-exclude-edge" (по умолчанию) | "symmetric-include-edge" | "replicate" | числовой скалярСтиль заполнения, используемый в локальной сети усилителей, указанный как одно из этих значений.
PaddingValue | Описание | Пример |
|---|---|---|
| Числовой скаляр | Площадка с указанным числовым значением |
|
'symmetric-include-edge' | Pad с использованием зеркальных значений входных данных, включая значения краев |
|
'symmetric-exclude-edge' | Прокладка с использованием зеркальных значений входных данных, за исключением краевых значений |
|
'replicate' | Прокладка с использованием повторяющихся граничных элементов ввода |
|
'UpsampleMethod' - Метод, используемый для увеличения количества активаций"transposedConv" (по умолчанию) | "bilinearResize" | "pixelShuffle"Метод, используемый для увеличения активации в локальной энхансерной сети, определяемый как одно из следующих значений:
"transposedConv" - Использовать transposedConv2dLayer (Deep Learning Toolbox) с шагом [2 2]
"bilinearResize" - Использовать convolution2dLayer (Deep Learning Toolbox) с шагом [1 1], за которым следует resize2dLayer с масштабом [2 2]
"pixelShuffle" - Использовать convolution2dLayer (Deep Learning Toolbox) с шагом [1 1], за которым следует depthToSpace2dLayer с размером блока [2 2]
Типы данных: char | string
'ConvolutionWeightsInitializer' - Инициализация веса, используемая в слоях свертки"narrow-normal" (по умолчанию) | "glorot" | "he" | функцияИнициализация веса, используемая в слоях свертки локальной сети усилителей, указанная как "glorot", "he", "narrow-normal"или дескриптор функции. Дополнительные сведения см. в разделе Определение пользовательской функции инициализации веса (панель инструментов глубокого обучения).
'ActivationLayer' - Функция активации"relu" (по умолчанию) | "leakyRelu" | "elu" | объект-слойФункция активации для использования в локальной сети энхансеров, указанная как одно из этих значений. Дополнительные сведения и список доступных слоев см. в разделе Слои активации (панель инструментов глубокого обучения).
"relu" - Использовать reluLayer (инструментарий для глубокого обучения)
"leakyRelu" - Использовать leakyReluLayer (Deep Learning Toolbox) с масштабным коэффициентом 0,2
"elu" - Использовать eluLayer (инструментарий для глубокого обучения)
Объект слоя
'NormalizationLayer' - Операция нормализации"instance" (по умолчанию) | "none" | "batch" | объект-слойОперация нормализации для использования после каждого свертывания в локальной сети энхансеров, заданная как одно из этих значений. Дополнительные сведения и список доступных слоев см. в разделах Нормализация, Отсев и Обрезка слоев (Панель инструментов глубокого обучения).
"instance" - Использовать instanceNormalizationLayer (инструментарий для глубокого обучения)
"batch" - Использовать batchNormalizationLayer (инструментарий для глубокого обучения)
"none" - Не использовать уровень нормализации
Объект слоя
'Dropout' - Вероятность отсева0 (по умолчанию) | число в диапазоне [0, 1]Вероятность отсева в локальной усилительной сети, указанная как число в диапазоне [0, 1]. Если указано значение 0, то сеть не включает уровни отсева. Если указано значение больше, чем 0, то сеть включает в себя dropoutLayer (Deep Learning Toolbox) в каждом остаточном блоке.
'NamePrefix' - Префикс ко всем именам слоев"LocalEnhancer_" (по умолчанию) | строка | символьный векторПрефикс ко всем именам слоев в локальной сети усилителей, указанный как строковый или символьный вектор.
Типы данных: char | string
netWithEnhancer - pix2pixHD генераторная сеть с локальным усилителемdlnetwork объектPix2pixHD генераторная сеть с локальным усилителем, возвращенная как dlnetwork(Панель инструментов глубокого обучения).
addPix2PixHDLocalEnhancer функция выполняет эти операции для добавления локальной усилительной сети к pix2pixHD глобальной генераторной сети. Расширенная сеть по умолчанию соответствует архитектуре, предложенной Wang et. al. Ссылки.
Локальная усилительная сеть имеет начальный блок слоев, который принимает изображения размера [2 * H 2
* W C], где H - высота, W - ширина, а C - количество каналов входа в глобальную генераторную сеть, net. Когда net имеет множество входных слоев изображения, размер входного изображения локальной сети усилителей в два раза больше входного размера с максимальным разрешением.
После начального блока локальная усилительная сеть имеет один блок понижающей дискретизации, который понижает выборку данных в два раза. Поэтому выходной сигнал после понижающей дискретизации имеет размер [H W 2 * C].
addPix2PixHDLocalEnhancer функция отсекает конечный блок от глобальной сети генераторов. Затем функция добавляет выход последнего блока повышающей дискретизации в глобальной генераторной сети к выходу данных понижающей дискретизации из усилительной сети с использованием additionLayer (инструментарий глубокого обучения).
Выход сложения затем проходит через NumResidualBlocks остаточные блоки от локального усилителя.
За остаточными блоками следует один повышающий блок, который увеличивает выборку данных до размера [2 * H 2 * W C].
addPix2PixHDLocalEnhancer добавляет последний блок в расширенную сеть. Слой свертки имеет свойства, заданные аргументами addPix2PixHDLocalEnhancer. Если глобальная генераторная сеть имеет окончательный уровень активации, то функция добавляет такой же тип уровня активации в расширенную сеть.
В таблице описаны блоки слоев, которые содержат локальную усилительную сеть.
| Тип блока | Слои | Схема блока по умолчанию |
|---|---|---|
| Начальный блок |
|
|
| Блок понижающей дискретизации |
|
|
| Остаточный блок |
|
|
| Блок повышающей дискретизации |
|
|
| Окончательный блок |
|
|
[1] Ван, Тин-Чунь, Мин-Ю Лю, Цзюнь-Янь Чжу, Эндрю Тао, Ян Каутц и Брайан Катандзаро. «Синтез изображений высокого разрешения и семантическая манипуляция с условными GAN». В 2018 году Конференция IEEE/CVF по компьютерному зрению и распознаванию образов, 8798-8807. Солт-Лейк-Сити, УТ, США: IEEE, 2018. https://doi.org/10.1109/CVPR.2018.00917.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.