Функции

Следующие функции доступны глобально.

  • Возвращает потерю 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 LazyTensorBarrier(on device: Device? = nil, devices: [Device] = [], wait: Bool = false)
  • Декларация

    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

    4-D Tensor формы [batch, height, width, channels] или 3-D Tensor формы [height, width, channels] .

    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>

    Параметры

    images

    4-D Tensor формы [batch, height, width, channels] или 3-D Tensor формы [height, width, channels] .

    size

    Новый размер изображений.

  • Возвращает двумерное расширение с указанными входными данными, фильтром, шагами и заполнением.

    Предварительное условие

    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
  • Возвращает единичную матрицу или пакет матриц.

    Декларация

    public func eye<Scalar: Numeric>(
      rowCount: Int,
      columnCount: Int? = nil,
      batchShape: [Int] = [],
      on device: Device = .default
    ) -> Tensor<Scalar>

    Параметры

    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))

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l1Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет потерю L2 между expected и predicted . loss = reduction(square(expected - predicted))

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l2Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Параметры

    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.

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func hingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет квадрат потерь шарнира между predicted и expected . loss = reduction(square(max(0, 1 - predicted * expected))) expected значения будут равны -1 или 1.

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func squaredHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет категориальную потерю шарнира между predicted и expected . loss = maximum(negative - positive + 1, 0) , где negative = max((1 - expected) * predicted) и positive = sum(predicted * expected)

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func categoricalHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет логарифм гиперболического косинуса ошибки прогнозирования. logcosh = log((exp(x) + exp(-x))/2) , где x — predicted - expected ошибка

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func logCoshLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет потерю Пуассона между прогнозируемым и ожидаемым. Потеря Пуассона — это среднее значение элементов Tensor predicted - expected * log(predicted) .

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func poissonLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет потерю расхождения Кульбака-Лейблера между expected и predicted . loss = reduction(expected * log(expected / predicted))

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func kullbackLeiblerDivergence<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Параметры

    predicted

    Прогнозируемые результаты нейронной сети.

    expected

    Ожидаемые значения, т. е. целевые значения, соответствующие правильным результатам.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет разреженную перекрестную энтропию softmax (категориальную перекрестную энтропию) между логитами и метками. Используйте эту функцию кроссэнтропийных потерь, когда имеется два или более классов меток. Мы ожидаем, что метки будут предоставлены как целые числа. Должно быть # classes значений с плавающей запятой для каждой функции для logits и одно значение с плавающей запятой для каждой функции для expected .

    Декларация

    @differentiable(wrt: logits)
    public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      labels: Tensor<Int32>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    logits

    Выходные данные нейронной сети с горячим кодированием.

    labels

    Индексы (с нулевым индексом) правильных выходных данных.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет разреженную перекрестную энтропию softmax (категориальную перекрестную энтропию) между логитами и метками. Используйте эту функцию кроссэнтропийных потерь, когда имеется два или более классов меток. Мы ожидаем, что метки будут предоставлены в представлении one_hot . Для каждого объекта должно быть # classes значений с плавающей запятой.

    Декларация

    @differentiable(wrt: logits)
    public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      probabilities: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    logits

    Немасштабированные вероятности журналов нейронной сети.

    probabilities

    Значения вероятности, соответствующие правильным выходным данным. Каждая строка должна представлять собой допустимое распределение вероятностей.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет сигмовидную перекрестную энтропию (двоичную перекрестную энтропию) между логитами и метками. Используйте эту потерю перекрестной энтропии, когда имеется только два класса меток (предполагается, что они равны 0 и 1). Для каждого примера должно быть одно значение с плавающей запятой для каждого прогноза.

    Декларация

    @differentiable(wrt: logits)
    @differentiable(wrt: (logits, labels)
    public func sigmoidCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      labels: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Параметры

    logits

    Немасштабированный результат нейронной сети.

    labels

    Целочисленные значения, соответствующие правильному выводу.

    reduction

    Сокращение, применяемое к вычисленным поэлементным значениям потерь.

  • Вычисляет потери Хубера между predicted и expected .

    Для каждого значения x в error = expected - predicted :

    Декларация

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func huberLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      delta: Scalar,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Параметры

    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>
  • Выполняет умножение матрицы на другой тензор и выдает результат.

    Декларация

    @differentiable
    public func matmul<Scalar: Numeric>(
      _ lhs: Tensor<Scalar>,
      transposed transposeLhs: Bool = false,
      _ rhs: Tensor<Scalar>,
      transposed transposeRhs: Bool = false
    ) -> 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
  • Создает оптимизатор по весу для Адама с уменьшением веса.

    Ссылка: «Адам – метод стохастической оптимизации»

    Декларация

    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]