Создайте сеть различителя PatchGAN
создает сеть различителя PatchGAN для входа размера net = patchGANDiscriminator(inputSize)inputSize. Для получения дополнительной информации об архитектуре сети PatchGAN, смотрите Сеть Различителя PatchGAN.
Эта функция требует Deep Learning Toolbox™.
свойства средств управления сети PatchGAN с помощью аргументов значения имени.net = patchGANDiscriminator(inputSize,Name,Value)
Можно создать сеть различителя PatchGAN 1 на 1, названную пиксельной сетью различителя, путем определения '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] задает входной размер 28 28 пикселей для изображения с 3 каналами.
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'FilterSize',5 создает различитель, слои свертки которого имеют фильтр размера пиксели 5 на 5'NetworkType' — Тип сети различителя"patch" (значение по умолчанию) | "pixel"Тип сети различителя в виде одного из этих значений.
"patch" – Создайте различитель PatchGAN
"pixel" – Создайте пиксельный различитель, который является различителем PatchGAN 1 на 1
Типы данных: char | string
'NumDownsamplingBlocks' — Количество субдискретизации блоков (значение по умолчанию) | положительное целое числоКоличество субдискретизации операций сети в виде положительного целого числа. Сеть различителя прореживает вход на коэффициент 2^NumDownsamplingBlocks. Этот аргумент проигнорирован, когда вы задаете 'NetworkType'как "pixel".
'NumFiltersInFirstBlock' — Количество выхода образовывает канал в первом блоке различителя (значение по умолчанию) | положительное целое числоКоличество просачивается первый блок различителя в виде положительного целого числа.
'FilterSize' — Отфильтруйте размер слоев свертки (значение по умолчанию) | положительное целое число | вектор с 2 элементами из положительных целых чиселОтфильтруйте размер слоев свертки в виде положительного целочисленного или вектора с 2 элементами из положительных целых чисел формы [
ширина высоты]. Когда вы задаете размер фильтра как скаляр, фильтр имеет равную высоту и ширину. Типичные фильтры имеют высоту и ширину между 1 и 4. Этот аргумент оказывает влияние только, когда вы задаете 'NetworkType'как "patch".
'ConvolutionPaddingValue' — Стиль дополнения (значение по умолчанию) | числовой скаляр | "replicate" | "symmetric-include-edge" | "symmetric-exclude-edge"Стиль дополнения используемого в сети в виде одного из этих значений.
PaddingValue | Описание | Пример |
|---|---|---|
| Числовой скаляр | Заполните заданным числовым значением |
|
'symmetric-include-edge' | Заполните зеркально отраженные значения использования входа, включая значения ребра |
|
'symmetric-exclude-edge' | Заполните зеркально отраженные значения использования входа, исключая значения ребра |
|
'replicate' | Заполните использование повторенные элементы границы входа |
|
'ConvolutionWeightsInitializer' — Инициализация веса используется в слоях свертки"glorot" (значение по умолчанию) | "he" | "narrow-normal" | функцияИнициализация веса используется в слоях свертки в виде "glorot", "he", "narrow-normal", или указатель на функцию. Для получения дополнительной информации смотрите, Задают Пользовательскую Функцию Инициализации Веса (Deep Learning Toolbox).
'ActivationLayer' — Функция активации"leakyRelu" (значение по умолчанию) | "relu" | "elu" | расположенный на слое объектФункция активации, чтобы использовать в сети в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Слои Активации (Deep Learning Toolbox).
"relu" — Используйте reluLayer (Deep Learning Toolbox)
"leakyRelu" — Используйте leakyReluLayer (Deep Learning Toolbox) с масштабным коэффициентом 0,2
"elu" — Используйте eluLayer (Deep Learning Toolbox)
Расположенный на слое объект
'FinalActivationLayer' — Функция активации после итоговой свертки"none" (значение по умолчанию) | "sigmoid" | "softmax" | "tanh" | расположенный на слое объектФункция активации после итогового слоя свертки в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Выходные Слои (Deep Learning Toolbox).
"tanh" — Используйте tanhLayer (Deep Learning Toolbox)
"sigmoid" — Используйте sigmoidLayer (Deep Learning Toolbox)
"softmax" — Используйте softmaxLayer (Deep Learning Toolbox)
"none" — Не используйте итоговый слой активации
Расположенный на слое объект
'NormalizationLayer' — Операция Normalization"batch" (значение по умолчанию) | "none" | "instance" | расположенный на слое объектОперация Normalization, чтобы использовать после каждой свертки в виде одного из этих значений. Для получения дополнительной информации и список доступных слоев, смотрите Нормализацию, Уволенного и Слои Обрезки (Deep Learning Toolbox).
"instance" — Используйте instanceNormalizationLayer (Deep Learning Toolbox)
"batch" — Используйте batchNormalizationLayer (Deep Learning Toolbox)
"none" — Не используйте слой нормализации
Расположенный на слое объект
'NamePrefix' — Префикс ко всем именам слоя"" (значение по умолчанию) | представляет в виде строки | вектор символовПрефикс ко всему слою называет в сети в виде строки или вектора символов.
Типы данных: char | string
net — Сеть различителя PatchGANdlnetwork объектСеть различителя PatchGAN, возвращенная как dlnetwork Объект (Deep Learning Toolbox).
Сеть различителя PatchGAN состоит из модуля энкодера, который прореживает вход на коэффициент 2^NumDownsamplingBlocks. Сеть по умолчанию следует за архитектурой, предложенной Чжу и. al. [2].
Модуль энкодера состоит из начального блока слоев, который выполняет одну операцию субдискретизации, NumDownsamplingBlocks– 1 блок субдискретизации и итоговый блок.
Таблица описывает блоки слоев, которые включают модуль энкодера.
| Тип блока | Слои | Схема блока по умолчанию |
|---|---|---|
| Начальный блок |
|
|
| Блок Downsampling |
|
|
| Итоговый блок |
|
|
Пиксельная сеть различителя состоит из начального блока и итогового блока, которые возвращают выходной параметр размера [H W C]. Эта сеть не выполняет субдискретизацию. Сеть по умолчанию следует за архитектурой, предложенной Чжу и. al. [2].
Таблица описывает блоки слоев, которые включают сеть.
| Тип блока | Слои | Схема блока по умолчанию |
|---|---|---|
| Начальный блок |
|
|
| Итоговый блок |
|
|
[1] Isola, Филип, июнь-Yan Чжу, Тинхой Чжоу и Алексей А. Эфрос. "Перевод от изображения к изображению с Условными Соперничающими Сетями". На 2 017 Конференциях по IEEE по Компьютерному зрению и Распознаванию образов (CVPR), 5967–76. Гонолулу, HI: IEEE, 2017. https://arxiv.org/abs/1611.07004.
[2] Чжу, июнь-Yan, парк Taesung и Тунчжоу Ван. "CycleGAN и pix2pix в PyTorch". https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.