Создание сети дискриминаторов PatchGAN
создает сеть дискриминатора PatchGAN для ввода размера net = patchGANDiscriminator(inputSize)inputSize. Дополнительные сведения об архитектуре сети PatchGAN см. в разделе Сеть дискриминатора PatchGAN.
Для выполнения этой функции требуется Toolbox™ глубокого обучения.
управляет свойствами сети PatchGAN с помощью аргументов «имя-значение».net = patchGANDiscriminator(inputSize,Name,Value)
Можно создать сеть дискриминаторов 1 к 1 PatchGAN, называемую сетью пиксельных дискриминаторов, указав 'NetworkTypeаргумент «» как "pixel". Дополнительные сведения об архитектуре сети дискриминатора пикселей см. в разделе Сеть дискриминатора пикселей.
Укажите входной размер сети для цветного изображения размером 256 на 256 пикселей.
inputSize = [256 256 3];
Создайте сеть дискриминатора PatchGAN с указанным размером ввода.
net = patchGANDiscriminator(inputSize)
net =
dlnetwork with properties:
Layers: [13x1 nnet.cnn.layer.Layer]
Connections: [12x2 table]
Learnables: [16x3 table]
State: [6x3 table]
InputNames: {'input_top'}
OutputNames: {'conv2d_final'}
Initialized: 1
Отображение сети.
analyzeNetwork(net)
Укажите входной размер сети для цветного изображения размером 256 на 256 пикселей.
inputSize = [256 256 3];
Создайте сеть дискриминаторов пикселей с указанным размером ввода.
net = patchGANDiscriminator(inputSize,"NetworkType","pixel")
net =
dlnetwork with properties:
Layers: [7x1 nnet.cnn.layer.Layer]
Connections: [6x2 table]
Learnables: [8x3 table]
State: [2x3 table]
InputNames: {'input_top'}
OutputNames: {'conv2d_final'}
Initialized: 1
Отображение сети.
analyzeNetwork(net)
inputSize - Размер сетевого входаРазмер сетевого входа, заданный как 3-элементный вектор положительных целых чисел. inputSize имеет вид [H
W C], где H
- высота, W - ширина, а C - количество каналов. Если вход дискриминатора представляет собой каскадный канал dlarray (Deep Learning Toolbox), то C должен быть сцепленным размером.
Пример: [28 28 3] задает размер ввода для 3-канального изображения 28 на 28 пикселей.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'FilterSize',5 создает дискриминатор, слои свертки которого имеют фильтр размером 5 на 5 пикселей'NetworkType' - Тип дискриминаторной сети"patch" (по умолчанию) | "pixel"Тип дискриминаторной сети, указанный как одно из этих значений.
"patch" - Создание дискриминатора PatchGAN
"pixel" - Создание пиксельного дискриминатора, который является дискриминатором 1 к 1 PatchGAN
Типы данных: char | string
'NumDownsamplingBlocks' - Количество блоков понижающей дискретизации3 (по умолчанию) | положительное целое числоЧисло операций понижающей дискретизации сети, указанное как положительное целое число. Дискриминаторная сеть понижает входной коэффициент на 2 ^NumDownsamplingBlocks. Этот аргумент игнорируется при указании 'NetworkType'как "pixel".
'NumFiltersInFirstBlock' - Количество выходных каналов в первом блоке дискриминатора64 (по умолчанию) | положительное целое числоЧисло фильтров в первом блоке дискриминатора, указанное как положительное целое число.
'FilterSize' - Размер фильтра слоев свертки4 (по умолчанию) | положительное целое | 2-элементный вектор положительных целых чиселРазмер фильтра слоев свертки, определяемый как положительное целое число или 2-элементный вектор положительных целых чисел вида [ширина высоты
]. При указании размера фильтра как скаляра фильтр имеет одинаковую высоту и ширину. Типичные фильтры имеют высоту и ширину от 1 до 4. Этот аргумент действует только при указании 'NetworkType'как "patch".
'ConvolutionPaddingValue' - Стиль заполнения0 (по умолчанию) | числовой скаляр | "replicate" | "symmetric-include-edge" | "symmetric-exclude-edge"Стиль заполнения, используемый в сети, указанный как одно из этих значений.
PaddingValue | Описание | Пример |
|---|---|---|
| Числовой скаляр | Площадка с указанным числовым значением |
|
'symmetric-include-edge' | Pad с использованием зеркальных значений входных данных, включая значения краев |
|
'symmetric-exclude-edge' | Прокладка с использованием зеркальных значений входных данных, за исключением краевых значений |
|
'replicate' | Прокладка с использованием повторяющихся граничных элементов ввода |
|
'ConvolutionWeightsInitializer' - Инициализация веса, используемая в слоях свертки"glorot" (по умолчанию) | "he" | "narrow-normal" | функцияИнициализация веса, используемая в слоях свертки, указанная как "glorot", "he", "narrow-normal"или дескриптор функции. Дополнительные сведения см. в разделе Определение пользовательской функции инициализации веса (панель инструментов глубокого обучения).
'ActivationLayer' - Функция активации"leakyRelu" (по умолчанию) | "relu" | "elu" | объект-слойФункция активации для использования в сети, указанная как одно из этих значений. Дополнительные сведения и список доступных слоев см. в разделе Слои активации (панель инструментов глубокого обучения).
"relu" - Использовать reluLayer (инструментарий для глубокого обучения)
"leakyRelu" - Использовать leakyReluLayer (Deep Learning Toolbox) с масштабным коэффициентом 0,2
"elu" - Использовать eluLayer (инструментарий для глубокого обучения)
Объект слоя
'FinalActivationLayer' - Функция активации после окончательного свертывания"none" (по умолчанию) | "sigmoid" | "softmax" | "tanh" | объект-слойФункция активации после конечного слоя свертки, заданная как одно из этих значений. Дополнительные сведения и список доступных слоев см. в разделе Выходные слои (панель инструментов глубокого обучения).
"tanh" - Использовать tanhLayer (инструментарий для глубокого обучения)
"sigmoid" - Использовать sigmoidLayer (инструментарий для глубокого обучения)
"softmax" - Использовать softmaxLayer (инструментарий для глубокого обучения)
"none" - Не использовать окончательный уровень активации
Объект слоя
'NormalizationLayer' - Операция нормализации"batch" (по умолчанию) | "none" | "instance" | объект-слойОперация нормализации, используемая после каждой свертки, заданная как одно из этих значений. Дополнительные сведения и список доступных слоев см. в разделах Нормализация, Отсев и Обрезка слоев (Панель инструментов глубокого обучения).
"instance" - Использовать instanceNormalizationLayer (инструментарий для глубокого обучения)
"batch" - Использовать batchNormalizationLayer (инструментарий для глубокого обучения)
"none" - Не использовать уровень нормализации
Объект слоя
'NamePrefix' - Префикс ко всем именам слоев"" (по умолчанию) | строка | символьный векторПрефикс ко всем именам слоев в сети, заданный как строковый или символьный вектор.
Типы данных: char | string
net - сеть дискриминатора PatchGANdlnetwork объектсеть дискриминатора PatchGAN, возвращенная как dlnetwork(Панель инструментов глубокого обучения).
Дискриминаторная сеть PatchGAN состоит из модуля кодера, который понижает входные значения в 2 ^NumDownsamplingBlocks. Сеть по умолчанию следует архитектуре, предложенной Zhu et al. al. [2].
Модуль кодера состоит из начального блока уровней, который выполняет одну операцию понижающей дискретизации, NumDownsamplingBlocks-1 блок понижающей дискретизации и последний блок.
Таблица описывает блоки уровней, которые содержат модуль кодера.
| Тип блока | Слои | Схема блока по умолчанию |
|---|---|---|
| Начальный блок |
|
|
| Блок понижающей дискретизации |
|
|
| Окончательный блок |
|
|
Сеть пиксельного дискриминатора состоит из начального блока и конечного блока, которые возвращают выходной сигнал размера [H W C]. Эта сеть не выполняет понижающую дискретизацию. Сеть по умолчанию следует архитектуре, предложенной Zhu et al. al. [2].
В таблице описаны блоки уровней, составляющих сеть.
| Тип блока | Слои | Схема блока по умолчанию |
|---|---|---|
| Начальный блок |
|
|
| Окончательный блок |
|
|
[1] Изола, Филлип, Цзюнь-Янь Чжу, Тинхуй Чжоу и Алексей А. Эфрос. «Преобразование образа в образ с помощью условных состязательных сетей». В 2017 году Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR), 5967-76. Гонолулу, HI: IEEE, 2017. https://arxiv.org/abs/1611.07004.
[2] Чжу, Цзюнь-Янь, парк Тэсунг и Тунчжоу Ван. «CycleGAN и pix2pix в PyTorch». https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.