@frozen
public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Трехмерный слой свертки для пространственной/пространственно-временной свертки изображений.
Этот слой создает фильтр свертки, который свертывается с входными данными слоя для создания тензора выходных данных.
5-D сверточный фильтр.
Декларация
public var filter: Tensor<Scalar>
Вектор смещения.
Декларация
public var bias: Tensor<Scalar>
Функция поэлементной активации.
Декларация
@noDerivative public let activation: Activation
Шаги скользящего окна для пространственных измерений.
Декларация
@noDerivative public let strides: (Int, Int, Int)
Алгоритм заполнения для свертки.
Декларация
@noDerivative public let padding: Padding
Коэффициент расширения пространственных/пространственно-временных измерений.
Декларация
@noDerivative public let dilations: (Int, Int, Int)
Создает слой
Conv3D
с указанным фильтром, смещением, функцией активации, шагами и заполнением.Декларация
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1) )
Параметры
filter
Пятимерный сверточный фильтр формы [глубина фильтра, высота фильтра, ширина фильтра, количество входных каналов, количество выходных каналов].
bias
Вектор смещения формы [количество выходных каналов].
activation
Функция поэлементной активации.
strides
Шаги скользящего окна для пространственных измерений, т.е. (глубина шага, высота шага, ширина шага)
padding
Алгоритм заполнения для свертки.
dilations
Коэффициент расширения пространственных/пространственно-временных измерений.
Возвращает выходные данные, полученные в результате применения слоя к заданным входным данным.
Выходные пространственные размеры вычисляются как:
глубина вывода = (глубина ввода + 2 * глубина заполнения - (глубина расширения * (глубина фильтра - 1) + 1)) / глубина шага + 1
высота вывода = (высота ввода + 2 * высота заполнения - (высота расширения * (высота фильтра - 1) + 1)) / высота шага + 1
выходная ширина = (входная ширина + 2 * ширина заполнения - (ширина расширения * (ширина фильтра - 1) + 1)) / ширина шага + 1
и размеры заполнения определяются схемой заполнения.
Примечание
Размер заполнения равен нулю при использовании
.valid
.Параметры
input
Ввод в слой формы [количество пакетов, глубина ввода, высота ввода, ширина ввода, количество входных каналов].
Возвращаемое значение
Вывод формы [количество пакетов, глубина вывода, высота вывода, ширина вывода, количество выходных каналов].
Создает слой
Conv3D
с указанной формой фильтра, шагами, заполнением, расширениями и функцией активации поэлементно. Тензор фильтра инициализируется с использованием универсальной инициализации Glorot с указанным начальным числом. Вектор смещения инициализируется нулями.Декларация
public init( filterShape: (Int, Int, Int, Int, Int), strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Параметры
filterShape
Форма 5-D сверточного фильтра, представляющая (глубину фильтра, высоту фильтра, ширину фильтра, количество входных каналов, количество выходных каналов).
strides
Шаги скользящего окна для пространственных измерений, т.е. (глубина шага, высота шага, ширина шага)
padding
Алгоритм заполнения для свертки.
dilations
Коэффициент расширения пространственных/пространственно-временных измерений.
activation
Функция поэлементной активации.
filterInitializer
Инициализатор, используемый для параметров фильтра.
biasInitializer
Инициализатор, используемый для параметров смещения.