@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]
تولید می کند.پیش شرط
شکل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]
تولید می کند.پیش شرط
شکل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
یک تانسور با شکل مشخص شده و یک مقدار اسکالر واحد و مکرر ایجاد می کند.
اعلامیه
@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 }
اعلامیه
@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
با محاسبه
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>
با محاسبه
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>
تانسوری از مقادیر بولی را برمیگرداند که نشان میدهد آیا عناصر
self
تقریباً با عناصرother
برابر هستند یا خیر.پیش شرط
self
وother
باید یک شکل باشند.اعلامیه
public func elementsAlmostEqual( _ other: Tensor, tolerance: Scalar = Scalar.ulpOfOne.squareRoot() ) -> Tensor<Bool>
اگر همه عناصر
self
تقریباً با عناصرother
برابر باشندtrue
برمیگرداند.پیش شرط
self
وother
باید یک شکل باشند.اعلامیه
public func isAlmostEqual( to other: Tensor, tolerance: Scalar = Scalar.ulpOfOne.squareRoot() ) -> Bool
یک مجموع ماکت متقاطع برای این تانسور اجرا می کند. همان مجموع ماکت متقابل باید در هر یک از دستگاه های دیگر شرکت کننده در جمع اتفاق بیفتد.
اعلامیه
public mutating mutating func crossReplicaSum(_ scale: Double)
اعلامیه
@derivative init(repeating: shape)
یک تبدیل نوع عنصر را از تانسور
Bool
انجام دهید.اعلامیه
public init(_ other: Tensor<Bool>)
یک تبدیل از نظر عنصر را از
Tensor
دیگر انجام دهید.اعلامیه
@differentiable public init<OtherScalar>(_ other: Tensor<OtherScalar>) where OtherScalar : Numeric, OtherScalar : TensorFlowScalar
اعلامیه
@derivative init(_: <<error type>>)
اعلامیه
@derivative init(stacking: alongAxis)
اعلامیه
@derivative init(concatenating: alongAxis)
یک تانسور با تمام اسکالرهای صفر تنظیم شده ایجاد می کند.
اعلامیه
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
است، یک محور جدید.
یک تانسور 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
باید مثبت باشد
یک تانسور با شکل مشخص شده ایجاد می کند و به طور تصادفی مقادیر اسکالر را از توزیع یکنواخت بین
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
ارزش دانه
یک تانسور با شکل مشخص شده ایجاد می کند و به طور تصادفی مقادیر اسکالر را از توزیع یکنواخت بین
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
ارزش دانه
با رسم نمونه هایی از یک توزیع طبقه بندی، یک تانسور ایجاد می کند.
اعلامیه
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)
است.
با انجام مقداردهی اولیه 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
چند تایی از دو عدد صحیح برای تخمین مولد اعداد تصادفی.
بخش مورب [دسته ای] یک تانسور [دسته ای] را برمی گرداند. برای نمونه تانسور شکل
[..., 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 برای نگه داشتن. اگر منفی بود، کل مثلث بالایی را نگه دارید.
تجزیه 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: بردارهای مفرد راست.
- s: مقادیر مفرد، با شکل
جذر
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>
مقیاس را به هر مقیاس تانسور اضافه می کند و مبلغ را تولید می کند.
اعلامیه
@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)
بازگشت
!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
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
اعلامیه
@differentiable(wrt: self) public func squared() -> Tensor
یک تانسور بولی را نشان می دهد که نشان می دهد کدام عناصر
x
محدود هستند.اعلامیه
public var isFinite: Tensor<Bool> { get }
یک تانسور بولی را نشان می دهد که نشان می دهد کدام عناصر
x
بی نهایت هستند.اعلامیه
public var isInfinite: Tensor<Bool> { get }
یک تانسور بولی را برمی گرداند که نشان می دهد کدام عناصر
x
با ارزش NAN هستند.اعلامیه
public var isNaN: Tensor<Bool> { get }
اگر همه مقیاس ها برابر با
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
ابعاد برای کاهش
اعلامیه
@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>
مبلغ را در امتداد محورهای مشخص شده برمی گرداند. ابعاد کاهش یافته برداشته می شوند.
پیش شرط
هر مقدار در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
نشان می دهد که آیا محصول تجمعی را به ترتیب معکوس انجام می دهد.
ارزش بازگشتی
نتیجه عملکرد محصول تجمعی.
انحراف استاندارد عناصر را در امتداد محورهای مشخص شده برمی گرداند. ابعاد کاهش یافته با مقدار
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
ابعاد برای کاهش
ضرب ماتریس را بین دو تانسور انجام می دهد و نتیجه را تولید می کند.
اعلامیه
@differentiable public static func • (lhs: Tensor, rhs: Tensor) -> Tensor
اعلامیه
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)
اعلامیه
public static func == (lhs: Tensor, rhs: Tensor) -> Bool
اعلامیه
public static func != (lhs: Tensor, rhs: Tensor) -> Bool
اعلامیه
public func encode(to encoder: Encoder) throws
اعلامیه
public init(from decoder: Decoder) throws
تانسور صفر مقیاس.
اعلامیه
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
اعلامیه
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> )