Создайте сеть различителя PatchGAN
создает сеть различителя PatchGAN для входа размера net
= patchGANDiscriminator(inputSize
)inputSize
. Для получения дополнительной информации об архитектуре сети PatchGAN, смотрите Сеть Различителя PatchGAN.
Эта функция требует Deep Learning Toolbox™.
свойства средств управления сети PatchGAN с помощью аргументов name-value.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 на 5NetworkType
— Тип сети различителя"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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.