Создайте pix2pixHD глобальную сеть генератора
создает pix2pixHD сеть генератора для входа размера net
= pix2pixHDGlobalGenerator(inputSize
)inputSize
. Для получения дополнительной информации о сетевой архитектуре, см. pix2pixHD Сеть Генератора.
Эта функция требует Deep Learning Toolbox™.
изменяет свойства pix2pixHD сети с помощью аргументов значения имени.net
= pix2pixHDGlobalGenerator(inputSize
,Name,Value
)
Задайте сетевой входной размер для данных с 32 каналами размера 512 1024 пиксели.
inputSize = [512 1024 32];
Создайте pix2pixHD глобальную сеть генератора.
net = pix2pixHDGlobalGenerator(inputSize)
net = 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
Отобразите сеть.
analyzeNetwork(net)
Задайте сетевой входной размер для данных с 32 каналами размера 512 1024 пиксели.
inputSize = [512 1024 32];
Создайте pix2pixHD сеть генератора, которая выполняет нормализацию партии. после каждой свертки.
net = pix2pixHDGlobalGenerator(inputSize,"Normalization","batch")
net = dlnetwork with properties: Layers: [84x1 nnet.cnn.layer.Layer] Connections: [92x2 table] Learnables: [110x3 table] State: [54x3 table] InputNames: {'GlobalGenerator_inputLayer'} OutputNames: {'GlobalGenerator_fActivation'} Initialized: 1
Отобразите сеть.
analyzeNetwork(net)
inputSize
— Сетевой входной размерСетевой входной размер в виде вектора с 3 элементами из положительных целых чисел. inputSize
имеет форму [H
W
C], где H является высотой, W является шириной, и C является количеством каналов.
Пример: [28 28 3]
задает входной размер 28 28 пикселей для изображения с 3 каналами.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'NumFiltersInFirstBlock',32
создает сеть с 32, просачивается первый слой свертки'NumDownsamplingBlocks'
— Количество субдискретизации блоков
(значение по умолчанию) | положительное целое числоКоличество субдискретизации блоков в сетевом модуле энкодера в виде положительного целого числа. Всего, сеть прореживает вход на коэффициент 2^NumDownsamplingBlocks
. Модуль декодера состоит из того же количества повышающей дискретизации блоков.
'NumFiltersInFirstBlock'
— Количество просачивается первый слой свертки
(значение по умолчанию) | положительный даже целое числоКоличество просачивается первый слой свертки в виде положительного даже целое число.
'NumOutputChannels'
— Количество выходных каналов
(значение по умолчанию) | положительное целое числоКоличество выхода образовывает канал в виде положительного целого числа.
'FilterSizeInFirstAndLastBlocks'
— Отфильтруйте размер в первых и последних слоях свертки
(значение по умолчанию) | положительное нечетное целое число | вектор с 2 элементами из положительных нечетных целых чиселОтфильтруйте размер в первых и последних слоях свертки сети в виде положительного нечетного целочисленного или вектора с 2 элементами из положительных нечетных целых чисел формы [ ширина высоты]. Когда вы задаете размер фильтра как скаляр, фильтр имеет равную высоту и ширину.
'FilterSizeInIntermediateBlocks'
— Отфильтруйте размер в промежуточных слоях свертки
(значение по умолчанию) | вектор с 2 элементами из положительных нечетных целых чисел | положительное нечетное целое числоОтфильтруйте размер в промежуточных слоях свертки в виде положительного нечетного целочисленного или вектора с 2 элементами из положительных нечетных целых чисел формы [ ширина высоты]. Промежуточные слои свертки являются слоями свертки, исключая первый и последний слой свертки. Когда вы задаете размер фильтра как скаляр, фильтр имеет идентичную высоту и ширину. Типичные значения между 3 и 7.
'NumResidualBlocks'
— Количество остаточных блоков
(значение по умолчанию) | положительное целое числоКоличество остаточных блоков в виде положительного целого числа.
'ConvolutionPaddingValue'
— Стиль дополнения"symmetric-exclude-edge"
(значение по умолчанию) | "symmetric-include-edge"
| "replicate"
| числовой скалярСтиль дополнения используемого в сети в виде одного из этих значений.
PaddingValue | Описание | Пример |
---|---|---|
Числовой скаляр | Заполните заданным числовым значением |
|
'symmetric-include-edge' | Заполните зеркально отраженные значения использования входа, включая значения ребра |
|
'symmetric-exclude-edge' | Заполните зеркально отраженные значения использования входа, исключая значения ребра |
|
'replicate' | Заполните использование повторенные элементы границы входа |
|
'UpsampleMethod'
— Метод раньше сверхдискретизировал активации"transposedConv"
(значение по умолчанию) | "bilinearResize"
| "pixelShuffle"
Метод раньше сверхдискретизировал активации в виде одного из этих значений:
"transposedConv"
— Используйте a transposedConv2dLayer
(Deep Learning Toolbox) шагом [2 2]
"bilinearResize"
— Используйте convolution2dLayer
(Deep Learning Toolbox) шагом [1 1] сопровождаемый resize2dLayer
со шкалой [2 2]
"pixelShuffle"
— Используйте convolution2dLayer
(Deep Learning Toolbox) шагом [1 1] сопровождаемый a depthToSpace2dLayer
с размером блока [2 2]
Типы данных: char |
string
'ConvolutionWeightsInitializer'
— Инициализация веса используется в слоях свертки"narrow-normal"
(значение по умолчанию) | "glorot"
| "he"
| функцияИнициализация веса используется в слоях свертки в виде "glorot"
, "he"
, "narrow-normal"
, или указатель на функцию. Для получения дополнительной информации смотрите, Задают Пользовательскую Функцию Инициализации Веса (Deep Learning Toolbox).
'ActivationLayer'
— Функция активации"relu"
(значение по умолчанию) | "leakyRelu"
| "elu"
| расположенный на слое объектФункция активации, чтобы использовать в сети в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Слои Активации (Deep Learning Toolbox).
"relu"
— Используйте reluLayer
(Deep Learning Toolbox)
"leakyRelu"
— Используйте leakyReluLayer
(Deep Learning Toolbox) с масштабным коэффициентом 0,2
"elu"
— Используйте eluLayer
(Deep Learning Toolbox)
Расположенный на слое объект
'FinalActivationLayer'
— Функция активации после итоговой свертки"tanh"
(значение по умолчанию) | "sigmoid"
| "softmax"
| "none"
| расположенный на слое объектФункция активации после итогового слоя свертки в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Выходные Слои (Deep Learning Toolbox).
"tanh"
— Используйте tanhLayer
(Deep Learning Toolbox)
"sigmoid"
— Используйте sigmoidLayer
(Deep Learning Toolbox)
"softmax"
— Используйте softmaxLayer
(Deep Learning Toolbox)
"none"
— Не используйте итоговый слой активации
Расположенный на слое объект
'NormalizationLayer'
— Операция Normalization"instance"
(значение по умолчанию) | "none"
| "batch"
| расположенный на слое объектОперация Normalization, чтобы использовать после каждой свертки в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Нормализацию, Уволенного и Слои Обрезки (Deep Learning Toolbox).
"instance"
— Используйте instanceNormalizationLayer
(Deep Learning Toolbox)
"batch"
— Используйте batchNormalizationLayer
(Deep Learning Toolbox)
"none"
— Не используйте слой нормализации
Расположенный на слое объект
'Dropout'
— Вероятность уволенного
(значение по умолчанию) | номер в области значений [0, 1]Вероятность уволенного в виде номера в области значений [0, 1]. Если вы задаете значение 0
, затем сеть не включает слои уволенного. Если вы задаете значение, больше, чем 0
, затем сеть включает dropoutLayer
(Deep Learning Toolbox) в каждом остаточном блоке.
'NamePrefix'
— Префикс ко всем именам слоя"GlobalGenerator_"
(значение по умолчанию) | представляет в виде строки | вектор символовПрефикс ко всему слою называет в сети в виде строки или вектора символов.
Типы данных: char |
string
net
— сеть генератора pix2pixHDdlnetwork
объектСеть генератора Pix2pixHD, возвращенная как dlnetwork
Объект (Deep Learning Toolbox).
pix2pixHD сеть генератора состоит из модуля энкодера, сопровождаемого модулем декодера. Сеть по умолчанию следует за архитектурой, предложенной Ваном и. al. [1].
Модуль энкодера прореживает вход на коэффициент 2^NumDownsamplingBlocks
. Модуль энкодера состоит из начального блока слоев, NumDownsamplingBlocks
субдискретизация блоков и NumResidualBlocks
остаточные блоки. Модуль декодера сверхдискретизировал вход на коэффициент 2^NumDownsamplingBlocks
. Модуль декодера состоит из NumDownsamplingBlocks
повышающая дискретизация блоков и итогового блока.
Таблица описывает блоки слоев, которые включают модули энкодера и декодера.
Тип блока | Слои | Схема блока по умолчанию |
---|---|---|
Начальный блок |
|
|
Блок Downsampling |
|
|
Остаточный блок |
|
|
Блок Upsampling |
|
|
Итоговый блок |
|
|
Можно создать сеть различителя для pix2pixHD при помощи patchGANDiscriminator
функция.
Обучите сеть pix2pixHD GAN с помощью пользовательского учебного цикла.
[1] Ван, Звон-Chun, Мин-Юй Лю, июнь-Yan Чжу, Эндрю Тао, Ян Коц и Брайан Кэйтанзаро. "Синтез изображений с высоким разрешением и Семантическая Манипуляция с Условным GANs". На 2018 Конференциях IEEE/CVF по Компьютерному зрению и Распознаванию образов, 8798–8807. Солт-Лейк-Сити, UT, США: IEEE, 2018. https://doi.org/10.1109/CVPR.2018.00917.
addPix2PixHDLocalEnhancer
| blockedNetwork
| cycleGANGenerator
| encoderDecoderNetwork
| unitGenerator
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.