Тензор

@frozen
public struct Tensor<Scalar> where Scalar : TensorFlowScalar
extension Tensor: Collatable
extension Tensor: CopyableToDevice
extension Tensor: AnyTensor
extension Tensor: ExpressibleByArrayLiteral
extension Tensor: CustomStringConvertible
extension Tensor: CustomPlaygroundDisplayConvertible
extension Tensor: CustomReflectable
extension Tensor: TensorProtocol
extension Tensor: TensorGroup
extension Tensor: ElementaryFunctions where Scalar: TensorFlowFloatingPoint
-
extension Tensor: VectorProtocol where Scalar: TensorFlowFloatingPoint
extension Tensor: Mergeable where Scalar: TensorFlowFloatingPoint
extension Tensor: Equatable where Scalar: Equatable
extension Tensor: Codable where Scalar: Codable
extension Tensor: AdditiveArithmetic where Scalar: Numeric
extension Tensor: PointwiseMultiplicative where Scalar: Numeric
extension Tensor: Differentiable & EuclideanDifferentiable where Scalar: TensorFlowFloatingPoint
extension Tensor: DifferentiableTensorProtocol
where Scalar: TensorFlowFloatingPoint

Многомерный массив элементов, который представляет собой обобщение векторов и матриц до потенциально более высоких измерений.

Общий параметр Scalar описывает тип скаляров в тензоре (например, Int32 , Float и т. д.).

  • Базовый TensorHandle .

    Примечание

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

    Декларация

    public let handle: TensorHandle<Scalar>
  • Декларация

    public init(handle: TensorHandle<Scalar>)
  • Распаковывает заданное измерение тензора ранга R в несколько тензоров ранга (R-1) . Распаковывает N тензоров из этого тензора, вырезая его вдоль axis , где N выводится из формы этого тензора. Например, задан тензор формы [A, B, C, D] :

    • Если axis == 0 , то i -й тензор в возвращаемом массиве является срезом self[i, :, :, :] и каждый тензор в этом массиве будет иметь форму [B, C, D] . (Обратите внимание, что распакованное измерение исчезло, в отличие от Tensor.split(numSplits:alongAxis) или Tensor.split(sizes:alongAxis) ).
    • Если axis == 1 , то i -й тензор в возвращаемом массиве является value[:, i, :, :] и каждый тензор в этом массиве будет иметь форму [A, C, D] .
    • И т. д.

    Это противоположность Tensor.init(stacking:alongAxis:) .

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

    axis должна находиться в диапазоне [-rank, rank) , где rank — это ранг предоставленных тензоров.

    Декларация

    @differentiable
    public func unstacked(alongAxis axis: Int = 0) -> [Tensor]

    Параметры

    axis

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

    Возвращаемое значение

    Массив, содержащий несложенные тензоры.

  • Разбивает тензор на несколько тензоров. Тензор разбивается вдоль axis измерения на count меньшего размера. Для этого необходимо, чтобы count равномерно делил shape[axis] .

    Например:

    // 'value' is a tensor with shape [5, 30]
    // Split 'value' into 3 tensors along dimension 1:
    let parts = value.split(count: 3, alongAxis: 1)
    parts[0] // has shape [5, 10]
    parts[1] // has shape [5, 10]
    parts[2] // has shape [5, 10]
    

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

    count должен равномерно делить размер axis измерения.

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

    axis должна находиться в диапазоне [-rank, rank) , где rank — это ранг предоставленных тензоров.

    Декларация

    @differentiable
    public func split(count: Int, alongAxis axis: Int = 0) -> [Tensor]

    Параметры

    count

    Количество разбиений, которые нужно создать.

    axis

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

    Возвращаемое значение

    Массив, содержащий часть тензоров.

  • Разбивает тензор на несколько тензоров. Тензор разбивается на части sizes.shape[0] . Форма i -й части имеет ту же форму, что и этот тензор, за исключением axis измерения, где размер равен sizes[i] .

    Например:

    // 'value' is a tensor with shape [5, 30]
    // Split 'value' into 3 tensors with sizes [4, 15, 11] along dimension 1:
    let parts = value.split(sizes: Tensor<Int32>([4, 15, 11]), alongAxis: 1)
    parts[0] // has shape [5, 4]
    parts[1] // has shape [5, 15]
    parts[2] // has shape [5, 11]
    

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

    Значения sizes должны в сумме соответствовать размеру axis размеров.

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

    axis должна находиться в диапазоне [-rank, rank) , где rank — это ранг предоставленных тензоров.

    Декларация

    @differentiable(wrt: self)
    public func split(sizes: Tensor<Int32>, alongAxis axis: Int = 0) -> [Tensor]

    Параметры

    sizes

    Одномерный тензор, содержащий размер каждого разделения.

    axis

    Размерность, по которой можно разбить этот тензор. Отрицательные значения оборачиваются.

    Возвращаемое значение

    Массив, содержащий части тензоров.

  • Декларация

    @differentiable(wrt: self)
    public func split(sizes: [Int], alongAxis axis: Int = 0) -> [Tensor]
  • Возвращает мозаичный тензор, построенный путем мозаики этого тензора.

    Этот конструктор создает новый тензор, multiples копируя этот тензор. i -е измерение построенного тензора имеет элементы self.shape[i] * multiples[i] , и значения этого тензора повторяются multiples[i] раз по i му измерению. Например, разделение [abcd] на [2] дает [abcdabcd] .

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

    Ожидаемый rank кратных должен быть 1 .

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

    Форма multiples должна быть [tensor.rank] .

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

    Все скаляры в multiples должны быть неотрицательными.

    Декларация

    @differentiable(wrt: self)
    public func tiled(multiples: [Int]) -> Tensor
  • Возвращает мозаичный тензор, построенный путем мозаики этого тензора.

    Этот конструктор создает новый тензор, multiples копируя этот тензор. i -е измерение построенного тензора имеет элементы self.shape[i] * multiples[i] , и значения этого тензора повторяются multiples[i] раз по i му измерению. Например, разделение [abcd] на [2] дает [abcdabcd] .

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

    Ожидаемый rank кратных должен быть 1 .

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

    Форма multiples должна быть [tensor.rank] .

    Декларация

    @differentiable(wrt: self)
    public func tiled(multiples: Tensor<Int32>) -> Tensor
  • Измените форму до формы указанного Tensor .

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

    Количество скаляров соответствует новой форме.

    Декларация

    @differentiable(wrt: self)
    public func reshaped<T>(like other: Tensor<T>) -> Tensor where T : TensorFlowScalar
  • Измените форму до указанной формы.

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

    Количество скаляров соответствует новой форме.

    Декларация

    @differentiable(wrt: self)
    public func reshaped(to newShape: TensorShape) -> Tensor
  • Измените форму до указанного Tensor , представляющего форму.

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

    Количество скаляров соответствует новой форме.

    Декларация

    @differentiable(wrt: self)
    public func reshaped(toShape newShape: Tensor<Int32>) -> Tensor
  • Верните копию тензора, свернутую в 1-D Tensor , в порядке строк.

    Декларация

    @differentiable(wrt: self)
    public func flattened() -> Tensor
  • Возвращает развернутый по форме Tensor с размером 1, вставленным в указанные индексы формы.

    Декларация

    @differentiable(wrt: self)
    public func expandingShape(at axes: Int...) -> Tensor
  • Возвращает развернутый по форме Tensor с размером 1, вставленным в указанные индексы формы.

    Декларация

    @differentiable(wrt: self)
    public func expandingShape(at axes: [Int]) -> Tensor
  • Возвращает Tensor с повышенным рангом и ведущей размерностью 1.

    Декларация

    @differentiable(wrt: self)
    public func rankLifted() -> Tensor
  • Удаляет указанные размеры размера 1 из формы тензора. Если размеры не указаны, то все размеры размера 1 будут удалены.

    Декларация

    @differentiable(wrt: self)
    public func squeezingShape(at axes: Int...) -> Tensor
  • Удаляет указанные размеры размера 1 из формы тензора. Если размеры не указаны, то все размеры размера 1 будут удалены.

    Декларация

    @differentiable(wrt: self)
    public func squeezingShape(at axes: [Int]) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @differentiable(wrt: self)
    public func transposed(permutation: Tensor<Int32>) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @available(*, deprecated, renamed: "transposed(permutation:﹚")
    @differentiable(wrt: self)
    public func transposed(withPermutations permutations: Tensor<Int32>) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @differentiable(wrt: self)
    public func transposed(permutation: [Int]) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @available(*, deprecated, renamed: "transposed(permutation:﹚")
    @differentiable(wrt: self)
    public func transposed(withPermutations permutations: [Int]) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @differentiable(wrt: self)
    public func transposed(permutation: Int...) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в указанном порядке.

    Декларация

    @available(*, deprecated, renamed: "transposed(permutation:﹚")
    @differentiable(wrt: self)
    public func transposed(withPermutations permutations: Int...) -> Tensor
  • Возвращает транспонированный тензор с размерами, переставленными в обратном порядке.

    Декларация

    @differentiable(wrt: self)
    public func transposed() -> Tensor
  • Возвращает тензор с указанными размерами в обратном порядке.

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

    Каждое значение по axes должно находиться в диапазоне -rank..<rank .

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

    В axes не должно быть дублирования.

    Декларация

    @differentiable(wrt: self)
    public func reversed(inAxes axes: Tensor<Int32>) -> Tensor
  • Возвращает тензор с указанными размерами в обратном порядке.

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

    Каждое значение по axes должно находиться в диапазоне -rank..<rank .

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

    В axes не должно быть дублирования.

    Декларация

    @differentiable(wrt: self)
    public func reversed(inAxes axes: [Int]) -> Tensor
  • Возвращает тензор с указанными размерами в обратном порядке.

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

    Каждое значение по axes должно находиться в диапазоне -rank..<rank .

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

    В axes не должно быть дублирования.

    Декларация

    @differentiable(wrt: self)
    public func reversed(inAxes axes: Int...) -> Tensor
  • Возвращает объединенный тензор вдоль указанной оси.

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

    Тензоры должны иметь одинаковые размеры, за исключением указанной оси.

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

    Ось должна находиться в диапазоне -rank..<rank .

    Декларация

    @differentiable
    public func concatenated(with other: Tensor, alongAxis axis: Int = 0) -> Tensor
  • Оператор конкатенации.

    Примечание

    ++ — это специальный оператор, которого нет в Swift, но есть в Haskell/Scala. Его добавление не является незначительным языковым изменением и может вызвать споры. Существование/наименование ++ будет обсуждаться на более позднем этапе проектирования API.

    Декларация

    @differentiable
    public static func ++ (lhs: Tensor, rhs: Tensor) -> Tensor
  • Возвращает тензор, собирая фрагменты входных данных по indices вдоль axis измерения.

    Для 0-D (скалярных) indices :

    result[p_0,          ..., p_{axis-1},
           p_{axis + 1}, ..., p_{N-1}] =
    self[p_0,          ..., p_{axis-1},
         indices,
         p_{axis + 1}, ..., p_{N-1}]
    

    Для одномерных (векторных) indices :

    result[p_0,          ..., p_{axis-1},
           i,
           p_{axis + 1}, ..., p_{N-1}] =
    self[p_0,          ..., p_{axis-1},
         indices[i],
         p_{axis + 1}, ..., p_{N-1}]
    

    В общем случае получается результирующий тензор, где:

    result[p_0,             ..., p_{axis-1},
           i_{batch\_dims}, ..., i_{M-1},
           p_{axis + 1},    ..., p_{N-1}] =
    self[p_0,             ..., p_{axis-1},
         indices[i_0,     ..., i_{M-1}],
         p_{axis + 1},    ..., p_{N-1}]
    

    где N = self.rank и M = indices.rank .

    Форма результирующего тензора: self.shape[..<axis] + indices.shape + self.shape[(axis + 1)...] .

    Примечание

    На процессоре, если обнаруживается индекс, выходящий за пределы диапазона, выдается ошибка. На графическом процессоре, если обнаруживается индекс, выходящий за пределы диапазона, в соответствующих выходных значениях сохраняется 0.

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

    axis должна находиться в диапазоне [-rank, rank) .

    Декларация

    @differentiable(wrt: self)
    public func gathering<Index: TensorFlowIndex>(
      atIndices indices: Tensor<Index>,
      alongAxis axis: Int = 0
    ) -> Tensor

    Параметры

    indices

    Содержит индексы для сбора.

    axis

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

    Возвращаемое значение

    Собранный тензор.

  • Возвращает фрагменты этого тензора по indices вдоль измерения axis , игнорируя при этом первые измерения batchDimensionCount , соответствующие измерениям пакета. Сборка выполняется по первому непакетному измерению.

    Выполняет аналогичную функциональность gathering , за исключением того, что результирующая форма тензора теперь имеет shape[..<axis] + indices.shape[batchDimensionCount...] + shape[(axis + 1)...] .

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

    axis должна находиться в диапазоне -rank..<rank , а также быть больше или равна batchDimensionCount .

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

    batchDimensionCount должен быть меньше indices.rank .

    Декларация

    @differentiable(wrt: self)
    public func batchGathering<Index: TensorFlowIndex>(
      atIndices indices: Tensor<Index>,
      alongAxis axis: Int = 1,
      batchDimensionCount: Int = 1
    ) -> Tensor

    Параметры

    indices

    Содержит индексы для сбора.

    axis

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

    batchDimensionCount

    Количество ведущих измерений партии, которые следует игнорировать.

    Возвращаемое значение

    Собранный тензор.

  • Возвращает тензор, собирая значения после применения предоставленной логической маски к входным данным.

    Например:

    // 1-D example
    // tensor is [0, 1, 2, 3]
    // mask is [true, false, true, false]
    tensor.gathering(where: mask) // is [0, 2]
    
    // 2-D example
    // tensor is [[1, 2], [3, 4], [5, 6]]
    // mask is [true, false, true]
    tensor.gathering(where: mask) // is [[1, 2], [5, 6]]
    

    В общем случае 0 < mask.rank = K <= tensor.rank и форма mask должна соответствовать первым K измерениям формы tensor . Тогда у нас есть: tensor.gathering(where: mask)[i, j1, ..., jd] = tensor[i1, ..., iK, j1, ..., jd] где [i1, ..., iK]i true запись mask (порядок строк).

    axis можно использовать с mask , чтобы указать ось для маскировки. В этом случае axis + mask.rank <= tensor.rank и форма mask должны соответствовать dimensions of the 's shape must match the first оси + маска.ранк формы тензора.

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

    mask не может быть скаляром: mask.rank != 0 .

    Декларация

    @differentiable(wrt: self)
    public func gathering(where mask: Tensor<Bool>, alongAxis axis: Int = 0) -> Tensor

    Параметры

    mask

    Булев тензор KD, где K <= self.rank .

    axis

    Целочисленный тензор 0-D, представляющий ось в self для маскировки, где K + axis <= self.rank .

    Возвращаемое значение

    (self.rank - K + 1) -мерный тензор, заполненный записями в этом тензоре, соответствующими true значениям в mask .

  • Возвращает местоположения ненулевых/истинных значений в этом тензоре.

    Координаты возвращаются в двумерном тензоре, где первое измерение (строки) представляет количество ненулевых элементов, а второе измерение (столбцы) представляет координаты ненулевых элементов. Имейте в виду, что форма выходного тензора может меняться в зависимости от того, сколько истинных значений содержится в этом тензоре. Индексы выводятся в порядке строк.

    Например:

    // 'input' is [[true, false], [true, false]]
    // 'input' has 2 true values and so the output has 2 rows.
    // 'input' has rank of 2, and so the second dimension of the output has size 2.
    input.nonZeroIndices() // is [[0, 0], [1, 0]]
    
    // 'input' is [[[ true, false], [ true, false]],
    //             [[false,  true], [false,  true]],
    //             [[false, false], [false,  true]]]
    // 'input' has 5 true values and so the output has 5 rows.
    // 'input' has rank 3, and so the second dimension of the output has size 3.
    input.nonZeroIndices() // is [[0, 0, 0],
                           //     [0, 1, 0],
                           //     [1, 0, 1],
                           //     [1, 1, 1],
                           //     [2, 1, 1]]
    

    Декларация

    public func nonZeroIndices() -> Tensor<Int64>

    Возвращаемое значение

    Тензор с формой (num_true, rank(condition)) .

  • Декларация

    @differentiable(wrt: self)
    public func broadcasted(toShape shape: Tensor<Int32>) -> Tensor
  • Декларация

    @differentiable(wrt: self)
    public func broadcasted(to shape: TensorShape) -> Tensor
  • Трансляция в ту же форму, что и указанный Tensor .

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

    Указанная форма должна быть совместима с трансляцией.

    Декларация

    @differentiable(wrt: self)
    public func broadcasted<OtherScalar>(like other: Tensor<OtherScalar>) -> Tensor where OtherScalar : TensorFlowScalar
  • "="

    Декларация

    public static func .= (lhs: inout Tensor, rhs: Tensor)
  • Извлекает срез из тензора, определенного нижней и верхней границами для каждого измерения.

    Декларация

    @differentiable(wrt: self)
    public func slice(lowerBounds: [Int], upperBounds: [Int]) -> Tensor

    Параметры

    lowerBounds

    Нижние границы в каждом измерении.

    upperBounds

    Верхние границы для каждого измерения.

  • Декларация

    @differentiable(wrt: self)
    public func slice(lowerBounds: Tensor<Int32>, sizes: Tensor<Int32>) -> Tensor
  • Декларация

    @differentiable(wrt: self)
    public func slice(lowerBounds: [Int], sizes: [Int]) -> Tensor
  • Декларация

    @differentiable(wrt: self)
    public subscript(ranges: TensorRangeExpression...) -> Tensor { get set }
  • Проверяет, что каждый элемент axes обозначает ось self , и в противном случае останавливает программу с диагностикой.

    Декларация

    func ensureValid(
      axes: Tensor<Int32>,
      function: StaticString = #function,
      file: StaticString = #file,
      line: UInt = #line
    )
  • Проверяет, что каждый элемент axes обозначает ось self , и в противном случае останавливает программу с диагностикой.

    Декларация

    func ensureValid(
      axes: [Int],
      function: StaticString = #function,
      file: StaticString = #file,
      line: UInt = #line
    )
  • Проверяет, что k обозначает ось self , и в противном случае останавливает программу с диагностикой.

    Декларация

    func ensureValid(
      axis k: Int,
      function: StaticString = #function,
      file: StaticString = #file,
      line: UInt = #line
    )
  • Декларация

    public init<BatchSamples: Collection>(collating samples: BatchSamples)
    where BatchSamples.Element == Self
  • Создает копию other устройства на данном Device .

    Декларация

    public init(copying other: Tensor, to device: Device)
  • Создает тензор указанной формы и одного повторяющегося скалярного значения.

    Декларация

    @available(*, deprecated, renamed: "init(repeating:shape:﹚")
    public init(shape: TensorShape, repeating repeatedValue: Scalar)

    Параметры

    shape

    Размеры тензора.

    repeatedValue

    Скалярное значение для повторения.

  • Создает тензор указанной формы и одного повторяющегося скалярного значения.

    Декларация

    @differentiable
    public init(
      repeating repeatedValue: Scalar, shape: TensorShape,
      on device: Device = .default
    )

    Параметры

    repeatedValue

    Скалярное значение для повторения.

    shape

    Размеры тензора.

  • Создает тензор, передавая заданный скаляр заданному рангу со всеми размерностями, равными 1.

    Декларация

    public init(broadcasting scalar: Scalar, rank: Int, on device: Device = .default)
  • Создает тензор из массива тензоров (которые сами могут быть скалярами).

    Декларация

    @differentiable
    public init(_ elements: [Tensor])
  • Складывает tensors вдоль axis измерения в новый тензор с рангом на один выше, чем текущий тензор, и каждый тензор в tensors .

    Учитывая, что все tensors имеют форму [A, B, C] и tensors.count = N , тогда:

    • если axis == 0 , то результирующий тензор будет иметь форму [N, A, B, C] .
    • если axis == 1 , то результирующий тензор будет иметь форму [A, N, B, C] .
    • и т. д.

    Например:

    // 'x' is [1, 4]
    // 'y' is [2, 5]
    // 'z' is [3, 6]
    Tensor(stacking: [x, y, z]) // is [[1, 4], [2, 5], [3, 6]]
    Tensor(stacking: [x, y, z], alongAxis: 1) // is [[1, 2, 3], [4, 5, 6]]
    

    Это противоположность Tensor.unstacked(alongAxis:) .

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

    Все тензоры должны иметь одинаковую форму.

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

    axis должна находиться в диапазоне [-rank, rank) , где rank — это ранг предоставленных тензоров.

    Декларация

    @differentiable
    public init(stacking tensors: [Tensor], alongAxis axis: Int = 0)

    Параметры

    tensors

    Тензоры для стека.

    axis

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

    Возвращаемое значение

    Сложный тензор.

  • Объединяет tensors по измерению axis .

    Учитывая, что tensors[i].shape = [D0, D1, ... Daxis(i), ...Dn] , объединенный результат имеет форму [D0, D1, ... Raxis, ...Dn] , где Raxis = sum(Daxis(i)) . То есть данные входных тензоров объединяются по размерности axis .

    Например:

    // t1 is [[1, 2, 3], [4, 5, 6]]
    // t2 is [[7, 8, 9], [10, 11, 12]]
    Tensor(concatenating: [t1, t2]) // is [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
    Tensor(concatenating: [t1, t2], alongAxis: 1) // is [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]]
    
    // t3 has shape [2, 3]
    // t4 has shape [2, 3]
    Tensor(concatenating: [t3, t4]) // has shape [4, 3]
    Tensor(concatenating: [t3, t4], alongAxis: 1) // has shape [2, 6]
    

    Примечание

    Если вы объединяете данные по новой оси, рассмотрите возможность использования Tensor.init(stacking:alongAxis:) .

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

    Все тензоры должны иметь одинаковый ранг, а все измерения, кроме axis должны быть равны.

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

    axis должна находиться в диапазоне [-rank, rank) , где rank — это ранг предоставленных тензоров.

    Декларация

    @differentiable
    public init(concatenating tensors: [Tensor], alongAxis axis: Int = 0)

    Параметры

    tensors

    Тензоры для объединения.

    axis

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

    Возвращаемое значение

    Составной тензор.

  • Заменяет элементы этого тензора other на полосах, где mask имеет true .

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

    self и other должны иметь одинаковую форму. Если self и other скалярны, mask также должна быть скалярной. Если self other имеют ранг больше или равный 1 , то mask должна либо иметь ту же форму, что и self , либо быть одномерным Tensor , таким образом, что mask.scalarCount == self.shape[0] .

    Декларация

    @differentiable(wrt: (self, other)
    ) public func replacing(with other: Tensor, where mask: Tensor<Bool>) -> Tensor
  • Возвращает true, если физический скалярный тип имеет пониженную точность.

    В настоящее время физические скалярные типы пониженной точности включают только BFloat16 .

    Декларация

    public var isReducedPrecision: Bool { get }
  • Преобразует скаляр в тензор с тем же устройством и точностью, что и заданный тензор.

    Декларация

    @differentiable
    public init(_ value: Scalar, deviceAndPrecisionLike tensor: Tensor)
  • Возвращает копию, self в физический скалярный тип BFloat16 .

    Декларация

    public var toReducedPrecision: `Self` { get }
  • Возвращает копию self значения, преобразованную в физический Scalar тип.

    Декларация

    public var toFullPrecision: `Self` { get }
  • Число измерений Tensor .

    Декларация

    public var rank: Int { get }
  • Форма Tensor .

    Декларация

    public var shape: TensorShape { get }
  • Количество скаляров в Tensor .

  • Декларация

    public var scalarCount: Int { get }
  • Ранг тензора, представленный как Tensor<Int32> .

    Декларация

    public var rankTensor: Tensor<Int32> { get }
  • Размеры тензора, представленные как Tensor<Int32> .

    Декларация

    public var shapeTensor: Tensor<Int32> { get }
  • Количество скаляров в тензоре, представленном как Tensor<Int32> .

    Декларация

    public var scalarCountTensor: Tensor<Int32> { get }
  • Возвращает true , если rank равен 0, и false в противном случае.

    Декларация

    public var isScalar: Bool { get }
  • Возвращает один скалярный элемент, если rank равен 0, и nil в противном случае.

    Декларация

    public var scalar: Scalar? { get }
  • Преобразование в скалярное.

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

    Тензор имеет ровно один скаляр.

    Декларация

    @differentiable
    public func scalarized() -> Scalar
  • Декларация

    public var array: ShapedArray<Scalar> { get }
  • Декларация

    @differentiable
    public var scalars: [Scalar] { get }
  • Создает 0-D тензор из скалярного значения.

    Декларация

    @differentiable
    public init(_ value: Scalar, on device: Device = .default)
  • Создает 1D-тензор из скаляров.

    Декларация

    @differentiable
    public init(_ scalars: [Scalar], on device: Device = .default)
  • Создает 1D-тензор из скаляров.

    Декларация

    public init<C: Collection>(
      _ vector: C, on device: Device = .default
    ) where C.Element == Scalar
  • Создает тензор указанной формы и смежных скаляров в порядке следования строк.

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

    Произведение размеров фигуры должно равняться количеству скаляров.

    Декларация

    @differentiable
    public init(shape: TensorShape, scalars: [Scalar], on device: Device = .default)

    Параметры

    shape

    Форма тензора.

    scalars

    Скалярное содержимое тензора.

  • Создает тензор указанной формы и смежных скаляров в порядке следования строк.

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

    Произведение размеров фигуры должно равняться количеству скаляров.

    Декларация

    public init(
      shape: TensorShape,
      scalars: UnsafeBufferPointer<Scalar>,
      on device: Device = .default
    )

    Параметры

    shape

    Форма тензора.

    scalars

    Скалярное содержимое тензора.

  • Создает тензор указанной формы и смежных скаляров в порядке следования строк.

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

    Произведение размеров фигуры должно равняться количеству скаляров.
  • Создает тензор указанной формы и смежных скаляров в порядке следования строк.

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

    Произведение размеров фигуры должно равняться количеству скаляров.

    Декларация

    public init<C: Collection>(
      shape: TensorShape, scalars: C, on device: Device = .default
    ) where C.Element == Scalar

    Параметры

    shape

    Форма тензора.

    scalars

    Скалярное содержимое тензора.

  • Тип элементов литерала массива.

    Декларация

    public typealias ArrayLiteralElement = _TensorElementLiteral<Scalar>
  • Создает тензор, инициализированный заданными элементами.

    Декларация

    public init(arrayLiteral elements: _TensorElementLiteral<Scalar>...)
  • Текстовое представление тензора.

    Примечание

    используйте fullDescription для некрасивого описания, показывающего все скаляры.

    Декларация

    public var description: String { get }
  • Текстовое представление тензора. Возвращает сводное описание, если summarize имеет значение true и количество элементов в два раза превышает edgeElementCount .

    Декларация

    public func description(
      lineWidth: Int = 80,
      edgeElementCount: Int = 3,
      summarizing: Bool = false
    ) -> String

    Параметры

    lineWidth

    Максимальная ширина линии для печати. Используется для определения количества скаляров для печати в строке.

    edgeElementCount

    Максимальное количество элементов для печати до и после суммирования с помощью эллипсов ( ... ).

    summarizing

    Если это правда, суммировать описание, если количество элементов превышает вдвое edgeElementCount .

  • Полное, некрасивое текстовое представление тензора, показывающее все скаляры.

    Декларация

    public var fullDescription: String { get }
  • Декларация

    public var playgroundDescription: Any { get }
  • Декларация

    public var customMirror: Mirror { get }
  • Аннотации, описывающие этот тензор.

    Декларация

    public var annotations: String { get }
  • Псевдоним для аннотаций.

    Декларация

    public var summary: String { get }
  • Декларация

    public init(_owning tensorHandles: UnsafePointer<CTensorHandle>?)
  • Декларация

    public init<C: RandomAccessCollection>(
      _handles: C
    ) where C.Element: _AnyTensorHandle
  • Декларация

    public init(_ array: ShapedArray<Scalar>, on device: Device = .default)
  • Декларация

    init(_xla: XLATensor)
  • Декларация

    init(_xlaHandle: UnsafeMutablePointer<OpaqueXLATensor>)
  • Декларация

    var xlaHandle: UnsafeMutablePointer<OpaqueXLATensor> { get }
  • Декларация

    var xlaTensor: XLATensor { get }
Доступно, если `Scalar`: `Numeric`
Доступно, если «Скалярный»: «Числовой» и «Сравнимый».
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs < rhs .

    Декларация

    public static func .< (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs <= rhs .

    Декларация

    public static func .<= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs > rhs .

    Декларация

    public static func .> (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs >= rhs .

    Декларация

    public static func .>= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs < rhs .

    Примечание

    .< поддерживает вещание.

    Декларация

    public static func .< (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs <= rhs .

    Примечание

    .<= поддерживает вещание.

    Декларация

    public static func .<= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs > rhs .

    Примечание

    .> поддерживает вещание.

    Декларация

    public static func .> (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs >= rhs .

    Примечание

    .>= поддерживает вещание.

    Декларация

    public static func .>= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs < rhs .

    Примечание

    .< поддерживает вещание.

    Декларация

    public static func .< (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs <= rhs .

    Примечание

    .<= поддерживает вещание.

    Декларация

    public static func .<= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs > rhs .

    Примечание

    .> поддерживает вещание.

    Декларация

    public static func .> (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs >= rhs .

    Примечание

    .>= поддерживает вещание.

    Декларация

    public static func .>= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
Доступно, если `Scalar`: `Equatable`
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs == rhs .

    Примечание

    .== поддерживает вещание.

    Декларация

    public static func .== (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • "="

    Возвращает тензор логических скаляров путем поэлементного вычисления lhs != rhs .

    Примечание

    .!= поддерживает вещание.

    Декларация

    public static func .!= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs == rhs .

    Примечание

    .== поддерживает вещание.

    Декларация

    public static func .== (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • "="

    Возвращает тензор логических скаляров путем поэлементного вычисления lhs != rhs .

    Примечание

    .!= поддерживает вещание.

    Декларация

    public static func .!= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
  • Возвращает тензор логических скаляров путем поэлементного вычисления lhs == rhs .

    Примечание

    .== поддерживает вещание.

    Декларация

    public static func .== (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
  • "="

    Возвращает тензор логических скаляров путем поэлементного вычисления lhs != rhs .

    Примечание

    .!= поддерживает вещание.

    Декларация

    public static func .!= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
Доступно там, где `Scalar`: `TensorFlowFloatingPoint` и `Equatable`.
  • Возвращает тензор логических значений, указывающий, равны ли элементы self примерно таким же, как и other .

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

    self и other должны иметь одинаковую форму.

    Декларация

    public func elementsAlmostEqual(
      _ other: Tensor,
      tolerance: Scalar = Scalar.ulpOfOne.squareRoot()
    ) -> Tensor<Bool>
Доступно, где `Scalar`: `TensorFlowFloatingPoint`
  • Возвращает true , если все элементы self примерно равны элементам other .

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

    self и other должны иметь одинаковую форму.

    Декларация

    public func isAlmostEqual(
      to other: Tensor,
      tolerance: Scalar = Scalar.ulpOfOne.squareRoot()
    ) -> Bool
Доступно, где `Scalar`: `TensorFlowNumeric`
  • Выполняет перекрестную сумму реплик для этого тензора. Одна и та же сумма перекрестных реплик должна происходить на каждом из других устройств, участвующих в сумме.

    Декларация

    public mutating mutating func crossReplicaSum(_ scale: Double)
Доступно, где `Scalar`: `TensorFlowFloatingPoint`
Доступно, если `Scalar`: `Numeric`
  • Выполните поэлементное преобразование типа из тензора Bool .

    Декларация

    public init(_ other: Tensor<Bool>)
  • Выполните поэлементное преобразование из другого Tensor .

    Декларация

    @differentiable
    public init<OtherScalar>(_ other: Tensor<OtherScalar>) where OtherScalar : Numeric, OtherScalar : TensorFlowScalar
Доступно, где `Scalar`: `TensorFlowFloatingPoint`
Доступно, если `Scalar`: `Numeric`
  • Создает тензор, в котором все скаляры установлены в ноль.

    Декларация

    public init(zeros shape: TensorShape, on device: Device = .default)

    Параметры

    shape

    Форма тензора.

  • Создает тензор, в котором все скаляры равны единице.

    Декларация

    public init(ones shape: TensorShape, on device: Device = .default)

    Параметры

    shape

    Форма тензора.

  • Создает тензор со всеми скалярами, установленными в ноль, который имеет ту же форму и тип, что и предоставленный тензор.

    Декларация

    public init(zerosLike other: Tensor)

    Параметры

    other

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

  • Создает тензор, в котором все скаляры имеют ту же форму и тип, что и предоставленный тензор.

    Декларация

    public init(onesLike other: Tensor)

    Параметры

    other

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

  • Создает одномерный тензор, представляющий последовательность от начального значения до конечного значения (но не включая его), шагая на указанную величину.

    Декларация

    public init(
      rangeFrom start: Scalar, to end: Scalar, stride: Scalar,
      on device: Device = .default
    )

    Параметры

    start

    Начальное значение, используемое для последовательности. Если последовательность содержит какие-либо значения, первое из них — start .

    end

    Конечное значение, ограничивающее последовательность. end никогда не является элементом результирующей последовательности.

    stride

    Сумма, которую необходимо выполнить при каждой итерации. stride должен быть положительным.

  • Создает одномерный тензор, представляющий последовательность от начального значения до конечного значения (но не включая его), шагая на указанную величину.

    Декларация

    public init(rangeFrom start: Tensor<Scalar>, to end: Tensor<Scalar>, stride: Tensor<Scalar>)

    Параметры

    start

    Начальное значение, используемое для последовательности. Если последовательность содержит какие-либо значения, первое из них — start .

    end

    Конечное значение, ограничивающее последовательность. end никогда не является элементом результирующей последовательности.

    stride

    Сумма, которую необходимо выполнить при каждой итерации. stride должен быть положительным.

  • Создает горячий тензор по заданным индексам. Местоположение, представленное indices , принимает значение onValue (по умолчанию 1 ), а все остальные местоположения принимают значение offValue (по умолчанию 0 ). Если входные indices имеют ранг n , новый тензор будет иметь ранг n+1 . Новая ось создается на axis измерения (по умолчанию новая ось добавляется в конце).

    Если indices является скаляром, форма нового тензора будет depth длины length .

    Если indices представляет собой вектор длины features , выходная форма будет следующей: объекты x глубина, если ось == -1 глубина x объекты, если ось == 0

    Если indices представляют собой матрицу (пакет) с формой [batch, features] , выходная форма будет следующей: партия x характеристики x глубина, если ось == -1 партия x глубина x характеристики, если ось == 1 глубина x партия x характеристики , если ось == 0

    Декларация

    public init(
      oneHotAtIndices indices: Tensor<Int32>,
      depth: Int,
      onValue: Scalar = 1,
      offValue: Scalar = 0,
      axis: Int = -1
    )

    Параметры

    indices

    Tensor индексов.

    depth

    Скаляр, определяющий глубину одного горячего измерения.

    onValue

    Скаляр, определяющий значение в позиции, на которую указывает некоторый индекс в indices .

    offValue

    Скаляр, определяющий значение в месте, на которое не ссылается какой-либо индекс в indices .

    axis

    Ось для заполнения. По умолчанию — -1 , новая самая внутренняя ось.

Доступно, где `Scalar`: `TensorFlowFloatingPoint`
  • Создает одномерный тензор, представляющий последовательность от начального значения до конечного значения включительно, расположенную равномерно для создания указанного количества значений.

    Декларация

    public init(
      linearSpaceFrom start: Scalar, to end: Scalar, count: Int, on device: Device = .default
    )

    Параметры

    start

    Начальное значение, используемое для последовательности. Если последовательность содержит какие-либо значения, первое из них — start .

    end

    Конечное значение, ограничивающее последовательность. end — последний элемент результирующей последовательности.

    count

    Количество значений в результирующей последовательности. count должен быть положительным.

  • Создает одномерный тензор, представляющий последовательность от начального значения до конечного значения включительно, расположенную равномерно для создания указанного количества значений.

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

    start , to и count должны быть тензорами, содержащими одно скалярное значение.

    Декларация

    public init(linearSpaceFrom start: Tensor<Scalar>, to end: Tensor<Scalar>, count: Tensor<Int32>)

    Параметры

    start

    Начальное значение, используемое для последовательности. Если последовательность содержит какие-либо значения, первое из них — start .

    end

    Конечное значение, ограничивающее последовательность. end — последний элемент результирующей последовательности.

    count

    Количество значений в результирующей последовательности. count должен быть положительным.

Доступно, где `Scalar`: `TensorFlowIndex`
  • Создает тензор указанной формы, случайным образом выбирая скалярные значения из равномерного распределения между lowerBound и upperBound .

    Декларация

    public init(
      randomUniform shape: TensorShape,
      lowerBound: Tensor<Scalar>? = nil,
      upperBound: Tensor<Scalar>? = nil,
      seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    lowerBound

    Нижняя граница распределения.

    upperBound

    Верхняя граница распределения.

    seed

    Начальная ценность.

Доступно, где `Scalar`: `TensorFlowFloatingPoint`
  • Создает тензор указанной формы, случайным образом выбирая скалярные значения из равномерного распределения между lowerBound и upperBound .

    Декларация

    public init(
      randomUniform shape: TensorShape,
      lowerBound: Tensor<Scalar>? = nil,
      upperBound: Tensor<Scalar>? = nil,
      seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    lowerBound

    Нижняя граница распределения.

    upperBound

    Верхняя граница распределения.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, случайным образом выбирая скалярные значения из нормального распределения.

    Декларация

    public init(
      randomNormal shape: TensorShape,
      mean: Tensor<Scalar>? = nil,
      standardDeviation: Tensor<Scalar>? = nil,
      seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    mean

    Среднее значение распределения.

    standardDeviation

    Стандартное отклонение распределения.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, случайным образом выбирая скалярные значения из усеченного нормального распределения.

    Декларация

    public init(
      randomTruncatedNormal shape: TensorShape,
      mean: Tensor<Scalar>? = nil,
      standardDeviation: Tensor<Scalar>? = nil,
      seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    mean

    Среднее значение распределения.

    standardDeviation

    Стандартное отклонение распределения.

    seed

    Начальная ценность.

Доступно, где `Scalar`: `TensorFlowIndex`
  • Создает тензор путем извлечения выборок из категориального распределения.

    Декларация

    public init<T: TensorFlowFloatingPoint>(
      randomCategorialLogits: Tensor<T>,
      sampleCount: Int32,
      seed: TensorFlowSeed = Context.local.randomSeed
    )

    Параметры

    randomCategorialLogits

    Двумерный тензор с формой [batchSize, classCount] . Каждый срез [i, :] представляет собой ненормализованные логарифмические вероятности для всех классов.

    sampleCount

    0-Д. Количество независимых выборок, которые нужно нарисовать для каждого среза строки.

    seed

    Начальная ценность.

    Возвращаемое значение

    Двумерный тензор с формой [batchSize, sampleCount] . Каждый срез [i, :] содержит нарисованные метки классов с диапазоном [0, classCount) .

Доступно, где `Scalar`: `TensorFlowFloatingPoint`
  • Создает тензор указанной формы, выполняя универсальную инициализацию Glorot (Xavier).

    Он извлекает случайные выборки из равномерного распределения между -limit и limit , сгенерированного генератором случайных чисел по умолчанию, где limit равен sqrt(6 / (fanIn + fanOut)) и fanIn / fanOut представляет собой количество входных и выходных функций, умноженное на восприимчивую размер поля.

    Ссылка: «Понимание сложности обучения нейронных сетей глубокого прямого распространения»

    Декларация

    public init(
      glorotUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, выполняя нормальную инициализацию Glorot (Xavier).

    Он извлекает случайные выборки из усеченного нормального распределения с центром в 0 со стандартным отклонением sqrt(2 / (fanIn + fanOut)) генерируемым генератором случайных чисел по умолчанию, где fanIn / fanOut представляют собой количество входных и выходных функций, умноженное на восприимчивое поле. размер.

    Ссылка: «Понимание сложности обучения нейронных сетей глубокого прямого распространения»

    Декларация

    public init(
      glorotNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, выполняя равномерную инициализацию He (Kaiming).

    Он извлекает случайные выборки из равномерного распределения между -limit и limit , сгенерированного генератором случайных чисел по умолчанию, где limit — это sqrt(6 / fanIn) а fanIn представляет собой количество входных объектов, умноженное на размер восприимчивого поля.

    Ссылка: «Углубление выпрямителей: превосходство производительности человеческого уровня в классификации ImageNet»

    Декларация

    public init(
      heUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, выполняя нормальную инициализацию He (Kaiming).

    Он извлекает случайные выборки из усеченного нормального распределения с центром в 0 со стандартным отклонением sqrt(2 / fanIn)) сгенерированным генератором случайных чисел по умолчанию, где fanIn представляет собой количество входных объектов, умноженное на размер восприимчивого поля.

    Ссылка: «Углубление выпрямителей: превосходство производительности человеческого уровня в классификации ImageNet»

    Декларация

    public init(
      heNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, выполняя универсальную инициализацию LeCun.

    Он извлекает случайные выборки из равномерного распределения между -limit и limit , сгенерированного генератором случайных чисел по умолчанию, где limit — это sqrt(3 / fanIn) а fanIn представляет собой количество входных объектов, умноженное на размер восприимчивого поля.

    Ссылка: «Эффективный BackProp»

    Декларация

    public init(
      leCunUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает тензор указанной формы, выполняя обычную инициализацию LeCun.

    Он извлекает случайные выборки из усеченного нормального распределения с центром в 0 со стандартным отклонением sqrt(1 / fanIn) , сгенерированным генератором случайных чисел по умолчанию, где fanIn представляет собой количество входных объектов, умноженное на размер восприимчивого поля.

    Ссылка: «Эффективный BackProp»

    Декларация

    public init(
      leCunNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed,
      on device: Device = .default
    )

    Параметры

    shape

    Размеры тензора.

    seed

    Начальная ценность.

  • Создает ортогональную матрицу или тензор.

    Если форма инициализируемого тензора двумерна, он инициализируется ортогональной матрицей, полученной в результате QR-разложения матрицы случайных чисел, полученной из нормального распределения. Если в матрице меньше строк, чем столбцов, то выходные данные будут иметь ортогональные строки. В противном случае выходные данные будут иметь ортогональные столбцы.

    Если форма инициализируемого тензора более чем двумерна, инициализируется матрица формы [shape[0] * ... * shape[rank - 2], shape[rank - 1]] . Впоследствии матрица изменяется, чтобы придать тензору желаемой формы.

    Декларация

    public init(
      orthogonal shape: TensorShape,
      gain: Tensor<Scalar> = Tensor<Scalar>(1),
      seed: TensorFlowSeed = Context.local.randomSeed
    )

    Параметры

    shape

    Форма тензора.

    gain

    Мультипликативный коэффициент, применяемый к ортогональному тензору.

    seed

    Кортеж из двух целых чисел для заполнения генератора случайных чисел.

Доступно, где `Scalar`: `TensorFlowNumeric`
  • Возвращает [пакетную] диагональную часть [пакетного] тензора. Для экземпляра тензора формы [..., M, N] выходными данными является тензор формы [..., K] , где K равно min(N, M) .

    Например:

    // 't' is [[1, 0, 0, 0]
    //         [0, 2, 0, 0]
    //         [0, 0, 3, 0]
    //         [0, 0, 0, 4]]
    t.diagonalPart()
    // [1, 2, 3, 4]
    

    Декларация

    @differentiable
    public func diagonalPart() -> Tensor
  • Создает [пакетный] диагональный массив. Для экземпляра тензора формы [..., M] выходными данными является тензор формы [..., M, M] .

    Например:

    // 't' is [1, 2, 3, 4]
    
    t.diagonal()
    // [[1, 0, 0, 0]
    //  [0, 2, 0, 0]
    //  [0, 0, 3, 0]
    //  [0, 0, 0, 4]]
    

    Декларация

    @differentiable
    public func diagonal() -> Tensor
  • Возвращает self с новыми диагональными значениями, учитывая, что self является необязательной пакетной матрицей.

    Возвращенный тензор имеет ту же форму и значения, что и self , за исключением указанных диагоналей самых внутренних матриц, которые перезаписываются значениями в diagonal .

    Диагональ параметра: тензор с rank - 1 представляющий новые значения диагонали.

    Декларация

    public func withDiagonal(_ diagonal: Tensor<Scalar>) -> Tensor
  • Декларация

    @differentiable(wrt: self)
    public func bandPart(_ subdiagonalCount: Int, _ superdiagonalCount: Int) -> Tensor
  • Возвращает копию самого внутреннего тензора, определенного границами центральной полосы. Выходные данные — тензор той же формы, что и экземпляр [..., :, :] .

    Например:

    // 't' is [[ 0,  1,  2, 3]
    //         [-1,  0,  1, 2]
    //         [-2, -1,  0, 1]
    //         [-3, -2, -1, 0]]
    
    t.bandPart(1, -1)
    // [[ 0,  1,  2, 3]
    //  [-1,  0,  1, 2]
    //  [ 0, -1,  0, 1]
    //  [ 0,  0, -1, 0]]
    
    t.bandPart(2, 1)
    // [[ 0,  1,  0, 0]
    //  [-1,  0,  1, 0]
    //  [-2, -1,  0, 1]
    //  [ 0, -2, -1, 0]]
    

    Декларация

    @differentiable
    public func bandPart(subdiagonalCount: Int, superdiagonalCount: Int) -> Tensor

    Параметры

    subdiagonalCount

    Количество сохраняемых субдиагоналей. Если отрицательно, сохраните весь нижний треугольник.

    superdiagonalCount

    Количество сохраняемых супердиагоналей. Если отрицательно, сохраните весь верхний треугольник.

Доступно, где `Scalar`: `TensorFlowFloatingPoint`
  • Возвращает QR-разложение каждой внутренней матрицы в тензоре, тензора с внутренними ортогональными матрицами q и тензора с внутренними верхними треугольными матрицами r , так что тензор равен matmul(q, r) .

    Декларация

    public func qrDecomposition(fullMatrices: Bool = false) -> (
      q: Tensor<Scalar>, r: Tensor<Scalar>
    )

    Параметры

    fullMatrices

    Если true , вычислите полноразмерные q и r . В противном случае вычислите только ведущие столбцы min(shape[rank - 1], shape[rank - 2]) q .

  • Возвращает разложение self по сингулярному значению, учитывая, что self является необязательной пакетной матрицей.

    Разложение по сингулярным значениям (SVD) необязательной пакетной матрицы self — это значения s , u и v , такие, что:

    self[..., :, :] = u[..., :, :]  s[..., :, :].diagonal()  v[..., :, :].transposed()`
    

    self must be a tensor with shape […, M, N] . Let K = min(M, N)`.

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

    self должен быть тензором формы [..., M, N] .

    Декларация

    public func svd(computeUV: Bool = true, fullMatrices: Bool = false) -> (
      s: Tensor<Scalar>, u: Tensor<Scalar>?, v: Tensor<Scalar>?
    )

    Параметры

    computeUV

    Если true , левый и правый сингулярные векторы вычисляются и возвращаются как u и v соответственно. Если false , nil значения возвращаются как u и v .

    fullMatrices

    Если true , u и v соответственно имеют формы [..., M, M] и [..., N, N] . Если false , u и v соответственно имеют формы [..., M, K] и [..., K, N] . Игнорируется, если computeUV установлено значение false.

    Возвращаемое значение

    • s: сингулярные значения формы [..., K] . Внутри каждого вектора сингулярные значения сортируются в порядке убывания.
    • u: левые сингулярные векторы.
    • v: Правильные сингулярные векторы.
  • Квадратный корень из x .

    Для реальных типов, если x отрицательно, результатом будет .nan . Для сложных типов имеется разрез на отрицательной действительной оси.

    Декларация

    @differentiable
    public static func sqrt(_ x: `Self`) -> Tensor<Scalar>
  • Косинус x , интерпретируемый как угол в радианах.

    Декларация

    @differentiable
    public static func cos(_ x: `Self`) -> Tensor<Scalar>
  • Синус x , интерпретируемый как угол в радианах.

    Декларация

    @differentiable
    public static func sin(_ x: `Self`) -> Tensor<Scalar>
  • Тангенс x , интерпретируемый как угол в радианах.

    Декларация

    @differentiable
    public static func tan(_ x: `Self`) -> Tensor<Scalar>
  • Обратный косинус x в радианах.

    Декларация

    @differentiable
    public static func acos(_ x: `Self`) -> Tensor<Scalar>
  • Обратная синус x в радианах.

    Декларация

    @differentiable
    public static func asin(_ x: `Self`) -> Tensor<Scalar>
  • Обратная касательная x в радианах.

    Декларация

    @differentiable
    public static func atan(_ x: `Self`) -> Tensor<Scalar>
  • Гиперболический косинус x .

    Декларация

    @differentiable
    public static func cosh(_ x: `Self`) -> Tensor<Scalar>
  • Гиперболический синус x .

    Декларация

    @differentiable
    public static func sinh(_ x: `Self`) -> Tensor<Scalar>
  • Гиперболическая касательная из x .

    Декларация

    @differentiable
    public static func tanh(_ x: `Self`) -> Tensor<Scalar>
  • Обратный гиперболический косинус x

    Декларация

    @differentiable
    public static func acosh(_ x: `Self`) -> Tensor<Scalar>
  • Обратная гиперболическая синус из x .

    Декларация

    @differentiable
    public static func asinh(_ x: `Self`) -> Tensor<Scalar>
  • Обратная гиперболическая касательная из x .

    Декларация

    @differentiable
    public static func atanh(_ x: `Self`) -> Tensor<Scalar>
  • Экспоненциальная функция, применяемая к x или e**x .

    Декларация

    @differentiable
    public static func exp(_ x: `Self`) -> Tensor<Scalar>
  • Два подняты к власти x .

    Декларация

    @differentiable
    public static func exp2(_ x: `Self`) -> Tensor<Scalar>
  • Десять поднято к власти x .

    Декларация

    @differentiable
    public static func exp10(_ x: `Self`) -> Tensor<Scalar>
  • exp(x) - 1 оценен так, чтобы сохранить точность близко к нулю.

    Декларация

    @differentiable
    public static func expm1(_ x: `Self`) -> Tensor<Scalar>
  • Естественный логарифм x .

    Декларация

    @differentiable
    public static func log(_ x: `Self`) -> Tensor<Scalar>
  • Базовый-два логарифма x .

    Декларация

    @differentiable
    public static func log2(_ x: `Self`) -> Tensor<Scalar>
  • Базовый логарифм x .

    Декларация

    @differentiable
    public static func log10(_ x: `Self`) -> Tensor<Scalar>
  • log(1 + x) оценивается так, чтобы сохранить точность близко к нулю.

    Декларация

    @differentiable
    public static func log1p(_ x: `Self`) -> Tensor<Scalar>
  • exp(y log(x)) , рассчитанная без потери промежуточной точности.

    Для реальных типов, если x отрицателен, результат - NAN, даже если y имеет неотъемлемое значение. Для сложных типов есть разрез на отрицательной реальной оси.

    Декларация

    @differentiable
    public static func pow(_ x: `Self`, _ y: `Self`) -> Tensor<Scalar>
  • x поднят к n .

    Продукт n копий x .

    Декларация

    @differentiable
    public static func pow(_ x: `Self`, _ n: Int) -> Tensor<Scalar>
  • n th root of x .

    Для реальных типов, если x отрицательный и n ровный, результатом является NAN. Для сложных типов существует ветвь вдоль негативной реальной оси.

    Декларация

    @differentiable
    public static func root(_ x: `Self`, _ n: Int) -> Tensor<Scalar>
  • Декларация

    public typealias VectorSpaceScalar = Float
  • Декларация

    public func scaled(by scale: Float) -> Tensor<Scalar>
  • Декларация

    public func adding(_ scalar: Float) -> Tensor<Scalar>
  • Декларация

    public func subtracting(_ scalar: Float) -> Tensor<Scalar>
Доступно там, где `скаляр:` numeric`
  • Добавляет скаляр ко всем скалям тензора и производит сумму.

    Декларация

    @differentiable
    public static func + (lhs: Scalar, rhs: Tensor) -> Tensor
  • Добавляет скаляр ко всем скалям тензора и производит сумму.

    Декларация

    @differentiable
    public static func + (lhs: Tensor, rhs: Scalar) -> Tensor
  • Вычитает скаляр из каждого скаля тензора и создает разницу.

    Декларация

    @differentiable
    public static func - (lhs: Scalar, rhs: Tensor) -> Tensor
  • Вычитает скаляр из каждого скатара тензора и вызывает разницу

    Декларация

    @differentiable
    public static func - (lhs: Tensor, rhs: Scalar) -> Tensor
  • Добавляет два тензора и хранит результат в переменную левой стороны.

    Примечание

    += поддерживает вещание.

    Декларация

    public static func += (lhs: inout Tensor, rhs: Tensor)
  • Добавляет скаляр ко всем скалям тензора и сохраняет результат в переменной левой стороны.

    Декларация

    public static func += (lhs: inout Tensor, rhs: Scalar)
  • "="

    Вычитает второй тенсор из первого и хранит результат в переменной левой стороны.

    Примечание

    -= поддерживает вещание.

    Декларация

    public static func -= (lhs: inout Tensor, rhs: Tensor)
  • "="

    Вычитает скаляр из каждого скаля тензора и сохраняет результат в переменной левой стороны.

    Декларация

    public static func -= (lhs: inout Tensor, rhs: Scalar)
  • Возвращает тензор, произведенный путем умножения двух тензоров.

    Примечание

    * Поддерживает вещание.

    Декларация

    @differentiable
    public static func * (lhs: Tensor, rhs: Tensor) -> Tensor
  • Возвращает тензор, умножая его на каждый скаляр тензора.

    Декларация

    @differentiable
    public static func * (lhs: Scalar, rhs: Tensor) -> Tensor
  • Умножается скаляр на каждом скатаре тензора и производит продукт.

    Декларация

    @differentiable
    public static func * (lhs: Tensor, rhs: Scalar) -> Tensor
  • "="

    Умножается два тензора и хранит результат в переменной левой стороны.

    Примечание

    *= поддерживает вещание.

    Декларация

    public static func *= (lhs: inout Tensor, rhs: Tensor)
  • "="

    Умножает тензор на скаляр, транслируя скаляр, и сохраняет результат в переменной левой стороны.

    Декларация

    public static func *= (lhs: inout Tensor, rhs: Scalar)
  • Возвращает коэффициент деления первого тензора на второй.

    Примечание

    / поддерживает вещание.

    Декларация

    @differentiable
    public static func / (lhs: Tensor, rhs: Tensor) -> Tensor
  • Возвращает коэффициент деления скаляр на тензор, транслируя скаляр.

    Декларация

    @differentiable
    public static func / (lhs: Scalar, rhs: Tensor) -> Tensor
  • Возвращает коэффициент деления тензора на скаляр, транслируя скаляр.

    Декларация

    @differentiable
    public static func / (lhs: Tensor, rhs: Scalar) -> Tensor
  • "="

    Разделит первый тензор на второй и хранит коэффициент в переменной левой стороны.

    Декларация

    public static func /= (lhs: inout Tensor, rhs: Tensor)
  • "="

    Разделит тензор на скаляр, транслируя скаляр и сохраняет коэффициент в переменной левой стороны.

    Декларация

    public static func /= (lhs: inout Tensor, rhs: Scalar)
  • Возвращает оставшуюся часть деления первого тензора на второй.

    Примечание

    % поддерживает вещание.

    Декларация

    public static func % (lhs: Tensor, rhs: Tensor) -> Tensor
  • Возвращает оставшуюся часть деления тензора на скаляр, транслируя скаляр.

    Декларация

    public static func % (lhs: Tensor, rhs: Scalar) -> Tensor
  • Возвращает оставшуюся часть разделения скаляр на тензор, транслируя скаляр.

    Декларация

    public static func % (lhs: Scalar, rhs: Tensor) -> Tensor
  • "="

    Разделит первый тензор на второй и хранит остаток в переменной левой стороны.

    Декларация

    public static func %= (lhs: inout Tensor, rhs: Tensor)
  • "="

    Делит тензор на скаляр и хранит остаток в переменной левой стороны.

    Декларация

    public static func %= (lhs: inout Tensor, rhs: Scalar)
Доступно там, где `scalar` ==` bool`
  • Возвращает !self .

    Декларация

    public func elementsLogicalNot() -> Tensor
  • Возвращает self && other элементе.

    Примечание

    && поддерживает вещание.

    Декларация

    public func elementsLogicalAnd(_ other: Tensor) -> Tensor
  • Возвращает self && other элемент, транслируя other .

    Декларация

    public func elementsLogicalAnd(_ other: Scalar) -> Tensor
  • Возвращает self || other элемент.

    Декларация

    public func elementsLogicalOr(_ other: Tensor) -> Tensor
  • Возвращает self || other элементное, транслируя other .

    Декларация

    public func elementsLogicalOr(_ other: Scalar) -> Tensor
Доступно там, где `scalar`:` tensorflownumeric`
  • Возвращает max(min(self, max), min) .

    Декларация

    @differentiable
    public func clipped(min: Tensor, max: Tensor) -> Tensor
  • Возвращает max(min(self, max), min) .

    Декларация

    @differentiable(wrt: (self, min)
    ) public func clipped(min: Tensor, max: Scalar) -> Tensor
  • Возвращает max(min(self, max), min) .

    Декларация

    @differentiable(wrt: (self, max)
    ) public func clipped(min: Scalar, max: Tensor) -> Tensor
  • Возвращает max(min(self, max), min) .

    Декларация

    @differentiable(wrt: self)
    public func clipped(min: Scalar, max: Scalar) -> Tensor
Доступно, где `Скаляр
  • Возвращает отрицание указанного тензора.

    Декларация

    @differentiable
    public prefix static func - (rhs: Tensor) -> Tensor
Доступно там, где `скаляр:` numeric`
  • Декларация

    @differentiable(wrt: self)
    public func squared() -> Tensor
Доступно там, где `scalar ':` tensorflowfloingpoint`
  • Возвращает логический тензор, указывающий, какие элементы x являются конечными.

    Декларация

    public var isFinite: Tensor<Bool> { get }
  • Возвращает логический тензор, указывающий, какие элементы x являются бесконечными.

    Декларация

    public var isInfinite: Tensor<Bool> { get }
  • Возвращает логический тензор, указывающий, какие элементы x имеют NAN.

    Декларация

    public var isNaN: Tensor<Bool> { get }
Доступно там, где `scalar` ==` bool`
  • Возвращает true если все скаляры равны true . В противном случае возвращает false .

    Декларация

    public func all() -> Bool
  • Возвращает true если какие -либо скаляры равны true . В противном случае возвращает false .

    Декларация

    public func any() -> Bool
  • Выполняет логическую и работу вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func all(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Выполняет логическую и работу вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func any(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Выполняет логическую и работу вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func all(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Выполняет логическую или операцию вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func any(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

Доступно там, где `scalar`:` numeric` & `comparible`
  • Декларация

    @differentiable
    public func min() -> Tensor
  • Декларация

    @differentiable
    public func max() -> Tensor
  • Возвращает максимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает максимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает максимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимальные значения вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает индексы максимальных значений вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func argmax(squeezingAxis axis: Int) -> Tensor<Int32>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает индексы минимальных значений вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func argmin(squeezingAxis axis: Int) -> Tensor<Int32>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func min(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает минимум вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func max(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает индекс максимального значения сплющенных скаляров.

    Декларация

    public func argmax() -> Tensor<Int32>
  • Возвращает индекс минимального значения сплющенных скаляр.

    Декларация

    public func argmin() -> Tensor<Int32>
Доступно там, где `скаляр:` numeric`
  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Декларация

    @differentiable(wrt: self)
    public func sum() -> Tensor
  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает сумму вдоль указанных оси. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func sum(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func product(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func product(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func product(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Декларация

    @differentiable(wrt: self)
    public func product() -> Tensor
  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func product(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func product(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает продукт вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    public func product(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank...rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Декларация

    @differentiable(wrt: self)
    public func mean() -> Tensor
  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее арифметику вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func mean(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает дисперсию вдоль указанных осей. Уменьшенные размеры удаляются. Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает дисперсию вдоль указанных осей. Уменьшенные размеры удаляются. Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает дисперсию вдоль указанных осей. Пониженные размеры сохраняются со значением 1. не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Декларация

    @differentiable(wrt: self)
    public func variance() -> Tensor
  • Возвращает дисперсию вдоль указанных осей. Пониженные размеры сохраняются со значением 1. не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает дисперсию вдоль указанных осей. Пониженные размеры сохраняются со значением 1. не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает дисперсию вдоль указанных осей. Пониженные размеры сохраняются со значением 1. не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func variance(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает кумулятивную сумму этого тензора вдоль указанной оси. По умолчанию эта функция выполняет инклюзивную кумулятивную сумму, что означает, что первый элемент ввода идентичен первым элементам выхода:

    Tensor<Float>([a, b, c]).cumulativeSum() = Tensor<Float>([a, a + b, a + b + c])
    

    Установив exclusive аргумент на true , вместо этого выполняется исключительная совокупная сумма:

    Tensor<Float>([a, b, c]).cumulativeSum(exclusive: true) = Tensor<Float>([0, a, a + b])
    

    Установив reverse аргумент на true , совокупная сумма выполняется в противоположном направлении:

    Tensor<Float>([a, b, c]).cumulativeSum(reverse: true) ==
        Tensor<Float>([a + b + c, a + b, a])
    

    Это более эффективно, чем отдельно обращать вспять результирующий тензор.

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

    axis должна быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func cumulativeSum(
      alongAxis axis: Int,
      exclusive: Bool = false,
      reverse: Bool = false
    ) -> Tensor

    Параметры

    axis

    Ось, вдоль которой можно выполнить совокупную работу.

    exclusive

    Указывает, выполнять ли исключительную кумулятивную сумму.

    reverse

    Указывает, выполнять ли совокупную сумму в обратном порядке.

    Возвращаемое значение

    Результат совокупной операции суммы.

  • Возвращает кумулятивную сумму этого тензора вдоль указанной оси. По умолчанию эта функция выполняет инклюзивную кумулятивную сумму, что означает, что первый элемент ввода идентичен первым элементам выхода:

    Tensor<Float>([a, b, c]).cumulativeSum() = Tensor<Float>([a, a + b, a + b + c])
    

    Установив exclusive аргумент на true , вместо этого выполняется исключительная совокупная сумма:

    Tensor<Float>([a, b, c]).cumulativeSum(exclusive: true) = Tensor<Float>([0, a, a + b])
    

    Установив reverse аргумент на true , совокупная сумма выполняется в противоположном направлении:

    Tensor<Float>([a, b, c]).cumulativeSum(reverse: true) ==
        Tensor<Float>([a + b + c, a + b, a])
    

    Это более эффективно, чем отдельно обращать вспять результирующий тензор.

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

    axis.rank должен быть 0 .

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

    axis должна быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func cumulativeSum(
      alongAxis axis: Tensor<Int32>,
      exclusive: Bool = false,
      reverse: Bool = false
    ) -> Tensor

    Параметры

    axis

    Ось, вдоль которой можно выполнить совокупную работу.

    exclusive

    Указывает, выполнять ли исключительную кумулятивную сумму.

    reverse

    Указывает, выполнять ли совокупную сумму в обратном порядке.

    Возвращаемое значение

    Результат совокупной операции суммы.

  • Возвращает кумулятивный продукт этого тензора вдоль указанной оси. По умолчанию эта функция выполняет инклюзивный кумулятивный продукт, что означает, что первый элемент ввода идентичен первым элементам выхода:

    Tensor<Float>([a, b, c]).cumulativeProduct() = Tensor<Float>([a, a * b, a * b * c])
    

    Установив exclusive аргумент true , вместо этого выполняется эксклюзивный кумулятивный продукт:

    Tensor<Float>([a, b, c]).cumulativeProduct(exclusive: true) = Tensor<Float>([1, a, a * b])
    

    Установив reverse аргумент на true , совокупный продукт выполняется в противоположном направлении:

    Tensor<Float>([a, b, c]).cumulativeProduct(reverse: true) ==
        Tensor<Float>([a * b * c, a * b, a])
    

    Это более эффективно, чем отдельно обращать вспять результирующий тензор.

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

    axis должна быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func cumulativeProduct(
      alongAxis axis: Int,
      exclusive: Bool = false,
      reverse: Bool = false
    ) -> Tensor

    Параметры

    axis

    Ось, вдоль которой можно выполнить совокупную работу продукта.

    exclusive

    Указывает, выполнять ли эксклюзивный кумулятивный продукт.

    reverse

    Указывает, выполнять ли совокупный продукт в обратном порядке.

    Возвращаемое значение

    Результат совокупной работы продукта.

  • Возвращает кумулятивный продукт этого тензора вдоль указанной оси. По умолчанию эта функция выполняет инклюзивный кумулятивный продукт, что означает, что первый элемент ввода идентичен первым элементам выхода:

    Tensor<Float>([a, b, c]).cumulativeProduct() = Tensor<Float>([a, a * b, a * b * c])
    

    Установив exclusive аргумент true , вместо этого выполняется эксклюзивный кумулятивный продукт:

    Tensor<Float>([a, b, c]).cumulativeProduct(exclusive: true) = Tensor<Float>([1, a, a * b])
    

    Установив reverse аргумент на true , совокупный продукт выполняется в противоположном направлении:

    Tensor<Float>([a, b, c]).cumulativeProduct(reverse: true) ==
        Tensor<Float>([a * b * c, a * b, a])
    

    Это более эффективно, чем отдельно обращать вспять результирующий тензор.

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

    axis должна иметь ранг 0 .

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

    axis должна быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func cumulativeProduct(
      alongAxis axis: Tensor<Int32>,
      exclusive: Bool = false,
      reverse: Bool = false
    ) -> Tensor

    Параметры

    axis

    Ось, вдоль которой можно выполнить совокупную работу продукта.

    exclusive

    Указывает, выполнять ли эксклюзивный кумулятивный продукт.

    reverse

    Указывает, выполнять ли совокупный продукт в обратном порядке.

    Возвращаемое значение

    Результат совокупной работы продукта.

Доступно там, где `scalar ':` tensorflowfloingpoint`
  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает стандартное отклонение всех элементов в этом тензоре. Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation() -> Tensor
  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает стандартное отклонение элементов вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 . Не применяет коррекцию Бесселя.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func standardDeviation(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum(squeezingAxes: axes)) . Уменьшенные размеры удаляются.

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(squeezingAxes: axes)) непосредственно. Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(squeezingAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum(squeezingAxes: axes)) . Уменьшенные размеры удаляются.

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(squeezingAxes: axes)) непосредственно. Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(squeezingAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum(squeezingAxes: axes)) . Уменьшенные размеры удаляются.

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(squeezingAxes: axes)) непосредственно. Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(squeezingAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum()) . Результат - скаляр.

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum()) напрямую. Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

    Декларация

    @differentiable(wrt: self)
    public func logSumExp() -> Tensor
  • Возвращает log(exp(self).sum(alongAxes: axes)) . Уменьшенные размеры сохраняются со значением 1 .

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(alongAxes: axes)) . Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(alongAxes axes: Tensor<Int32>) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum(alongAxes: axes)) . Уменьшенные размеры сохраняются со значением 1 .

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(alongAxes: axes)) . Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(alongAxes axes: [Int]) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает log(exp(self).sum(alongAxes: axes)) . Уменьшенные размеры сохраняются со значением 1 .

    Эта функция является более численной стабильной, чем вычислительный log(exp(self).sum(alongAxes: axes)) . Это позволяет избежать переполнений, вызванных вычислением exp крупных входов и недостатков, вызванных вычислением log небольших входов.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func logSumExp(alongAxes axes: Int...) -> Tensor

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры удаляются.

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

    axes должны иметь ранг 1 .

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(squeezingAxes axes: Tensor<Int32>) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(squeezingAxes axes: [Int]) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры удаляются.

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(squeezingAxes axes: Int...) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию элементов этого тензора.

    Декларация

    @differentiable(wrt: self)
    public func moments() -> Moments<Scalar>
  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 .

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

    axes должны иметь ранг 1 .

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(alongAxes axes: Tensor<Int32>) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 .

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(alongAxes axes: [Int]) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

  • Возвращает среднее значение и дисперсию этого тензора вдоль указанных осей. Уменьшенные размеры сохраняются со значением 1 .

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

    Каждое значение в axes должно быть в диапазоне -rank..<rank .

    Декларация

    @differentiable(wrt: self)
    public func moments(alongAxes axes: Int...) -> Moments<Scalar>

    Параметры

    axes

    Размеры, которые нужно уменьшить.

Доступно там, где `скаляр:` numeric`
  • Выполняет умножение матрицы между двумя тензорами и дает результат.

    Декларация

    @differentiable
    public static func  (lhs: Tensor, rhs: Tensor) -> Tensor
Доступно там, где `scalar ':` tensorflowfloingpoint`
  • Декларация

    static func vjpInitDeviceAndPrecisionLike(
      _ value: Scalar,
      deviceAndPrecisionLike tensor: Tensor
    ) -> (value: Tensor, pullback: (Tensor) -> (Scalar, Tensor))
  • Возвращает тензор, вычисленный из пакетной нормализации входа вдоль указанной оси.

    В частности, возвращает (self - mu) / (var + epsilon) * gamma + beta где mu и var являются соответственно средним значением и дисперсией self вдоль axis .

    Декларация

    @differentiable(wrt: (self, offset, scale)
    public func batchNormalized(
      alongAxis axis: Int,
      offset: Tensor = Tensor(0),
      scale: Tensor = Tensor(1),
      epsilon: Scalar = 0.001
    ) -> Tensor

    Параметры

    axis

    Партийное измерение.

    offset

    Смещение, также известное как бета.

    scale

    Шкала, также известная как гамма.

    epsilon

    Небольшое значение добавило знаменателю для численной стабильности.

  • Объединяет два тензора вдоль последней оси.

    Декларация

    @differentiable
    public static func concatenate(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
  • Добавляет два значения и дает их сумму.

    Декларация

    @differentiable
    public static func sum(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
  • В среднем два значения.

    Декларация

    @differentiable
    public static func average(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
  • Умножается два значения.

    Декларация

    @differentiable
    public static func multiply(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
  • Сделайте два значения.

    Декларация

    @differentiable
    public static func stack(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
  • Декларация

    @derivative
    init(shape: scalars)
Доступно там, где `Скаляр ':` equatable
  • Декларация

    public static func == (lhs: Tensor, rhs: Tensor) -> Bool
  • "="

    Декларация

    public static func != (lhs: Tensor, rhs: Tensor) -> Bool
Доступно там, где `Скаляр
Доступно там, где `скаляр:` numeric`
  • Скалярная ноль тензор.

  • Декларация

    public static var zero: Tensor { get }
  • Добавляет два тензора и производит их сумму.

    Примечание

    + поддерживает вещание.

    Декларация

    @differentiable
    public static func + (lhs: Tensor, rhs: Tensor) -> Tensor
  • Вычитает один тензор из другого и вызывает их разницу.

    Примечание

    - Поддерживает вещание.

    Декларация

    @differentiable
    public static func - (lhs: Tensor, rhs: Tensor) -> Tensor
  • Скалярное тензор.

    Декларация

    public static var one: Tensor { get }
  • Возвращает элемент взаимного self .

    Декларация

    public var reciprocal: Tensor { get }
  • Умножается два тензора по элементу и производит их продукт.

    Примечание

    .* Поддерживает вещание.

    Декларация

    public static func .* (lhs: Tensor, rhs: Tensor) -> Tensor
Доступно там, где `scalar ':` tensorflowfloingpoint`
  • Декларация

    public typealias TangentVector = Tensor
  • Декларация

    public var zeroTangentVectorInitializer: () -> TangentVector { get }
  • Добавляет аннотацию.

    Примечание: поддерживается только x10. Для других бэкэндов, ямеодифицированное self возвращается.

    Декларация

    @differentiable(wrt: self)
    public func annotate(_ annotation: String) -> Tensor<Scalar>

    Параметры

    annotation

    Аннотация должна быть добавлена.

    Возвращаемое значение

    Аннотированный тензор.

  • Декларация

    @derivative
    func vjpAnnotate(_ annotation: String) -> (
      value: Tensor<Scalar>, pullback: (Tensor<Scalar>) -> Tensor<Scalar>
    )