Следующие функции доступны глобально.
Возвращает потерю L1 между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func l1Loss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает потерю L2 между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func l2Loss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает разницу между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func hingeLoss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает квадрат потери шарнира между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func squaredHingeLoss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает категориальную разницу между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func categoricalHingeLoss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает логарифм гиперболического косинуса ошибки между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func logCoshLoss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает потерю Пуассона между прогнозами и ожиданиями.
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func poissonLoss<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает расхождение Кульбака-Лейблера (расхождение КЛ) между ожиданиями и прогнозами. Учитывая два распределения
p
иq
, KL-дивергенция вычисляетp * log(p / q)
.Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func kullbackLeiblerDivergence<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Возвращает перекрестную энтропию softmax (категориальную перекрестную энтропию) между логитами и метками.
Декларация
@differentiable(wrt: logits) public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>( logits: Tensor<Scalar>, probabilities: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
logits
Выходные данные нейронной сети с горячим кодированием.
labels
Индексы (с нулевым индексом) правильных выходных данных.
Возвращает сигмовидную перекрестную энтропию (двоичную перекрестную энтропию) между логитами и метками.
Декларация
@differentiable(wrt: logits) @differentiable(wrt: (logits, labels) public func sigmoidCrossEntropy<Scalar: TensorFlowFloatingPoint>( logits: Tensor<Scalar>, labels: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
logits
Немасштабированный результат нейронной сети.
labels
Целочисленные значения, соответствующие правильному выводу.
Возвращает тензор той же формы и скаляров, что и указанный тензор.
Декларация
@differentiable public func identity<Scalar>(_ x: Tensor<Scalar>) -> Tensor<Scalar> where Scalar : TensorFlowScalar
Вызывает данное замыкание в контексте, в котором все идентично текущему контексту, за исключением данной фазы обучения.
Декларация
public func withContext<R>(_ context: Context, _ body: () throws -> R) rethrows -> R
Параметры
context
Контекст, который будет установлен до вызова замыкания и восстановлен после возврата замыкания.
body
Нулевое закрытие. Если замыкание имеет возвращаемое значение, это значение также используется как возвращаемое значение функции
withContext(_:_:)
.Возвращаемое значение
Возвращаемое значение замыкания
body
, если таковое имеется.Вызывает данное замыкание в контексте, в котором все идентично текущему контексту, за исключением данной фазы обучения.
Декларация
public func withLearningPhase<R>( _ learningPhase: LearningPhase, _ body: () throws -> R ) rethrows -> R
Параметры
learningPhase
Фаза обучения, которая будет установлена до вызова замыкания и восстановлена после возврата замыкания.
body
Нулевое закрытие. Если замыкание имеет возвращаемое значение, это значение также используется как возвращаемое значение функции
withLearningPhase(_:_:)
.Возвращаемое значение
Возвращаемое значение замыкания
body
, если таковое имеется.Вызывает данное замыкание внутри контекста, в котором все идентично текущему контексту, за исключением данного случайного начального числа.
Декларация
public func withRandomSeedForTensorFlow<R>( _ randomSeed: TensorFlowSeed, _ body: () throws -> R ) rethrows -> R
Параметры
randomSeed
Случайное начальное число, которое будет установлено до вызова замыкания и восстановлено после возврата замыкания.
body
Нулевое закрытие. Если замыкание имеет возвращаемое значение, это значение также используется как возвращаемое значение функции
withRandomSeedForTensorFlow(_:_:)
.Возвращаемое значение
Возвращаемое значение замыкания
body
, если таковое имеется.Вызывает данное замыкание в контексте, в котором все идентично текущему контексту, за исключением данного генератора случайных чисел.
Декларация
public func withRandomNumberGeneratorForTensorFlow<G: RandomNumberGenerator, R>( _ randomNumberGenerator: inout G, _ body: () throws -> R ) rethrows -> R
Параметры
randomNumberGenerator
Генератор случайных чисел, который будет установлен до вызова замыкания и восстановлен после возврата замыкания.
body
Нулевое закрытие. Если замыкание имеет возвращаемое значение, это значение также используется как возвращаемое значение функции
withRandomNumberGeneratorForTensorFlow(_:_:)
.Возвращаемое значение
Возвращаемое значение замыкания
body
, если таковое имеется.Декларация
public func zip<T: TensorGroup, U: TensorGroup>( _ dataset1: Dataset<T>, _ dataset2: Dataset<U> ) -> Dataset<Zip2TensorGroup<T, U>>
LazyTensorBarrier гарантирует, что все живые тензоры (на устройстве, если они предусмотрены) запланированы и работают. Если для параметра wait установлено значение true, этот вызов блокируется до завершения вычисления.
Декларация
public func valueWithGradient<T, R>( at x: T, in f: @differentiable (T) -> Tensor<R> ) -> (value: Tensor<R>, gradient: T.TangentVector) where T: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func valueWithGradient<T, U, R>( at x: T, _ y: U, in f: @differentiable (T, U) -> Tensor<R> ) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector)) where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func valueWithGradient<T, U, V, R>( at x: T, _ y: U, _ z: V, in f: @differentiable (T, U, V) -> Tensor<R> ) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector, V.TangentVector)) where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func valueWithGradient<T, R>( of f: @escaping @differentiable (T) -> Tensor<R> ) -> (T) -> (value: Tensor<R>, gradient: T.TangentVector) where T: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func valueWithGradient<T, U, R>( of f: @escaping @differentiable (T, U) -> Tensor<R> ) -> (T, U) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector)) where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func valueWithGradient<T, U, V, R>( of f: @escaping @differentiable (T, U, V) -> Tensor<R> ) -> (T, U, V) -> ( value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector, V.TangentVector) ) where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, R>( at x: T, in f: @differentiable (T) -> Tensor<R> ) -> T.TangentVector where T: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, U, R>( at x: T, _ y: U, in f: @differentiable (T, U) -> Tensor<R> ) -> (T.TangentVector, U.TangentVector) where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, U, V, R>( at x: T, _ y: U, _ z: V, in f: @differentiable (T, U, V) -> Tensor<R> ) -> (T.TangentVector, U.TangentVector, V.TangentVector) where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, R>( of f: @escaping @differentiable (T) -> Tensor<R> ) -> (T) -> T.TangentVector where T: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, U, R>( of f: @escaping @differentiable (T, U) -> Tensor<R> ) -> (T, U) -> (T.TangentVector, U.TangentVector) where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
Декларация
public func gradient<T, U, V, R>( of f: @escaping @differentiable (T, U, V) -> Tensor<R> ) -> (T, U, V) -> (T.TangentVector, U.TangentVector, V.TangentVector) where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
Заставьте функцию пересчитываться при ее обратном вычислении, что в традиционном автоматическом дифференцировании называется «контрольной точкой».
Декларация
public func withRecomputationInPullbacks<T, U>( _ body: @escaping @differentiable (T) -> U ) -> @differentiable (T) -> U where T : Differentiable, U : Differentiable
Создайте дифференцируемую функцию из функции векторно-якобиевых произведений.
Декларация
public func differentiableFunction<T : Differentiable, R : Differentiable>( from vjp: @escaping (T) -> (value: R, pullback: (R.TangentVector) -> T.TangentVector) ) -> @differentiable (T) -> R
Создайте дифференцируемую функцию из функции векторно-якобиевых произведений.
Декларация
public func differentiableFunction<T, U, R>( from vjp: @escaping (T, U) -> (value: R, pullback: (R.TangentVector) -> (T.TangentVector, U.TangentVector)) ) -> @differentiable (T, U) -> R
Возвращает
x
как тождественную функцию. При использовании в контексте, гдеx
дифференцируется по, эта функция не будет производить никакой производной вx
.Декларация
@_semantics("autodiff.nonvarying") public func withoutDerivative<T>(at x: T) -> T
Применяет данное
body
замыкания кx
. При использовании в контексте, гдеx
дифференцируется по, эта функция не будет производить никакой производной вx
.Декларация
@_semantics("autodiff.nonvarying") public func withoutDerivative<T, R>(at x: T, in body: (T) -> R) -> R
Выполняет замыкание, заставляя операции TensorFlow выполняться на устройстве определенного типа.
Декларация
public func withDevice<R>( _ kind: DeviceKind, _ index: UInt = 0, perform body: () throws -> R ) rethrows -> R
Параметры
kind
Своего рода устройство для выполнения операций TensorFlow.
index
Устройство, на котором выполняются операции.
body
Замыкание, операции TensorFlow которого должны выполняться на устройстве указанного типа.
Выполняет замыкание, запуская операции TensorFlow на устройстве с определенным именем.
Несколько примеров названий устройств:
- «/device:CPU:0»: процессор вашего компьютера.
- «/GPU:0»: сокращенное обозначение первого графического процессора вашей машины, видимого TensorFlow.
- «/job:localhost/replica:0/task:0/device:GPU:1»: полное имя второго графического процессора вашего компьютера, видимое для TensorFlow.
Декларация
public func withDevice<R>(named name: String, perform body: () throws -> R) rethrows -> R
Параметры
name
Имя устройства.
body
Замыкание, операции TensorFlow которого должны выполняться на устройстве указанного типа.
Выполняет замыкание, позволяя TensorFlow размещать операции TensorFlow на любом устройстве. Это должно восстановить поведение размещения по умолчанию.
Декларация
public func withDefaultDevice<R>(perform body: () throws -> R) rethrows -> R
Параметры
body
Замыкание, операции TensorFlow которого должны выполняться на устройстве указанного типа.
Измените размер изображений до нужного размера, используя указанный метод.
Предварительное условие
Изображения должны иметь ранг3
или4
.Предварительное условие
Размер должен быть положительным.Декларация
@differentiable(wrt: images) public func resize( images: Tensor<Float>, size: (newHeight: Int, newWidth: Int), method: ResizeMethod = .bilinear, antialias: Bool = false ) -> Tensor<Float>
Параметры
images
size
Новый размер изображений.
method
Метод изменения размера. Значение по умолчанию —
.bilinear
.antialias
Если это
true
, используйте фильтр сглаживания при понижении разрешения изображения.Измените размер изображений до нужного размера, используя интерполяцию области.
Предварительное условие
Изображения должны иметь ранг3
или4
.Предварительное условие
Размер должен быть положительным.Декларация
public func resizeArea<Scalar: TensorFlowNumeric>( images: Tensor<Scalar>, size: (newHeight: Int, newWidth: Int), alignCorners: Bool = false ) -> Tensor<Float>
Возвращает двумерное расширение с указанными входными данными, фильтром, шагами и заполнением.
Предварительное условие
input
должен иметь ранг4
.Предварительное условие
filter
должен иметь ранг3
.Декларация
@differentiable(wrt: (input, filter) public func dilation2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, strides: (Int, Int, Int, Int) = (1, 1, 1, 1), rates: (Int, Int, Int, Int) = (1, 1, 1, 1), padding: Padding = .valid ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Фильтр расширения.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции
rates
Скорость расширения для каждого измерения входных данных.
Возвращает двумерную эрозию с указанными входными данными, фильтром, шагами и заполнением.
Предварительное условие
input
должен иметь ранг4
.Предварительное условие
filter
должен иметь ранг 3.Декларация
@differentiable(wrt: (input, filter) public func erosion2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, strides: (Int, Int, Int, Int) = (1, 1, 1, 1), rates: (Int, Int, Int, Int) = (1, 1, 1, 1), padding: Padding = .valid ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Эрозионный фильтр.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции
rates
Скорость расширения для каждого измерения входных данных.
Возвращает функцию, которая создает тензор, инициализируя все его значения нулями.
Декларация
public func zeros<Scalar>() -> ParameterInitializer<Scalar> where Scalar : TensorFlowFloatingPoint
Возвращает функцию, которая создает тензор, инициализируя все его значения указанным значением.
Декларация
public func constantInitializer<Scalar: TensorFlowFloatingPoint>( value: Scalar ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор, инициализируя его предоставленным значением. Обратите внимание, что широковещательная рассылка предоставленного значения не поддерживается.
Декларация
public func constantInitializer<Scalar: TensorFlowFloatingPoint>( value: Tensor<Scalar> ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения универсальной инициализации Glorot (Xavier) для указанной фигуры, случайной выборки скалярных значений из равномерного распределения между
-limit
иlimit
, сгенерированного генератором случайных чисел по умолчанию, где предел равенsqrt(6 / (fanIn + fanOut))
иfanIn
/fanOut
представляют собой количество входных и выходных функций, умноженное на рецептивное поле, если оно присутствует.Декларация
public func glorotUniform<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения нормальной инициализации Glorot (Xavier) для указанной формы, случайной выборки скалярных значений из усеченного нормального распределения с центром в
0
со стандартным отклонениемsqrt(2 / (fanIn + fanOut))
, гдеfanIn
/fanOut
представляют количество входных и выходных функций, умноженное на размер восприимчивого поля, если оно присутствует.Декларация
public func glorotNormal<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения однородной инициализации He (Kaiming) для указанной формы, случайной выборки скалярных значений из равномерного распределения между
-limit
иlimit
, сгенерированного генератором случайных чисел по умолчанию, где пределом являетсяsqrt(6 / fanIn)
, аfanIn
представляет количество входных объектов, умноженное на рецептивное поле, если оно присутствует.Декларация
public func heUniform<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения нормальной инициализации He (Kaiming) для указанной формы, случайной выборки скалярных значений из усеченного нормального распределения с центром в
0
со стандартным отклонениемsqrt(2 / fanIn)
, гдеfanIn
представляет количество входных объектов умножается на размер рецептивного поля, если оно имеется.Декларация
public func heNormal<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения универсальной инициализации LeCun для указанной фигуры, случайной выборки скалярных значений из равномерного распределения между
-limit
иlimit
, сгенерированного генератором случайных чисел по умолчанию, где пределом являетсяsqrt(3 / fanIn)
иfanIn
представляет количество входных объектов, умноженное на рецептивное поле, если оно присутствует.Декларация
public func leCunUniform<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор путем выполнения нормальной инициализации LeCun для указанной формы, случайной выборки скалярных значений из усеченного нормального распределения с центром в
0
со стандартным отклонениемsqrt(1 / fanIn)
, гдеfanIn
представляет количество входных объектов, умноженное на размер рецептивного поля, если оно присутствует.Декларация
public func leCunNormal<Scalar: TensorFlowFloatingPoint>( seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Возвращает функцию, которая создает тензор, инициализируя все его значения случайным образом из усеченного нормального распределения. Сгенерированные значения соответствуют нормальному распределению со средним
mean
и стандартным отклонениемstandardDeviation
, за исключением тех значений, величина которых превышает два стандартных отклонения от среднего значения, отбрасываются и пересчитываются.Декларация
public func truncatedNormalInitializer<Scalar: TensorFlowFloatingPoint>( mean: Tensor<Scalar> = Tensor<Scalar>(0), standardDeviation: Tensor<Scalar> = Tensor<Scalar>(1), seed: TensorFlowSeed = Context.local.randomSeed ) -> ParameterInitializer<Scalar>
Параметры
mean
Среднее нормального распределения.
standardDeviation
Стандартное отклонение нормального распределения.
Возвращаемое значение
Усеченная функция инициализации обычных параметров.
Декларация
public func == (lhs: TFETensorHandle, rhs: TFETensorHandle) -> Bool
Возвращает единичную матрицу или пакет матриц.
Декларация
Параметры
rowCount
Количество строк в каждой пакетной матрице.
columnCount
Количество столбцов в каждой матрице пакета.
batchShape
Ведущие размерности пакета возвращенного тензора.
Вычисляет трассировку необязательной пакетной матрицы. След представляет собой сумму по главной диагонали каждой самой внутренней матрицы.
Входные данные представляют собой тензор формы
[..., M, N]
. На выходе получается тензор формы[...]
.Предварительное условие
matrix
должна быть тензором формы[..., M, N]
.Декларация
@differentiable(wrt: matrix) public func trace<T>(_ matrix: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar
Параметры
matrix
Тензор формы
[..., M, N]
.Возвращает разложение Холецкого одной или нескольких квадратных матриц.
Входными данными является тензор формы
[..., M, M]
два самых внутренних измерения которого образуют квадратные матрицы.Входные данные должны быть симметричными и положительно определенными. Для этой операции будет использоваться только нижняя треугольная часть ввода. Верхнетреугольная часть читаться не будет.
Выходные данные представляют собой тензор той же формы, что и входные данные, содержащие разложения Холецкого для всех входных подматриц
[..., :, :]
.Декларация
@differentiable public func cholesky<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Параметры
input
Тензор формы
[..., M, M]
.Возвращает решение
x
системы линейных уравнений, представленнойAx = b
.Предварительное условие
matrix
должна быть тензором формы[..., M, M]
.Предварительное условие
rhs
должен быть тензором формы[..., M, K]
.Декларация
@differentiable public func triangularSolve<T: TensorFlowFloatingPoint>( matrix: Tensor<T>, rhs: Tensor<T>, lower: Bool = true, adjoint: Bool = false ) -> Tensor<T>
Параметры
matrix
Входная матрица треугольных коэффициентов, представляющая
A
вAx = b
.rhs
Значения правой части, представляющие
b
вAx = b
.lower
Является ли
matrix
нижним треугольным (true
) или верхним треугольным (false
). Значение по умолчанию —true
.adjoint
Если
true
, решить с сопряженнойmatrix
вместоmatrix
. Значение по умолчанию —false
.Возвращаемое значение
Решение
x
системы линейных уравнений, представленнойAx = b
.x
имеет ту же форму, что иb
.Вычисляет потерю L1 между
expected
иpredicted
.loss = reduction(abs(expected - predicted))
Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет потерю L2 между
expected
иpredicted
.loss = reduction(square(expected - predicted))
Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет среднее значение абсолютной разницы между метками и прогнозами.
loss = mean(abs(expected - predicted))
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func meanAbsoluteError<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Вычисляет среднее значение квадратов ошибок между метками и прогнозами.
loss = mean(square(expected - predicted))
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func meanSquaredError<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Вычисляет среднеквадратическую логарифмическую ошибку между
predicted
иexpected
loss = square(log(expected) - log(predicted))
Примечание
Отрицательные записи тензора будут ограничены
0
, чтобы избежать неопределенного логарифмического поведения, посколькуlog(_:)
не определен для отрицательных действительных чисел.Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func meanSquaredLogarithmicError<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Вычисляет среднюю абсолютную процентную ошибку между
predicted
иexpected
.loss = 100 * mean(abs((expected - predicted) / abs(expected)))
Декларация
@differentiable(wrt: predicted) @differentiable(wrt: (predicted, expected) public func meanAbsolutePercentageError<Scalar: TensorFlowFloatingPoint>( predicted: Tensor<Scalar>, expected: Tensor<Scalar> ) -> Tensor<Scalar>
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
Вычисляет потерю шарнира между
predicted
иexpected
.loss = reduction(max(0, 1 - predicted * expected))
expected
значения будут равны -1 или 1.Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет квадрат потерь шарнира между
predicted
иexpected
.loss = reduction(square(max(0, 1 - predicted * expected)))
expected
значения будут равны -1 или 1.Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет категориальную потерю шарнира между
predicted
иexpected
.loss = maximum(negative - positive + 1, 0)
гдеnegative = max((1 - expected) * predicted)
иpositive = sum(predicted * expected)
Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет логарифм гиперболического косинуса ошибки прогнозирования.
logcosh = log((exp(x) + exp(-x))/2)
, где x —predicted - expected
ошибкаДекларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет потерю Пуассона между прогнозируемым и ожидаемым. Потеря Пуассона — это среднее значение элементов
Tensor
predicted - expected * log(predicted)
.Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет потерю расхождения Кульбака-Лейблера между
expected
иpredicted
.loss = reduction(expected * log(expected / predicted))
Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет разреженную перекрестную энтропию softmax (категориальную перекрестную энтропию) между логитами и метками. Используйте эту функцию кроссэнтропийных потерь, когда имеется два или более классов меток. Мы ожидаем, что метки будут предоставлены как целые числа. Должно быть
# classes
значений с плавающей запятой для каждой функции дляlogits
и одно значение с плавающей запятой для каждой функции дляexpected
.Декларация
Параметры
logits
Выходные данные нейронной сети с горячим кодированием.
labels
Индексы (с нулевым индексом) правильных выходных данных.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет разреженную перекрестную энтропию softmax (категориальную перекрестную энтропию) между логитами и метками. Используйте эту функцию потерь кроссэнтропии, когда имеется два или более классов меток. Мы ожидаем, что метки будут предоставлены в представлении
one_hot
. Для каждого объекта должно быть# classes
значений с плавающей запятой.Декларация
Параметры
logits
Немасштабированные вероятности журналов нейронной сети.
probabilities
Значения вероятности, соответствующие правильным выходным данным. Каждая строка должна представлять собой допустимое распределение вероятностей.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет сигмовидную перекрестную энтропию (двоичную перекрестную энтропию) между логитами и метками. Используйте эту потерю перекрестной энтропии, когда имеется только два класса меток (предполагается, что они равны 0 и 1). Для каждого примера должно быть одно значение с плавающей запятой для каждого прогноза.
Декларация
Параметры
logits
Немасштабированный результат нейронной сети.
labels
Целочисленные значения, соответствующие правильному выводу.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
Вычисляет потери Хубера между
predicted
иexpected
.Для каждого значения
x
вerror = expected - predicted
:-
0.5 * x^2
если|x| <= δ
. 0.5 * δ^2 + δ * (|x| - δ)
в противном случае.Источник: статья в Википедии .
Декларация
Параметры
predicted
Прогнозируемые результаты нейронной сети.
expected
Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.
delta
Скаляр с плавающей запятой, представляющий точку, в которой функция потерь Хубера меняется с квадратичной на линейную.
reduction
Сокращение, применяемое к вычисленным поэлементным значениям потерь.
-
Возвращает абсолютное значение указанного тензора поэлементно.
Декларация
@differentiable public func abs<T>(_ x: Tensor<T>) -> Tensor<T> where T : SignedNumeric, T : TensorFlowScalar
Возвращает натуральный логарифм указанного тензора поэлементно.
Декларация
@differentiable public func log<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает логарифм по основанию два указанного тензора поэлементно.
Декларация
@differentiable public func log2<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает десятичный логарифм указанного тензора поэлементно.
Декларация
@differentiable public func log10<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает логарифм
1 + x
поэлементно.Декларация
@differentiable public func log1p<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает
log(1 - exp(x))
с использованием численно стабильного подхода.Примечание
Этот подход показан в уравнении 7: https://cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf .Декларация
@differentiable public func log1mexp<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает синус указанного тензора поэлементно.
Декларация
@differentiable public func sin<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает косинус указанного тензора поэлементно.
Декларация
@differentiable public func cos<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тангенс указанного тензора поэлементно.
Декларация
@differentiable public func tan<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает гиперболический синус указанного тензора поэлементно.
Декларация
@differentiable public func sinh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает гиперболический косинус указанного тензора поэлементно.
Декларация
@differentiable public func cosh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает гиперболический тангенс указанного тензора поэлементно.
Декларация
@differentiable public func tanh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный косинус указанного тензора поэлементно.
Декларация
@differentiable public func acos<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный синус указанного тензора поэлементно.
Декларация
@differentiable public func asin<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный тангенс указанного тензора поэлементно.
Декларация
@differentiable public func atan<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный гиперболический косинус указанного тензора поэлементно.
Декларация
@differentiable public func acosh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный гиперболический синус указанного тензора поэлементно.
Декларация
@differentiable public func asinh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный гиперболический тангенс указанного тензора поэлементно.
Декларация
@differentiable public func atanh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает квадратный корень указанного тензора поэлементно.
Декларация
@differentiable public func sqrt<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает обратный квадратный корень указанного тензора поэлементно.
Декларация
@differentiable public func rsqrt<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает экспоненту указанного тензора поэлементно.
Декларация
@differentiable public func exp<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает два, возведенные в степень указанного тензора поэлементно.
Декларация
@differentiable public func exp2<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает десять, возведенные в степень указанного тензора поэлементно.
Декларация
@differentiable public func exp10<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает экспоненту
x - 1
поэлементно.Декларация
@differentiable public func expm1<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает значения указанного тензора, округленные до ближайшего целого числа поэлементно.
Декларация
@differentiable public func round<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает потолок указанного тензора поэлементно.
Декларация
@differentiable public func ceil<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает нижнюю границу указанного тензора поэлементно.
Декларация
@differentiable public func floor<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает указание знака указанного тензора поэлементно. В частности, вычисляет
y = sign(x) = -1
еслиx < 0
; 0, еслиx == 0
; 1, еслиx > 0
.Декларация
@differentiable public func sign<T>(_ x: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar
Возвращает сигмовидную форму указанного тензора поэлементно. В частности, вычисляет
1 / (1 + exp(-x))
.Декларация
@differentiable public func sigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает лог-сигмоида указанного тензора поэлементно. В частности,
log(1 / (1 + exp(-x)))
. Для числовой стабильности мы используем-softplus(-x)
.Декларация
@differentiable public func logSigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает softplus указанного тензора поэлементно. В частности, вычисляет
log(exp(features) + 1)
.Декларация
@differentiable public func softplus<T>(_ features: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает программный знак указанного тензора поэлементно. В частности, вычисляет
features/ (abs(features) + 1)
.Декларация
@differentiable public func softsign<T>(_ features: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает softmax указанного тензора вдоль последней оси. В частности, вычисляет
exp(x) / exp(x).sum(alongAxes: -1)
.Декларация
@differentiable public func softmax<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает softmax указанного тензора вдоль указанной оси. В частности, вычисляет
exp(x) / exp(x).sum(alongAxes: axis)
.Декларация
@differentiable public func softmax<T>(_ x: Tensor<T>, alongAxis axis: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает log-softmax указанного тензора поэлементно.
Декларация
@differentiable public func logSoftmax<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя экспоненциальную линейную единицу. В частности, вычисляет
exp(x) - 1
если < 0,x
в противном случае. См. Быстрое и точное глубокое сетевое обучение с помощью экспоненциальных линейных единиц (ELU).Декларация
@differentiable public func elu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает активации линейной единицы гауссовой ошибки (GELU) указанного тензора поэлементно.
В частности,
gelu
аппроксимируетxP(X <= x)
, гдеP(X <= x)
— стандартное гауссово кумулятивное распределение, вычисляя: x * [0,5 * (1 + tanh[√(2/π) * (x + 0,044715 * x^3)])].Декларация
@differentiable public func gelu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации ReLU к указанному тензору поэлементно. В частности, вычисляет
max(0, x)
.Декларация
@differentiable public func relu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации ReLU6, а именно
min(max(0, x), 6)
.Декларация
@differentiable public func relu6<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя дырявую функцию активации ReLU к указанному тензору поэлементно. В частности, вычисляет
max(x, x * alpha)
.Декларация
@differentiable(wrt: x) public func leakyRelu<T: TensorFlowFloatingPoint>( _ x: Tensor<T>, alpha: Double = 0.2 ) -> Tensor<T>
Возвращает тензор, применяя функцию активации SeLU, а именно
scale * alpha * (exp(x) - 1)
еслиx < 0
, иscale * x
в противном случае.Примечание
Он предназначен для использования вместе с инициализаторами слоя масштабирования дисперсии. Пожалуйста, обратитесь к Самонормализующимся нейронным сетям для получения дополнительной информации.Декларация
@differentiable public func selu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации swish, а именно
x * sigmoid(x)
.Источник: «Поиск функций активации» (Рамачандран и др., 2017) https://arxiv.org/abs/1710.05941
Декларация
@differentiable public func swish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации жесткой сигмоиды, а именно
Relu6(x+3)/6
.Источник: «В поисках MobileNetV3» (Говард и др., 2019 г.) https://arxiv.org/abs/1905.02244 .
Декларация
@differentiable public func hardSigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации жесткого взмаха, а именно
x * Relu6(x+3)/6
.Источник: «В поисках MobileNetV3» (Говард и др., 2019 г.) https://arxiv.org/abs/1905.02244 .
Декларация
@differentiable public func hardSwish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает тензор, применяя функцию активации миша, а именно
x * tanh(softplus(x))
.Источник: «Миш: саморегуляризованная немонотонная функция активации нейронов» https://arxiv.org/abs/1908.08681
Декларация
@differentiable public func mish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает степень первого тензора второму тензору.
Декларация
@differentiable public func pow<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает степень скаляра в тензор, передавая скаляр.
Декларация
@differentiable(wrt: rhs) public func pow<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает степень тензора скаляру, передавая скаляр.
Декларация
@differentiable(wrt: lhs) public func pow<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает степень тензора скаляру, передавая скаляр.
Декларация
@differentiable public func pow<T>(_ x: Tensor<T>, _ n: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает поэлементный корень
n
-й степени тензора.Декларация
@differentiable public func root<T>(_ x: Tensor<T>, _ n: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
Возвращает квадрат разницы между
x
иy
.Декларация
@differentiable public func squaredDifference<T>(_ x: Tensor<T>, _ y: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar
Возвращаемое значение
(x - y) ^ 2
.Возвращает поэлементный максимум двух тензоров.
Примечание
max
поддерживает вещание.Декларация
@differentiable public func max<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает поэлементный максимум скаляра и тензора, передавая скаляр.
Декларация
@differentiable(wrt: rhs) public func max<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает поэлементный максимум скаляра и тензора, передавая скаляр.
Декларация
@differentiable(wrt: lhs) public func max<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает поэлементный минимум из двух тензоров.
Примечание
min
поддерживает вещание.Декларация
@differentiable public func min<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает поэлементный минимум скаляра и тензора, передавая скаляр.
Декларация
@differentiable(wrt: rhs) public func min<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает поэлементный минимум скаляра и тензора, передавая скаляр.
Декларация
@differentiable(wrt: lhs) public func min<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
Возвращает косинусное сходство между
x
иy
.Декларация
@differentiable public func cosineSimilarity<Scalar: TensorFlowFloatingPoint>( _ x: Tensor<Scalar>, _ y: Tensor<Scalar> ) -> Tensor<Scalar>
Возвращает косинусное расстояние между
x
иy
. Косинусное расстояние определяется как1 - cosineSimilarity(x, y)
.Декларация
@differentiable public func cosineDistance<Scalar: TensorFlowFloatingPoint>( _ x: Tensor<Scalar>, _ y: Tensor<Scalar> ) -> Tensor<Scalar>
Возвращает одномерную свертку с указанными входными данными, фильтром, шагом и дополнением.
Предварительное условие
input
должен иметь ранг3
.Предварительное условие
filter
должен иметь ранг 3.Декларация
@differentiable(wrt: (input, filter) public func conv1D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, stride: Int = 1, padding: Padding = .valid, dilation: Int = 1 ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Сверточный фильтр.
stride
Шаг скользящего фильтра.
padding
Прокладка для операции.
dilation
Фактор расширения.
Возвращает двумерную свертку с указанными входными данными, фильтром, шагами и заполнением.
Предварительное условие
input
должен иметь ранг4
.Предварительное условие
filter
должен иметь ранг 4.Декларация
@differentiable(wrt: (input, filter) public func conv2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, strides: (Int, Int, Int, Int) = (1, 1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int, Int) = (1, 1, 1, 1) ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Сверточный фильтр.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции
dilations
Коэффициент расширения для каждого измерения входных данных.
Возвращает двумерную транспонированную свертку с указанными входными данными, фильтром, шагами и заполнением.
Предварительное условие
input
должен иметь ранг4
.Предварительное условие
filter
должен иметь ранг 4.Декларация
@differentiable(wrt: (input, filter) public func transposedConv2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, shape: [Int64], filter: Tensor<Scalar>, strides: (Int, Int, Int, Int) = (1, 1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int, Int) = (1, 1, 1, 1) ) -> Tensor<Scalar>
Параметры
input
Вход.
shape
Выходная форма операции деконволюции.
filter
Сверточный фильтр.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции
dilations
Коэффициент расширения для каждого измерения входных данных.
Возвращает трехмерную свертку с указанными входными данными, фильтром, шагами, заполнением и расширениями.
Предварительное условие
input
должен иметь ранг5
.Предварительное условие
filter
должен иметь ранг 5.Декларация
@differentiable(wrt: (input, filter) public func conv3D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, strides: (Int, Int, Int, Int, Int) = (1, 1, 1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int, Int, Int) = (1, 1, 1, 1, 1) ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Сверточный фильтр.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
dilations
Коэффициент расширения для каждого измерения входных данных.
Возвращает двумерную глубокую свертку с указанными входными данными, фильтром, шагами и заполнением.
Предварительное условие
input
должен иметь ранг 4.Предварительное условие
filter
должен иметь ранг 4.Декларация
@differentiable(wrt: (input, filter) public func depthwiseConv2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filter: Tensor<Scalar>, strides: (Int, Int, Int, Int), padding: Padding ) -> Tensor<Scalar>
Параметры
input
Вход.
filter
Фильтр глубинной свертки.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
Возвращает двумерный максимальный пул с указанными размерами фильтра, шагами и заполнением.
Декларация
@differentiable(wrt: input) public func maxPool2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filterSize: (Int, Int, Int, Int), strides: (Int, Int, Int, Int), padding: Padding ) -> Tensor<Scalar>
Параметры
input
Вход.
filterSize
Размеры пулирующего ядра.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
Возвращает трехмерный максимальный пул с указанными размерами фильтра, шагами и заполнением.
Декларация
@differentiable(wrt: input) public func maxPool3D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filterSize: (Int, Int, Int, Int, Int), strides: (Int, Int, Int, Int, Int), padding: Padding ) -> Tensor<Scalar>
Параметры
input
Вход.
filterSize
Размеры пулирующего ядра.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
Возвращает двумерное среднее значение пула с указанными размерами фильтра, шагами и заполнением.
Декларация
@differentiable(wrt: input) public func avgPool2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filterSize: (Int, Int, Int, Int), strides: (Int, Int, Int, Int), padding: Padding ) -> Tensor<Scalar>
Параметры
input
Вход.
filterSize
Размеры пулирующего ядра.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
Возвращает трехмерное среднее значение пула с указанными размерами фильтра, шагами и заполнением.
Декларация
@differentiable(wrt: input) public func avgPool3D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, filterSize: (Int, Int, Int, Int, Int), strides: (Int, Int, Int, Int, Int), padding: Padding ) -> Tensor<Scalar>
Параметры
input
Вход.
filterSize
Размеры пулирующего ядра.
strides
Шаги скользящего фильтра для каждого измерения входных данных.
padding
Прокладка для операции.
Возвращает двумерный дробный максимальный пул с указанными коэффициентами пула.
Примечание.
fractionalMaxPool
не имеет реализации XLA, поэтому это может влиять на производительность.Декларация
@differentiable(wrt: input) public func fractionalMaxPool2D<Scalar: TensorFlowFloatingPoint>( _ input: Tensor<Scalar>, poolingRatio: (Double, Double, Double, Double), pseudoRandom: Bool = false, overlapping: Bool = false, deterministic: Bool = false, seed: Int64 = 0, seed2: Int64 = 0 ) -> Tensor<Scalar>
Параметры
input
Тензор. 4-D с формой
[batch, height, width, channels]
.poolingRatio
Список
Doubles
. Коэффициент объединения для каждого измеренияinput
в настоящее время поддерживает только измерения строк и столбцов и должен быть >= 1,0.pseudoRandom
Необязательный
Bool
. По умолчанию установлено значениеfalse
. Если установлено значениеtrue
, последовательность объединения генерируется псевдослучайным образом, в противном случае — случайным образом.overlapping
Необязательный
Bool
. По умолчанию установлено значениеfalse
. Если установлено значениеtrue
, это означает, что при объединении значения на границе соседних ячеек объединения используются обеими ячейками.deterministic
Необязательный
Bool
. Если установлено значениеtrue
, при переборе узла FractionalMaxPool2D в графе вычислений будет использоваться фиксированная область пула.seed
Необязательный
Int64
. По умолчанию0
. Если установлено ненулевое значение, генератор случайных чисел заполняется данным начальным числом.seed2
Необязательный
Int64
. По умолчанию0
. Второе семя, чтобы избежать столкновения семян.Возвращает копию
input
, в которой значения из измерения глубины перемещаются в пространственных блоках в измерения высоты и ширины.Например, при вводе формы
[1, 2, 2, 1]
data_format = «NHWC» и block_size = 2:x = [[[[1], [2]], [[3], [4]]]]
Эта операция выведет тензор формы
[1, 1, 1, 4]
:[[[[1, 2, 3, 4]]]]
Здесь вход имеет пакет 1, и каждый элемент пакета имеет форму
[2, 2, 1]
, соответствующий выход будет иметь один элемент (т. е. ширина и высота равны 1) и будет иметь глубину 4 канала (1 *размер_блока *размер_блока). Форма выходного элемента —[1, 1, 4]
.Для входного тензора с большей глубиной, здесь формы
[1, 2, 2, 3]
, напримерx = [[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]
Эта операция для размера блока, равного 2, вернет следующий тензор формы
[1, 1, 1, 12]
[[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
Аналогично, для следующего ввода формы
[1 4 4 1]
и размера блока 2:x = [[[[1], [2], [5], [6]], [[3], [4], [7], [8]], [[9], [10], [13], [14]], [[11], [12], [15], [16]]]]
оператор вернет следующий тензор формы
[1 2 2 4]
:x = [[[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]]]
Предварительное условие
input.rank == 4 && b >= 2
.Предварительное условие
Количество признаков должно делиться на квадратb
.Декларация
@differentiable(wrt: input) public func depthToSpace<Scalar>(_ input: Tensor<Scalar>, blockSize b: Int) -> Tensor<Scalar> where Scalar : TensorFlowScalar
Возвращает копию
input
, в которой значения из измерений высоты и ширины перемещаются в измерение глубины.Например, для ввода формы
[1, 2, 2, 1]
data_format = «NHWC» и block_size = 2:x = [[[[1], [2]], [[3], [4]]]]
Эта операция выведет тензор формы
[1, 1, 1, 4]
:[[[[1, 2, 3, 4]]]]
Здесь вход имеет пакет 1, и каждый элемент пакета имеет форму
[2, 2, 1]
, соответствующий выход будет иметь один элемент (т. е. ширина и высота равны 1) и будет иметь глубину 4 канала (1 *размер_блока *размер_блока). Форма выходного элемента —[1, 1, 4]
.Для входного тензора с большей глубиной, здесь формы
[1, 2, 2, 3]
, напримерx = [[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]]
Эта операция для размера блока, равного 2, вернет следующий тензор формы
[1, 1, 1, 12]
[[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
Аналогично, для следующего ввода формы
[1 4 4 1]
и размера блока 2:x = [[[[1], [2], [5], [6]], [[3], [4], [7], [8]], [[9], [10], [13], [14]], [[11], [12], [15], [16]]]]
Оператор вернет следующий тензор формы
[1 2 2 4]
:x = [[[[1, 2, 3, 4], [5, 6, 7, 8]], [[9, 10, 11, 12], [13, 14, 15, 16]]]]
Предварительное условие
input.rank == 4 && b >= 2
.Предварительное условие
Высота ввода должна делиться наb
.Предварительное условие
Ширина ввода должна делиться наb
.Декларация
@differentiable(wrt: input) public func spaceToDepth<Scalar>(_ input: Tensor<Scalar>, blockSize b: Int) -> Tensor<Scalar> where Scalar : TensorFlowScalar
Создает оптимизатор для за весом для LARS ( https://arxiv.org/pdf/1708.03888.pdf ).
Декларация
public func makeLARS( learningRate: Float = 0.01, momentum: Float = 0.9, trustCoefficient: Float = 0.001, nesterov: Bool = false, epsilon: Float = 0.0, weightDecay: Float = 0.0 ) -> ParameterGroupOptimizer
Создает оптимизатор на основе SGD на вес.
Декларация
public func makeSGD( learningRate: Float = 0.01, momentum: Float = 0, weightDecay: Float = 0, nesterov: Bool = false ) -> ParameterGroupOptimizer
Создает оптимизатор для Adam для Adam с распадом веса.
Декларация
public func makeAdam( learningRate: Float = 0.01, beta1: Float = 0.9, beta2: Float = 0.999, weightDecayRate: Float = 0.01, epsilon: Float = 1e-6 ) -> ParameterGroupOptimizer
Генерирует новое случайное семя для TensorFlow.
Декларация
public func randomSeedForTensorFlow(using seed: TensorFlowSeed? = nil) -> TensorFlowSeed
Объединяет два значения.
Декларация
@differentiable public func concatenate<T: Mergeable>( _ first: T, _ second: T ) -> T
Добавляет два значения и дает их сумму.
Декларация
@differentiable public func sum<T: Mergeable>( _ first: T, _ second: T ) -> T
В среднем два значения.
Декларация
@differentiable public func average<T: Mergeable>( _ first: T, _ second: T ) -> T
Умножается два значения.
Декларация
@differentiable public func multiply<T: Mergeable>( _ first: T, _ second: T ) -> T
Сделайте два значения.
Декларация
@differentiable public func stack<T: Mergeable>( _ first: T, _ second: T ) -> T
Декларация
public func PrintX10Metrics()
Создает резюме строки списка статистики обучения и тестирования.
Декларация
public func formatStatistics(_ stats: (train: HostStatistics, test: HostStatistics)) -> String
Декларация
public func formatStatistics(train trainStats: HostStatistics, test testStats: HostStatistics) -> String
Карты функции по n потокам.
Декларация
public func runOnNThreads<R>(_ nThreads: Int, _ body: @escaping (Int) -> R) -> [R]