LCN

Описание

Info

Родительский класс: LRN

Производные классы: -

Данный модуль реализует локальный контрастно нормализационный слой (local contrast normalization layer).

Локальная нормализация контраста - это метод, используемый для нормализации контраста изображения нелинейным способом. Вместо выполнения глобальной нормализации на основе диапазона значений всего изображения LCN работает с локальными участками изображения на основе каждого пикселя.

Реализуется путем удаления среднего значения окрестности из конкретного пикселя и деления на изменение значений пикселей.

Данная техника нормализации является устаревшей.

Инициализация

def __init__(self, N=5, alpha=1e-4, beta=0.75, K=2.0, includePad=True, name=None):

Параметры

Параметр Возможные типы Описание По умолчанию
N int Количество каналов для суммирования 5
alpha float Сдвиг 1e-4
beta float Параметр масштаба 0.75
K float Радиус глубины 2.0
includePad bool Делать ли заполнение значений по периметру тензора True
name str Имя слоя None

Пояснения

N - количество каналов для суммирования (для поперечного канала LRN) или длина стороны квадратной области для суммирования (для внутреннего канала LRN). Значение параметра должно быть нечетным;


alpha - сдвиг, небольшое положительное число, близкое к нулю, чтобы избежать деления на ноль;


K - радиус глубины. Половина ширины окна 1-D нормализации.

Примеры

Необходимые импорты.

import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Modules import LCN
batchsize, maps, h, w = 1, 1, 5, 5
data =  gpuarray.to_gpu(np.random.randn(batchsize, maps, h, w).astype(np.float32))
lcn = LCN(N=5)
lcn(data)