تانسور

@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

    تانسور 1 بعدی حاوی اندازه هر تقسیم.

    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
  • یک کپی از تانسور جمع شده را به ترتیب ردیف اصلی به یک Tensor 1 بعدی برگردانید.

    اعلامیه

    @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
  • عملگر الحاق.

    توجه داشته باشید

    ++ یک اپراتور سفارشی است که در سوئیفت وجود ندارد، اما در Haskell/Scala وجود دارد. افزودن آن یک تغییر زبانی ناچیز نیست و ممکن است بحث برانگیز باشد. وجود/نامگذاری ++ در مرحله بعدی طراحی API مورد بحث قرار خواهد گرفت.

    اعلامیه

    @differentiable
    public static func ++ (lhs: Tensor, rhs: Tensor) -> Tensor
  • با جمع‌آوری برش‌هایی از ورودی در indices در امتداد بعد axis ، یک تانسور را برمی‌گرداند

    برای indices 0-D (اسکالار):

    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 1-D (بردار):

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

    توجه داشته باشید

    در CPU، اگر یک شاخص خارج از محدوده پیدا شود، یک خطا ایجاد می شود. در GPU، اگر یک شاخص خارج از محدوده پیدا شود، 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 1 بعدی باشد به طوری که 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 }
  • اگر rank برابر با 0 باشد true و در غیر این صورت 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)
  • یک تانسور 1 بعدی از اسکالرها ایجاد می کند.

    اعلامیه

    @differentiable
    public init(_ scalars: [Scalar], on device: Device = .default)
  • یک تانسور 1 بعدی از اسکالرها ایجاد می کند.

    اعلامیه

    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 درست باشد و تعداد عناصر از دو برابر 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'
  • اعلامیه

    @differentiable(wrt: self)
    public func unbroadcasted(toShape otherShape: Tensor<Int32>) -> Tensor
  • اعلامیه

    @differentiable(wrt: self)
    public func unbroadcasted<OtherScalar>(like other: Tensor<OtherScalar>) -> Tensor where OtherScalar : TensorFlowScalar
  • اعلامیه

    @differentiable(wrt: self)
    public func unbroadcasted(to shape: TensorShape) -> Tensor
  • حالتی که نحوه پوشاندن تانسور را تعیین می کند.

    اعلامیه

    public enum PaddingMode
  • یک تانسور پر شده با ثابت را بر اساس اندازه‌های بالشتک مشخص شده برمی‌گرداند.

    اعلامیه

    @differentiable(wrt: self)
    public func padded(forSizes sizes: [(before: Int, after: Int)], with value: Scalar = 0)
      -> Tensor
  • یک تانسور پر شده را با توجه به اندازه‌ها و حالت لایه‌بندی مشخص شده برمی‌گرداند.

    اعلامیه

    @differentiable(wrt: self)
    public func padded(forSizes sizes: [(before: Int, after: Int)], mode: PaddingMode) -> Tensor
موجود در جایی که 'Scalar': 'Numeric' & 'Comparable'
  • با محاسبه 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' موجود است
  • اگر همه عناصر self تقریباً با عناصر other برابر باشند true برمی‌گرداند.

    پیش شرط

    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

    تانسوری که شکل و نوع داده آن مورد استفاده قرار می گیرد.

  • یک تانسور 1 بعدی ایجاد می کند که دنباله ای را از یک مقدار شروع به یک مقدار پایانی نشان می دهد، اما شامل آن نمی شود، با گام برداشتن به مقدار مشخص.

    اعلامیه

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

    پارامترها

    start

    مقدار شروعی که برای دنباله استفاده می شود. اگر دنباله حاوی مقادیری باشد، اولین مورد start است.

    end

    یک مقدار پایانی برای محدود کردن توالی. end هرگز عنصری از دنباله حاصل نیست.

    stride

    مقداری که باید با هر تکرار گام به گام بردارید. stride باید مثبت باشد

  • یک تانسور 1 بعدی ایجاد می کند که دنباله ای را از یک مقدار شروع به یک مقدار پایانی نشان می دهد، اما شامل آن نمی شود، با گام برداشتن به مقدار مشخص.

    اعلامیه

    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 طول خواهد بود.

    اگر 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' موجود است
  • یک تانسور 1 بعدی ایجاد می کند که دنباله ای را از یک مقدار شروع، تا و شامل یک مقدار پایانی نشان می دهد، با فاصله مساوی برای تولید تعداد مقادیر مشخص شده.

    اعلامیه

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

    پارامترها

    start

    مقدار شروعی که برای دنباله استفاده می شود. اگر دنباله حاوی مقادیری باشد، اولین مورد start است.

    end

    یک مقدار پایانی برای محدود کردن توالی. end آخرین عنصر از دنباله به دست آمده است.

    count

    تعداد مقادیر در دنباله به دست آمده. count باید مثبت باشد

  • یک تانسور 1 بعدی ایجاد می کند که دنباله ای را از یک مقدار شروع، تا و شامل یک مقدار پایانی نشان می دهد، با فاصله مساوی برای تولید تعداد مقادیر مشخص شده.

    پیش شرط

    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

    ارزش دانه

  • یک تانسور با شکل مشخص شده ایجاد می کند و به طور تصادفی مقادیر اسکالر را از یک توزیع Normal کوتاه شده نمونه برداری می کند.

    اعلامیه

    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-D. تعداد نمونه های مستقل برای ترسیم برای هر برش ردیف.

    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

    تعداد superdiagonals برای نگه داشتن. اگر منفی بود، کل مثلث بالایی را نگه دارید.

در جایی که '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()`
    

    خود must be a tensor with shape . 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 نادرست است نادیده گرفته می شود.

    ارزش بازگشتی

    • 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 از 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>
در جایی که `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 عناصر self || other

    اعلامیه

    public func elementsLogicalOr(_ other: Tensor) -> Tensor
  • self || other عناصر self || other ، پخش other .

    اعلامیه

    public func elementsLogicalOr(_ other: Scalar) -> Tensor
در دسترس است که در آن `scalar`:` tensorflownumeric`
در جایی که `scalar`:` SignedNumeric` در دسترس است
  • نفی عنصر مشخص شده تانسور را برمی گرداند.

    اعلامیه

    @differentiable
    public prefix static func - (rhs: Tensor) -> Tensor
در جایی که `scalar`:` numeric` در دسترس است
  • اعلامیه

    @differentiable(wrt: self)
    public func squared() -> Tensor
در دسترس است که در آن `scalar`:` tensorflowfloatingpoint`
  • یک تانسور بولی را نشان می دهد که نشان می دهد کدام عناصر 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` & `قابل مقایسه"
  • اعلامیه

    @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>
در جایی که `scalar`:` 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`:` tensorflowfloatingpoint`
  • انحراف استاندارد عناصر را در امتداد محورهای مشخص شده برمی گرداند. ابعاد کاهش یافته با مقدار 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

    ابعاد برای کاهش

در جایی که `scalar`:` numeric` در دسترس است
  • ضرب ماتریس را بین دو تانسور انجام می دهد و نتیجه را تولید می کند.

    اعلامیه

    @differentiable
    public static func  (lhs: Tensor, rhs: Tensor) -> Tensor
در دسترس است که در آن `scalar`:` tensorflowfloatingpoint`
  • اعلامیه

    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)
موجود در جایی که 'Scalar': 'Equatable'
  • اعلامیه

    public static func == (lhs: Tensor, rhs: Tensor) -> Bool
  • اعلامیه

    public static func != (lhs: Tensor, rhs: Tensor) -> Bool
موجود در جایی که 'Scalar': 'Codable'
در جایی که `scalar`:` 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`:` tensorflowfloatingpoint`
  • اعلامیه

    public typealias TangentVector = Tensor
  • اعلامیه

    public var zeroTangentVectorInitializer: () -> TangentVector { get }
  • حاشیه نویسی را اضافه می کند.

    توجه: فقط X10 پشتیبانی می شود. برای سایر باکتری ها ، self umodified بازگردانده می شود.

    اعلامیه

    @differentiable(wrt: self)
    public func annotate(_ annotation: String) -> Tensor<Scalar>

    پارامترها

    annotation

    حاشیه نویسی اضافه می شود.

    ارزش بازگشتی

    تانسور حاشیه نویسی.

  • اعلامیه

    @derivative
    func vjpAnnotate(_ annotation: String) -> (
      value: Tensor<Scalar>, pullback: (Tensor<Scalar>) -> Tensor<Scalar>
    )