@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
Vektörlerin ve matrislerin potansiyel olarak daha yüksek boyutlara genelleştirilmesi olan çok boyutlu bir öğe dizisi.
Genel parametre Scalar
tensördeki skalerlerin türünü açıklar ( Int32
, Float
vb. gibi).
Temel
TensorHandle
.Not
handle
kullanıcı tanımlı işlemlere izin vermek için herkese açıktır, ancak normalde kullanılmamalıdır.beyan
public let handle: TensorHandle<Scalar>
beyan
public init(handle: TensorHandle<Scalar>)
R
dereceli bir tensörün belirli boyutunu birden fazla sıralı(R-1)
tensöre açar.N
bu tensörün şeklinden çıkarıldığıaxis
boyutu boyunca parçalayarak bu tensördenN
tensörü paketinden çıkarır. Örneğin,[A, B, C, D]
şeklinde bir tensör verildiğinde:- Eğer
axis == 0
ise, döndürülen dizidekii
tensörself[i, :, :, :]
dilimidir ve bu dizideki her tensör[B, C, D]
şekline sahip olacaktır. (Tensor.split(numSplits:alongAxis)
veyaTensor.split(sizes:alongAxis)
den farklı olarak paketten çıkarılan boyutun kaybolduğunu unutmayın). - Eğer
axis == 1
ise, o zaman döndürülen dizidekii
tensör dilimvalue[:, i, :, :]
ve bu dizideki her tensör[A, C, D]
şekline sahip olacaktır. - Vesaire.
Bu
Tensor.init(stacking:alongAxis:)
işlevinin tam tersidir.Önkoşul
axis
[-rank, rank)
aralığında olmalıdır; buradarank
, sağlanan tensörlerin sırasıdır.beyan
@differentiable public func unstacked(alongAxis axis: Int = 0) -> [Tensor]
Parametreler
axis
Yığından ayrılacak boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Yığınlanmamış tensörleri içeren dizi.
- Eğer
Bir tensörü birden çok tensöre böler. Tensör, boyut
axis
boyuncacount
küçük tensörlere bölünür. Bu,count
shape[axis]
eşit şekilde bölmesini gerektirir.Örneğin:
// '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]
Önkoşul
count
boyutaxis
boyutunu eşit olarak bölmelidir.Önkoşul
axis
[-rank, rank)
aralığında olmalıdır; buradarank
, sağlanan tensörlerin sırasıdır.beyan
@differentiable public func split(count: Int, alongAxis axis: Int = 0) -> [Tensor]
Parametreler
count
Oluşturulacak bölünme sayısı.
axis
Bu tensörün bölüneceği boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Tensör kısmını içeren bir dizi.
Bir tensörü birden çok tensöre böler. Tensör,
sizes.shape[0]
parçalarına bölünür.i
parçanın şekli, boyutunsizes[i]
olduğu boyutaxis
dışında bu tensörle aynı şekle sahiptir.Örneğin:
// '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]
Önkoşul
sizes
değerlerin toplamı, boyutaxis
boyutuna eşit olmalıdır.Önkoşul
axis
[-rank, rank)
aralığında olmalıdır; buradarank
, sağlanan tensörlerin sırasıdır.beyan
@differentiable(wrt: self) public func split(sizes: Tensor<Int32>, alongAxis axis: Int = 0) -> [Tensor]
Parametreler
sizes
Her bölünmenin boyutunu içeren 1 boyutlu tensör.
axis
Bu tensörün bölüneceği boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Tensör parçalarını içeren dizi.
beyan
@differentiable(wrt: self) public func split(sizes: [Int], alongAxis axis: Int = 0) -> [Tensor]
Bu tensörün döşenmesiyle oluşturulan döşenmiş bir tensörü döndürür.
Bu yapıcı, bu tensörü
multiples
kez çoğaltarak yeni bir tensör oluşturur. Oluşturulan tensörüni
boyutuself.shape[i] * multiples[i]
elemanlarına sahiptir ve bu tensörün değerlerii
boyut boyuncamultiples[i]
kez kopyalanır. Örneğin,[abcd]
öğesinin[2]
ile döşenmesi[abcdabcd]
sonucunu verir.Önkoşul
multiples
şekli[tensor.rank]
olmalıdır.Önkoşul
multiples
tüm skalerler negatif olmamalıdır.beyan
@differentiable(wrt: self) public func tiled(multiples: [Int]) -> Tensor
Bu tensörün döşenmesiyle oluşturulan döşenmiş bir tensörü döndürür.
Bu yapıcı, bu tensörü
multiples
kez çoğaltarak yeni bir tensör oluşturur. Oluşturulan tensörüni
boyutuself.shape[i] * multiples[i]
elemanlarına sahiptir ve bu tensörün değerlerii
boyut boyuncamultiples[i]
kez kopyalanır. Örneğin,[abcd]
öğesinin[2]
ile döşenmesi[abcdabcd]
sonucunu verir.Önkoşul
multiples
şekli[tensor.rank]
olmalıdır.beyan
@differentiable(wrt: self) public func tiled(multiples: Tensor<Int32>) -> Tensor
Belirtilen
Tensor
şekline göre yeniden şekillendirin.Önkoşul
Skaler sayısı yeni şekille eşleşiyor.beyan
@differentiable(wrt: self) public func reshaped<T>(like other: Tensor<T>) -> Tensor where T : TensorFlowScalar
Belirtilen şekle yeniden şekillendirin.
Önkoşul
Skaler sayısı yeni şekille eşleşiyor.beyan
@differentiable(wrt: self) public func reshaped(to newShape: TensorShape) -> Tensor
Bir şekli temsil eden belirtilen
Tensor
göre yeniden şekillendirin.Önkoşul
Skaler sayısı yeni şekille eşleşiyor.beyan
@differentiable(wrt: self) public func reshaped(toShape newShape: Tensor<Int32>) -> Tensor
Tensörün bir kopyasını 1-D
Tensor
daraltılmış olarak ana satır sırasına göre döndürün.beyan
@differentiable(wrt: self) public func flattened() -> Tensor
Belirtilen şekil indekslerine 1 boyutu eklenmiş, şekil genişletilmiş bir
Tensor
döndürür.beyan
@differentiable(wrt: self) public func expandingShape(at axes: Int...) -> Tensor
Belirtilen şekil indekslerine 1 boyutu eklenmiş, şekil genişletilmiş bir
Tensor
döndürür.beyan
@differentiable(wrt: self) public func expandingShape(at axes: [Int]) -> Tensor
Ön boyutu 1 olan, sıralaması yükseltilmiş bir
Tensor
döndürür.beyan
@differentiable(wrt: self) public func rankLifted() -> Tensor
Boyut 1'in belirtilen boyutlarını tensörün şeklinden kaldırır. Hiçbir boyut belirtilmezse, boyut 1'in tüm boyutları kaldırılacaktır.
beyan
@differentiable(wrt: self) public func squeezingShape(at axes: Int...) -> Tensor
Boyut 1'in belirtilen boyutlarını tensörün şeklinden kaldırır. Hiçbir boyut belirtilmezse, boyut 1'in tüm boyutları kaldırılacaktır.
beyan
@differentiable(wrt: self) public func squeezingShape(at axes: [Int]) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@differentiable(wrt: self) public func transposed(permutation: Tensor<Int32>) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@available(*, deprecated, renamed: "transposed(permutation:﹚") @differentiable(wrt: self) public func transposed(withPermutations permutations: Tensor<Int32>) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@differentiable(wrt: self) public func transposed(permutation: [Int]) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@available(*, deprecated, renamed: "transposed(permutation:﹚") @differentiable(wrt: self) public func transposed(withPermutations permutations: [Int]) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@differentiable(wrt: self) public func transposed(permutation: Int...) -> Tensor
Boyutların belirtilen sıraya göre değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@available(*, deprecated, renamed: "transposed(permutation:﹚") @differentiable(wrt: self) public func transposed(withPermutations permutations: Int...) -> Tensor
Boyutların ters sırada değiştirildiği, aktarılmış bir tensör döndürür.
beyan
@differentiable(wrt: self) public func transposed() -> Tensor
Belirtilen boyutların tersine çevrildiği bir tensör döndürür.
Önkoşul
axes
her değer-rank..<rank
aralığında olmalıdır.Önkoşul
axes
çoğaltma olmamalıdır.beyan
@differentiable(wrt: self) public func reversed(inAxes axes: Tensor<Int32>) -> Tensor
Belirtilen boyutların tersine çevrildiği bir tensör döndürür.
Önkoşul
axes
her değer-rank..<rank
aralığında olmalıdır.Önkoşul
axes
çoğaltma olmamalıdır.beyan
@differentiable(wrt: self) public func reversed(inAxes axes: [Int]) -> Tensor
Belirtilen boyutların tersine çevrildiği bir tensör döndürür.
Önkoşul
axes
her değer-rank..<rank
aralığında olmalıdır.Önkoşul
axes
çoğaltma olmamalıdır.beyan
@differentiable(wrt: self) public func reversed(inAxes axes: Int...) -> Tensor
Belirtilen eksen boyunca birleştirilmiş bir tensör döndürür.
Önkoşul
Tensörlerin belirtilen eksen dışında aynı boyutlara sahip olması gerekir.Önkoşul
Eksen-rank..<rank
aralığında olmalıdır.beyan
@differentiable public func concatenated(with other: Tensor, alongAxis axis: Int = 0) -> Tensor
Birleştirme operatörü.
Not
++
Swift'de bulunmayan ancak Haskell/Scala'da bulunan özel bir operatördür. Eklenmesi önemsiz bir dil değişikliği değildir ve tartışmalı olabilir.++
ın varlığı/adlandırılması daha sonraki bir API tasarım aşamasında tartışılacaktır.beyan
@differentiable public static func ++ (lhs: Tensor, rhs: Tensor) -> Tensor
Girişin dilimlerini
axis
boyutu boyuncaindices
toplayarak bir tensör döndürür0-D (skaler)
indices
için: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}]
1-D (vektör)
indices
için: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}]
Genel durumda, sonuç olarak aşağıdaki tensörü üretir:
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}]
burada
N = self.rank
veM = indices.rank
.Ortaya çıkan tensörün şekli şöyledir:
self.shape[..<axis] + indices.shape + self.shape[(axis + 1)...]
.Not
CPU'da aralık dışı bir dizin bulunursa bir hata atılır. GPU'da aralık dışı bir dizin bulunursa karşılık gelen çıkış değerlerinde 0 saklanır.
Önkoşul
axis
[-rank, rank)
aralığında olmalıdır.beyan
@differentiable(wrt: self) public func gathering<Index: TensorFlowIndex>( atIndices indices: Tensor<Index>, alongAxis axis: Int = 0 ) -> Tensor
Parametreler
indices
Toplanacak endeksleri içerir.
axis
Toplanacak boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Toplanan tensör.
Toplu iş boyutlarına karşılık gelen ilk
batchDimensionCount
boyutlarını yok sayarak,axis
boyutu boyuncaindices
bu tensörün dilimlerini döndürür. Toplama, toplu olmayan ilk boyut boyunca gerçekleştirilir.Ortaya çıkan tensör şeklinin artık
shape[..<axis] + indices.shape[batchDimensionCount...] + shape[(axis + 1)...]
olması dışında,gathering
işlemine benzer işlevsellik gerçekleştirir.Önkoşul
axis
-rank..<rank
aralığında olmalı ve aynı zamandabatchDimensionCount
değerinden büyük veya ona eşit olmalıdır.Önkoşul
batchDimensionCount
indices.rank
değerinden küçük olmalıdır.beyan
@differentiable(wrt: self) public func batchGathering<Index: TensorFlowIndex>( atIndices indices: Tensor<Index>, alongAxis axis: Int = 1, batchDimensionCount: Int = 1 ) -> Tensor
Parametreler
indices
Toplanacak endeksleri içerir.
axis
Toplanacak boyut. Negatif değerler etrafı sarar.
batchDimensionCount
Yoksayılacak önde gelen parti boyutlarının sayısı.
Dönüş Değeri
Toplanan tensör.
Sağlanan boole maskesini girişe uyguladıktan sonra değerleri toplayarak bir tensör döndürür.
Örneğin:
// 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]]
Genel olarak,
0 < mask.rank = K <= tensor.rank
vemask
şekli,tensor
şeklinin ilk K boyutlarıyla eşleşmelidir. O zaman elimizde:tensor.gathering(where: mask)[i, j1, ..., jd] = tensor[i1, ..., iK, j1, ..., jd]
, burada[i1, ..., iK]
mask
i
true
girişidir (satır-ana sıralama).axis
maskelenecek ekseni belirtmek içinmask
birlikte kullanılabilir. Bu durumdaaxis + mask.rank <= tensor.rank
vemask
şekli, tensörün şeklinin birinci axis + mask.rankdimensions of the
's shape must match the first
.Önkoşul
mask
skaler olamaz:mask.rank != 0
.beyan
@differentiable(wrt: self) public func gathering(where mask: Tensor<Bool>, alongAxis axis: Int = 0) -> Tensor
Parametreler
mask
KD boole tensörü, burada
K <= self.rank
.axis
self
maskelenecek ekseni temsil eden 0-D tamsayı tensörü; buradaK + axis <= self.rank
.Dönüş Değeri
(self.rank - K + 1)
mask
içindekitrue
değerlere karşılık gelen bu tensördeki girişlerle doldurulmuş boyutlu tensör.Bu tensördeki sıfır olmayan/doğru değerlerin konumlarını döndürür.
Koordinatlar, ilk boyutun (satırlar) sıfır olmayan öğelerin sayısını temsil ettiği ve ikinci boyutun (sütunlar) sıfır olmayan öğelerin koordinatlarını temsil ettiği 2 boyutlu bir tensörde döndürülür. Çıkış tensörünün şeklinin, bu tensörde kaç tane gerçek değer bulunduğuna bağlı olarak değişebileceğini unutmayın. Endeksler satır ana sırasına göre çıkarılır.
Örneğin:
// '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]]
beyan
public func nonZeroIndices() -> Tensor<Int64>
Dönüş Değeri
(num_true, rank(condition))
şekline sahip bir tensör.beyan
@differentiable(wrt: self) public func broadcasted(toShape shape: Tensor<Int32>) -> Tensor
beyan
@differentiable(wrt: self) public func broadcasted(to shape: TensorShape) -> Tensor
Belirtilen
Tensor
ile aynı şekle yayınlayın.Önkoşul
Belirtilen şeklin yayına uygun olması gerekir.beyan
@differentiable(wrt: self) public func broadcasted<OtherScalar>(like other: Tensor<OtherScalar>) -> Tensor where OtherScalar : TensorFlowScalar
beyan
public static func .= (lhs: inout Tensor, rhs: Tensor)
Her boyut için alt ve üst sınırlar tarafından tanımlanan tensörden bir dilim çıkarır.
beyan
@differentiable(wrt: self) public func slice(lowerBounds: [Int], upperBounds: [Int]) -> Tensor
Parametreler
lowerBounds
Her boyuttaki alt sınırlar.
upperBounds
Her boyuttaki üst sınırlar.
beyan
@differentiable(wrt: self) public func slice(lowerBounds: Tensor<Int32>, sizes: Tensor<Int32>) -> Tensor
beyan
@differentiable(wrt: self) public func slice(lowerBounds: [Int], sizes: [Int]) -> Tensor
beyan
@differentiable(wrt: self) public subscript(ranges: TensorRangeExpression...) -> Tensor { get set }
axes
her bir öğesininself
eksenini ifade edip etmediğini kontrol eder ve aksi takdirde bir tanılamayla programı durdurur.beyan
func ensureValid( axes: Tensor<Int32>, function: StaticString = #function, file: StaticString = #file, line: UInt = #line )
axes
her bir öğesininself
eksenini ifade edip etmediğini kontrol eder ve aksi takdirde bir tanılamayla programı durdurur.beyan
func ensureValid( axes: [Int], function: StaticString = #function, file: StaticString = #file, line: UInt = #line )
k
self
eksenini ifade edip etmediğini kontrol eder ve aksi halde bir tanılamayla programı durdurur.beyan
func ensureValid( axis k: Int, function: StaticString = #function, file: StaticString = #file, line: UInt = #line )
beyan
public init<BatchSamples: Collection>(collating samples: BatchSamples) where BatchSamples.Element == Self
Belirtilen şekle ve tekrarlanan tek bir skaler değere sahip bir tensör oluşturur.
beyan
@available(*, deprecated, renamed: "init(repeating:shape:﹚") public init(shape: TensorShape, repeating repeatedValue: Scalar)
Parametreler
shape
Tensörün boyutları.
repeatedValue
Tekrarlanacak skaler değer.
Belirtilen şekle ve tekrarlanan tek bir skaler değere sahip bir tensör oluşturur.
beyan
@differentiable public init( repeating repeatedValue: Scalar, shape: TensorShape, on device: Device = .default )
Parametreler
repeatedValue
Tekrarlanacak skaler değer.
shape
Tensörün boyutları.
Verilen skaleri, tüm boyutların 1 olduğu belirli bir dereceye yayınlayarak bir tensör oluşturur.
beyan
public init(broadcasting scalar: Scalar, rank: Int, on device: Device = .default)
Bir tensör dizisinden (bunların kendileri de skaler olabilir) bir tensör oluşturur.
beyan
@differentiable public init(_ elements: [Tensor])
tensors
axis
boyutu boyunca, geçerli tensörden bir üst seviyeye vetensors
her tensöre sahip yeni bir tensöre yığınlar.tensors
tamamının[A, B, C]
şekline sahip olduğu vetensors.count = N
göz önüne alındığında, o zaman:-
axis == 0
ise ortaya çıkan tensör[N, A, B, C]
şekline sahip olacaktır. -
axis == 1
ise ortaya çıkan tensör[A, N, B, C]
şekline sahip olacaktır. - vesaire.
Örneğin:
// '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]]
Bu
Tensor.unstacked(alongAxis:)
öğesinin tam tersidir.Önkoşul
Tüm tensörler aynı şekle sahip olmalıdır.
Önkoşul
axis
[-rank, rank)
aralığında olmalıdır; buradarank
, sağlanan tensörlerin sırasıdır.beyan
@differentiable public init(stacking tensors: [Tensor], alongAxis axis: Int = 0)
Parametreler
tensors
Yığılacak tensörler.
axis
Yığınlanacak boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Yığılmış tensör.
-
tensors
axis
boyutu boyunca birleştirir.tensors[i].shape = [D0, D1, ... Daxis(i), ...Dn]
olduğu göz önüne alındığında, birleştirilmiş sonuç[D0, D1, ... Raxis, ...Dn]
şekline sahiptir, buradaRaxis = sum(Daxis(i))
. Yani giriş tensörlerinden gelen verileraxis
boyutu boyunca birleştirilir.Örneğin:
// 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]
Not
Yeni bir eksen boyunca birleştirme yapıyorsanız
Tensor.init(stacking:alongAxis:)
kullanmayı düşünün.Önkoşul
Tüm tensörler aynı rütbeye sahip olmalı ve
axis
dışındaki tüm boyutlar eşit olmalıdır.Önkoşul
axis
[-rank, rank)
aralığında olmalıdır; buradarank
, sağlanan tensörlerin sırasıdır.beyan
@differentiable public init(concatenating tensors: [Tensor], alongAxis axis: Int = 0)
Parametreler
tensors
Birleştirilecek tensörler.
axis
Birleştirilecek boyut. Negatif değerler etrafı sarar.
Dönüş Değeri
Birleştirilmiş tensör.
mask
true
olduğu şeritlerde bu tensörün öğeleriniother
değiştirir.Önkoşul
self
veother
aynı şekle sahip olmalıdır. Eğerself
veother
skaler isemask
de skaler olmalıdır.self
veother
sıralaması1
büyük veya ona eşitse,mask
yaself
ile aynı şekle sahip olmalı ya damask.scalarCount == self.shape[0]
olacak şekilde 1-BTensor
olmalıdır.beyan
@differentiable(wrt: (self, other) ) public func replacing(with other: Tensor, where mask: Tensor<Bool>) -> Tensor
Fiziksel skaler türün duyarlılığı azaltılırsa true değerini döndürür.
Şu anda azaltılmış hassasiyetli fiziksel skaler türler yalnızca
BFloat16
içermektedir.beyan
public var isReducedPrecision: Bool { get }
Verilen tensörle aynı cihaz ve hassasiyetle bir tensöre skaleri yükseltir.
beyan
@differentiable public init(_ value: Scalar, deviceAndPrecisionLike tensor: Tensor)
self
BFloat16
fiziksel skaler türüne dönüştürülmüş bir kopyasını döndürür.beyan
public var toReducedPrecision: `Self` { get }
self
Scalar
fiziksel skaler türüne dönüştürülmüş bir kopyasını döndürür.beyan
public var toFullPrecision: `Self` { get }
Tensor
boyut sayısı.beyan
public var rank: Int { get }
Tensor
şekli.beyan
public var shape: TensorShape { get }
Tensor
skaler sayısı.beyan
public var scalarCount: Int { get }
Tensor<Int32>
olarak temsil edilen tensörün sırası.beyan
public var rankTensor: Tensor<Int32> { get }
Tensor<Int32>
olarak temsil edilen tensörün boyutları.beyan
public var shapeTensor: Tensor<Int32> { get }
Tensor<Int32>
olarak temsil edilen tensördeki skaler sayısı.beyan
public var scalarCountTensor: Tensor<Int32> { get }
rank
0'a eşitsetrue
, değilsefalse
döndürür.beyan
public var isScalar: Bool { get }
rank
0'a eşitse, aksi haldenil
tek skaler öğeyi döndürür.beyan
public var scalar: Scalar? { get }
Skaler olarak yeniden şekillendirin.
Önkoşul
Tensörün tam olarak bir skaleri vardır.beyan
@differentiable public func scalarized() -> Scalar
beyan
public var array: ShapedArray<Scalar> { get }
beyan
@differentiable public var scalars: [Scalar] { get }
Skaler bir değerden 0-D tensör oluşturur.
beyan
@differentiable public init(_ value: Scalar, on device: Device = .default)
Skalerlerden 1 boyutlu bir tensör oluşturur.
beyan
@differentiable public init(_ scalars: [Scalar], on device: Device = .default)
Skalerlerden 1 boyutlu bir tensör oluşturur.
beyan
public init<C: Collection>( _ vector: C, on device: Device = .default ) where C.Element == Scalar
Belirtilen şekle ve bitişik skalerlere sahip, ana satır sırasına göre bir tensör oluşturur.
Önkoşul
Şeklin boyutlarının çarpımı skaler sayısına eşit olmalıdır.beyan
@differentiable public init(shape: TensorShape, scalars: [Scalar], on device: Device = .default)
Parametreler
shape
Tensörün şekli.
scalars
Tensörün skaler içeriği.
Belirtilen şekle ve bitişik skalerlere sahip, ana satır sırasına göre bir tensör oluşturur.
Önkoşul
Şeklin boyutlarının çarpımı skaler sayısına eşit olmalıdır.beyan
public init( shape: TensorShape, scalars: UnsafeBufferPointer<Scalar>, on device: Device = .default )
Parametreler
shape
Tensörün şekli.
scalars
Tensörün skaler içeriği.
Belirtilen şekle ve bitişik skalerlere sahip, ana satır sırasına göre bir tensör oluşturur.
Önkoşul
Şeklin boyutlarının çarpımı skaler sayısına eşit olmalıdır.Belirtilen şekle ve bitişik skalerlere sahip, ana satır sırasına göre bir tensör oluşturur.
Önkoşul
Şeklin boyutlarının çarpımı skaler sayısına eşit olmalıdır.beyan
public init<C: Collection>( shape: TensorShape, scalars: C, on device: Device = .default ) where C.Element == Scalar
Parametreler
shape
Tensörün şekli.
scalars
Tensörün skaler içeriği.
Bir dizi değişmezinin öğelerinin türü.
beyan
public typealias ArrayLiteralElement = _TensorElementLiteral<Scalar>
Verilen öğelerle başlatılan bir tensör oluşturur.
beyan
public init(arrayLiteral elements: _TensorElementLiteral<Scalar>...)
Tensörün metinsel temsili.
Not
tüm skalerleri gösteren, hoş olmayan bir şekilde basılmış bir açıklama içinfullDescription
kullanın.beyan
public var description: String { get }
Tensörün metinsel temsili.
summarize
doğruysa ve öğe sayısıedgeElementCount
iki katını aşarsa özetlenmiş bir açıklama döndürür.beyan
public func description( lineWidth: Int = 80, edgeElementCount: Int = 3, summarizing: Bool = false ) -> String
Parametreler
lineWidth
Yazdırma için maksimum çizgi genişliği. Satır başına yazdırılacak skaler sayısını belirlemek için kullanılır.
edgeElementCount
Üç nokta (
...
) aracılığıyla özetlemeden önce ve sonra yazdırılacak maksimum öğe sayısı.summarizing
Doğruysa, öğe sayısı
edgeElementCount
iki katını aşarsa açıklamayı özetleyin.Tensörün tüm skalerleri gösteren tam, güzel basılmamış metinsel temsili.
beyan
public var fullDescription: String { get }
beyan
public var playgroundDescription: Any { get }
beyan
public var customMirror: Mirror { get }
Bu tensörü açıklayan açıklamalar.
beyan
public var annotations: String { get }
Ek açıklamalar için bir takma ad.
beyan
public var summary: String { get }
beyan
public init(_owning tensorHandles: UnsafePointer<CTensorHandle>?)
beyan
public init<C: RandomAccessCollection>( _handles: C ) where C.Element: _AnyTensorHandle
beyan
public init(_ array: ShapedArray<Scalar>, on device: Device = .default)
beyan
init(_xla: XLATensor)
beyan
init(_xlaHandle: UnsafeMutablePointer<OpaqueXLATensor>)
beyan
var xlaHandle: UnsafeMutablePointer<OpaqueXLATensor> { get }
beyan
var xlaTensor: XLATensor { get }
beyan
@differentiable(wrt: self) public func unbroadcasted(toShape otherShape: Tensor<Int32>) -> Tensor
beyan
@differentiable(wrt: self) public func unbroadcasted<OtherScalar>(like other: Tensor<OtherScalar>) -> Tensor where OtherScalar : TensorFlowScalar
beyan
@differentiable(wrt: self) public func unbroadcasted(to shape: TensorShape) -> Tensor
Bir tensörün nasıl doldurulacağını belirleyen bir mod.
beyan
public enum PaddingMode
Belirtilen doldurma boyutlarına göre sabitle doldurulmuş bir tensör döndürür.
beyan
@differentiable(wrt: self) public func padded(forSizes sizes: [(before: Int, after: Int)], with value: Scalar = 0) -> Tensor
Belirtilen dolgu boyutlarına ve moduna göre yastıklı bir tensör döndürür.
beyan
@differentiable(wrt: self) public func padded(forSizes sizes: [(before: Int, after: Int)], mode: PaddingMode) -> Tensor
lhs < rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.beyan
public static func .< (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
lhs <= rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.beyan
public static func .<= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
lhs > rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.beyan
public static func .> (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
Öğe bazında
lhs >= rhs
değerini hesaplayarak Boolean skalerlerinin tensörünü döndürür.beyan
public static func .>= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
lhs < rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.Not
.<
yayını destekler.beyan
public static func .< (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
lhs <= rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.<=
yayını destekler.beyan
public static func .<= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
lhs > rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.>
yayını destekler.beyan
public static func .> (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
Öğe bazında
lhs >= rhs
değerini hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.>=
yayını destekler.beyan
public static func .>= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
lhs < rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.Not
.<
yayını destekler.beyan
public static func .< (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
lhs <= rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.<=
yayını destekler.beyan
public static func .<= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
lhs > rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.>
yayını destekler.beyan
public static func .> (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
Öğe bazında
lhs >= rhs
değerini hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.>=
yayını destekler.beyan
public static func .>= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
lhs == rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.Not
.==
yayını destekler.beyan
public static func .== (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
lhs != rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.!=
yayını destekler.beyan
public static func .!= (lhs: Tensor, rhs: Tensor) -> Tensor<Bool>
lhs == rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.Not
.==
yayını destekler.beyan
public static func .== (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
lhs != rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.!=
yayını destekler.beyan
public static func .!= (lhs: Scalar, rhs: Tensor) -> Tensor<Bool>
lhs == rhs
öğesini öğe bazında hesaplayarak Boole skalerlerinin tensörünü döndürür.Not
.==
yayını destekler.beyan
public static func .== (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
lhs != rhs
öğesini öğe bazında hesaplayarak Boolean skalerlerinin tensörünü döndürür.Not
.!=
yayını destekler.beyan
public static func .!= (lhs: Tensor, rhs: Scalar) -> Tensor<Bool>
self
öğelerininother
öğelerinin öğelerine yaklaşık olarak eşit olup olmadığını gösteren Boole değerlerinin tensörünü döndürür.Önkoşul
self
veother
aynı biçimde olmalıdır.beyan
public func elementsAlmostEqual( _ other: Tensor, tolerance: Scalar = Scalar.ulpOfOne.squareRoot() ) -> Tensor<Bool>
self
tüm öğeleri,other
öğelerinin öğelerine yaklaşık olarak eşitsetrue
döndürür.Önkoşul
self
veother
aynı biçimde olmalıdır.beyan
public func isAlmostEqual( to other: Tensor, tolerance: Scalar = Scalar.ulpOfOne.squareRoot() ) -> Bool
Bu tensör için çapraz çoğaltma toplamı çalıştırır. Toplama katılan diğer cihazların her birinde aynı çapraz kopya toplamının gerçekleşmesi gerekir.
beyan
public mutating mutating func crossReplicaSum(_ scale: Double)
beyan
@derivative init(repeating: shape)
Bir
Bool
tensöründen eleman bazında türde dönüşüm gerçekleştirin.beyan
public init(_ other: Tensor<Bool>)
Başka bir
Tensor
öğe bazında dönüşüm gerçekleştirin.beyan
@differentiable public init<OtherScalar>(_ other: Tensor<OtherScalar>) where OtherScalar : Numeric, OtherScalar : TensorFlowScalar
beyan
@derivative init(_: <<error type>>)
beyan
@derivative init(stacking: alongAxis)
beyan
@derivative init(concatenating: alongAxis)
Tüm skalerlerin sıfıra ayarlandığı bir tensör oluşturur.
beyan
public init(zeros shape: TensorShape, on device: Device = .default)
Parametreler
shape
Tensörün şekli.
Tüm skalerlerin bire ayarlandığı bir tensör oluşturur.
beyan
public init(ones shape: TensorShape, on device: Device = .default)
Parametreler
shape
Tensörün şekli.
Sağlanan tensörle aynı şekle ve türe sahip, tüm skalerlerin sıfıra ayarlandığı bir tensör oluşturur.
beyan
public init(zerosLike other: Tensor)
Parametreler
other
Şekli ve veri türü kullanılacak tensör.
Tüm skalerlerin, sağlanan tensörle aynı şekle ve türe sahip bir tensöre ayarlandığı bir tensör oluşturur.
beyan
public init(onesLike other: Tensor)
Parametreler
other
Şekli ve veri türü kullanılacak tensör.
Belirtilen miktara göre adım adım ilerleyerek, başlangıç değerinden bitiş değerine kadar olan ancak bu değeri içermeyen bir diziyi temsil eden 1 boyutlu bir tensör oluşturur.
beyan
public init( rangeFrom start: Scalar, to end: Scalar, stride: Scalar, on device: Device = .default )
Parametreler
start
Sıra için kullanılacak başlangıç değeri. Dizi herhangi bir değer içeriyorsa ilki
start
.end
Sırayı sınırlamak için bir bitiş değeri.
end
hiçbir zaman ortaya çıkan dizinin bir öğesi değildir.stride
Her yinelemede adım adım atılacak miktar.
stride
olumlu olmalıdır.Belirtilen miktara göre adım adım ilerleyerek, başlangıç değerinden bitiş değerine kadar olan ancak bu değeri içermeyen bir diziyi temsil eden 1 boyutlu bir tensör oluşturur.
beyan
public init(rangeFrom start: Tensor<Scalar>, to end: Tensor<Scalar>, stride: Tensor<Scalar>)
Parametreler
start
Sıra için kullanılacak başlangıç değeri. Dizi herhangi bir değer içeriyorsa ilki
start
.end
Sırayı sınırlamak için bir bitiş değeri.
end
hiçbir zaman ortaya çıkan dizinin bir öğesi değildir.stride
Her yinelemede adım adım atılacak miktar.
stride
olumlu olmalıdır.Verilen endekslerde bir sıcak tensör oluşturur.
indices
temsil edilen konumlaronValue
değer alır (varsayılan olarak1
), diğer tüm konumlaroffValue
değer alır (varsayılan olarak0
). Girişindices
n
dereceli ise, yeni tensörn+1
sırasına sahip olacaktır. Yeni eksen, boyutaxis
oluşturulur (varsayılan olarak yeni eksen sona eklenir).indices
bir skaler ise, yeni tensörün şekli uzunlukdepth
bir vektörü olacaktır.indices
uzunlukfeatures
bir vektörüyse, çıktı şekli şu şekilde olacaktır: özellikler x derinlik, eğer eksen == -1 ise derinlik x özellikler, eğer eksen == 0 iseindices
[batch, features]
şeklinde bir matris (toplu) ise, çıktı şekli şu şekilde olacaktır: toplu iş x özellikler x derinlik, if eksen == -1 toplu iş x derinlik x özellikler, if eksen == 1 derinlik x toplu x özellikler , eğer eksen == 0 isebeyan
public init( oneHotAtIndices indices: Tensor<Int32>, depth: Int, onValue: Scalar = 1, offValue: Scalar = 0, axis: Int = -1 )
Parametreler
indices
İndekslerin
Tensor
.depth
Bir sıcak boyutun derinliğini tanımlayan bir skaler.
onValue
indices
bazı indekslerin atıfta bulunduğu konumdaki değeri tanımlayan bir skaler.offValue
indices
herhangi bir indeks tarafından başvurulmayan bir konumdaki değeri tanımlayan bir skaler.axis
Doldurulacak eksen. Varsayılan, yeni bir en iç eksen olan
-1
.
Belirtilen sayıda değer oluşturmak için eşit aralıklarla yerleştirilmiş, başlangıç değerinden bitiş değerine kadar ve bu değer dahil olmak üzere bir diziyi temsil eden 1 boyutlu bir tensör oluşturur.
beyan
public init( linearSpaceFrom start: Scalar, to end: Scalar, count: Int, on device: Device = .default )
Parametreler
start
Sıra için kullanılacak başlangıç değeri. Dizi herhangi bir değer içeriyorsa ilki
start
.end
Sırayı sınırlamak için bir bitiş değeri.
end
, ortaya çıkan dizinin son öğesidir.count
Ortaya çıkan dizideki değerlerin sayısı.
count
pozitif olması gerekir.Belirtilen sayıda değer oluşturmak için eşit aralıklarla yerleştirilmiş, başlangıç değerinden bitiş değerine kadar ve bu değer dahil olmak üzere bir diziyi temsil eden 1 boyutlu bir tensör oluşturur.
Önkoşul
start
,to
vecount
tek bir Skaler değer içeren Tensörler olmalıdır.beyan
public init(linearSpaceFrom start: Tensor<Scalar>, to end: Tensor<Scalar>, count: Tensor<Int32>)
Parametreler
start
Sıra için kullanılacak başlangıç değeri. Dizi herhangi bir değer içeriyorsa ilki
start
.end
Sırayı sınırlamak için bir bitiş değeri.
end
, ortaya çıkan dizinin son öğesidir.count
Ortaya çıkan dizideki değerlerin sayısı.
count
pozitif olması gerekir.
lowerBound
veupperBound
arasındaki tekdüze bir dağılımdan skaler değerleri rastgele örnekleyerek, belirtilen şekle sahip bir tensör oluşturur.beyan
public init( randomUniform shape: TensorShape, lowerBound: Tensor<Scalar>? = nil, upperBound: Tensor<Scalar>? = nil, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
lowerBound
Dağılımın alt sınırı.
upperBound
Dağılımın üst sınırı.
seed
Tohum değeri.
lowerBound
veupperBound
arasındaki tekdüze bir dağılımdan skaler değerleri rastgele örnekleyerek, belirtilen şekle sahip bir tensör oluşturur.beyan
public init( randomUniform shape: TensorShape, lowerBound: Tensor<Scalar>? = nil, upperBound: Tensor<Scalar>? = nil, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
lowerBound
Dağılımın alt sınırı.
upperBound
Dağılımın üst sınırı.
seed
Tohum değeri.
Normal dağılımdan skaler değerleri rastgele örnekleyerek belirtilen şekle sahip bir tensör oluşturur.
beyan
public init( randomNormal shape: TensorShape, mean: Tensor<Scalar>? = nil, standardDeviation: Tensor<Scalar>? = nil, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
mean
Dağıtımın ortalaması.
standardDeviation
Dağılımın standart sapması.
seed
Tohum değeri.
Kesilmiş bir Normal dağılımdan skaler değerleri rastgele örnekleyerek, belirtilen şekle sahip bir tensör oluşturur.
beyan
public init( randomTruncatedNormal shape: TensorShape, mean: Tensor<Scalar>? = nil, standardDeviation: Tensor<Scalar>? = nil, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
mean
Dağıtımın ortalaması.
standardDeviation
Dağılımın standart sapması.
seed
Tohum değeri.
Kategorik bir dağılımdan örnekler çizerek bir tensör oluşturur.
beyan
public init<T: TensorFlowFloatingPoint>( randomCategorialLogits: Tensor<T>, sampleCount: Int32, seed: TensorFlowSeed = Context.local.randomSeed )
Parametreler
randomCategorialLogits
[batchSize, classCount]
şeklinde 2 boyutlu Tensör. Her dilim[i, :]
tüm sınıflar için normalleştirilmemiş log olasılıklarını temsil eder.sampleCount
0-D. Her satır dilimi için çizilecek bağımsız örneklerin sayısı.
seed
Tohum değeri.
Dönüş Değeri
[batchSize, sampleCount]
şeklinde 2 boyutlu Tensör. Her dilim[i, :]
[0, classCount)
aralığına sahip çizilmiş sınıf etiketlerini içerir.
Glorot (Xavier) tek tip başlatma gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan
-limit
velimit
arasındaki tekdüze bir dağılımdan rastgele örnekler çeker; buradalimit
sqrt(6 / (fanIn + fanOut))
'tır vefanIn
/fanOut
giriş ve çıkış özelliklerinin sayısını alıcı değerle çarparak temsil eder. alan boyutu.Referans: "Derin ileri beslemeli sinir ağlarını eğitmenin zorluğunu anlama"
beyan
public init( glorotUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
Glorot (Xavier) normal başlatma işlemini gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan standart sapma
sqrt(2 / (fanIn + fanOut))
ile0
merkezli kesik normal dağılımdan rastgele örnekler çeker; buradafanIn
/fanOut
giriş ve çıkış özelliklerinin sayısının alıcı alanla çarpımını temsil eder. boyut.Referans: "Derin ileri beslemeli sinir ağlarını eğitmenin zorluğunu anlama"
beyan
public init( glorotNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
He (Kaiming) düzgün başlatma işlemini gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan
-limit
velimit
arasındaki tekdüze bir dağılımdan rastgele örnekler çeker; buradalimit
sqrt(6 / fanIn)
'dir vefanIn
giriş özelliklerinin sayısının alıcı alan boyutuyla çarpımını temsil eder.beyan
public init( heUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
He (Kaiming) normal başlatmasını gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan standart sapma
sqrt(2 / fanIn))
ile0
merkezli kesik normal dağılımdan rastgele örnekler çeker; buradafanIn
giriş özelliklerinin sayısının alıcı alan boyutuyla çarpımını temsil eder.beyan
public init( heNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
LeCun tek tip başlatma işlemini gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan
-limit
velimit
arasındaki tekdüze bir dağılımdan rastgele örnekler çeker; buradalimit
sqrt(3 / fanIn)
'dir vefanIn
giriş özelliklerinin sayısının alıcı alan boyutuyla çarpımını temsil eder.Referans: “Verimli BackProp”
beyan
public init( leCunUniform shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
LeCun normal başlatma işlemini gerçekleştirerek belirtilen şekle sahip bir tensör oluşturur.
Varsayılan rastgele sayı üreteci tarafından oluşturulan standart sapma
sqrt(1 / fanIn)
ile0
merkezli kesik normal dağılımdan rastgele örnekler çeker; buradafanIn
giriş özelliklerinin sayısının alıcı alan boyutuyla çarpımını temsil eder.Referans: “Verimli BackProp”
beyan
public init( leCunNormal shape: TensorShape, seed: TensorFlowSeed = Context.local.randomSeed, on device: Device = .default )
Parametreler
shape
Tensörün boyutları.
seed
Tohum değeri.
Dik bir matris veya tensör oluşturur.
Başlatılacak tensörün şekli iki boyutlu ise, normal dağılımdan çizilen rastgele sayılar matrisinin QR ayrışımından elde edilen dik bir matris ile başlatılır. Matrisin sütunlardan daha az satırı varsa çıktıda dik satırlar olur. Aksi takdirde çıktıda dik sütunlar bulunur.
Başlatılacak tensörün şekli iki boyutludan fazlaysa, şekil
[shape[0] * ... * shape[rank - 2], shape[rank - 1]]
matrisi başlatılır. Matris daha sonra istenen şekle sahip bir tensör verecek şekilde yeniden şekillendirilir.beyan
public init( orthogonal shape: TensorShape, gain: Tensor<Scalar> = Tensor<Scalar>(1), seed: TensorFlowSeed = Context.local.randomSeed )
Parametreler
shape
Tensörün şekli.
gain
Ortogonal tensöre uygulanacak çarpımsal bir faktör.
seed
Rastgele sayı üretecini oluşturmak için iki tamsayıdan oluşan bir grup.
[Toplu] tensörün [toplu] köşegen kısmını döndürür.
[..., M, N]
şeklinin tensör örneği için çıktı,[..., K]
şeklinde bir tensördür; buradaK
eşittirmin(N, M)
.Örneğin:
// 't' is [[1, 0, 0, 0] // [0, 2, 0, 0] // [0, 0, 3, 0] // [0, 0, 0, 4]] t.diagonalPart() // [1, 2, 3, 4]
beyan
@differentiable public func diagonalPart() -> Tensor
[Toplu] bir diyagonal dizi oluşturur.
[..., M]
şeklinin tensör örneği için çıktı,[..., M, M]
şeklinin bir tensörüdür.Örneğin:
// 't' is [1, 2, 3, 4] t.diagonal() // [[1, 0, 0, 0] // [0, 2, 0, 0] // [0, 0, 3, 0] // [0, 0, 0, 4]]
beyan
@differentiable public func diagonal() -> Tensor
self
isteğe bağlı olarak toplu bir matris olduğu göz önüne alındığında,self
yeni çapraz değerlerle döndürür.Döndürülen tensör,
diagonal
değerlerin üzerine yazılan en içteki matrislerin belirtilen köşegenleri dışındaself
ile aynı şekil ve değerlere sahiptir.Parametre diyagonal: Yeni diyagonal değerleri temsil eden rütbe
rank - 1
olan bir tensör.beyan
public func withDiagonal(_ diagonal: Tensor<Scalar>) -> Tensor
beyan
@differentiable(wrt: self) public func bandPart(_ subdiagonalCount: Int, _ superdiagonalCount: Int) -> Tensor
Merkezi bant sınırlarıyla tanımlanan en içteki tensörün bir kopyasını döndürür. Çıktı
[..., :, :]
örneğiyle aynı şekle sahip bir tensördür.Örneğin:
// '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]]
beyan
@differentiable public func bandPart(subdiagonalCount: Int, superdiagonalCount: Int) -> Tensor
Parametreler
subdiagonalCount
Tutulacak alt köşegenlerin sayısı. Negatifse alt üçgenin tamamını koruyun.
superdiagonalCount
Tutulacak süper köşegenlerin sayısı. Negatifse üst üçgenin tamamını koruyun.
Tensör
matmul(q, r)
ye eşit olacak şekilde, iç ortogonal matrisleriq
olan bir tensör ve iç üst üçgen matrislerir
olan bir tensör olan tensördeki her bir iç matrisin QR ayrıştırmasını döndürür.beyan
public func qrDecomposition(fullMatrices: Bool = false) -> ( q: Tensor<Scalar>, r: Tensor<Scalar> )
Parametreler
fullMatrices
true
ise tam boyutluq
ver
hesaplayın. Aksi takdirde,q
yalnızca baştakimin(shape[rank - 1], shape[rank - 2])
sütunlarını hesaplayın.self
isteğe bağlı olarak toplu işlenen bir matris olduğu göz önüne alındığında,self
tekil değer ayrışmasını döndürür.İsteğe bağlı olarak toplu hale getirilen
self
matrisinin tekil değer ayrışımı (SVD),s
,u
vev
değerleridir, öyle ki:self[..., :, :] = u[..., :, :] • s[..., :, :].diagonal() • v[..., :, :].transposed()`
self […, M, N]
must be a tensor with shape
. Let
K = min(M, N)`. Let
.Önkoşul
self
[..., M, N]
şeklinde bir tensör olmalıdır.beyan
public func svd(computeUV: Bool = true, fullMatrices: Bool = false) -> ( s: Tensor<Scalar>, u: Tensor<Scalar>?, v: Tensor<Scalar>? )
Parametreler
computeUV
true
ise, sol ve sağ tekil vektörler hesaplanır ve sırasıylau
vev
olarak döndürülür.false
iseu
vev
olaraknil
değerleri döndürülür.fullMatrices
true
ise,u
vev
sırasıyla[..., M, M]
ve[..., N, N]
şekillerine sahiptir.false
ise,u
vev
sırasıyla[..., M, K]
ve[..., K, N]
şekillerine sahiptir.computeUV
false olduğunda göz ardı edilir.Dönüş Değeri
- s:
[..., K]
şeklinde tekil değerler. Her vektör içinde tekil değerler azalan düzende sıralanır. - u: Sol tekil vektörler.
- v: Sağ tekil vektörler.
- s:
x
karekökü.Gerçek türler için
x
negatifse sonuç.nan
olur. Karmaşık türler için negatif gerçek eksende bir dal kesimi vardır.beyan
@differentiable public static func sqrt(_ x: `Self`) -> Tensor<Scalar>
x
kosinüsü, radyan cinsinden bir açı olarak yorumlanır.beyan
@differentiable public static func cos(_ x: `Self`) -> Tensor<Scalar>
x
sinüsü, radyan cinsinden bir açı olarak yorumlanır.beyan
@differentiable public static func sin(_ x: `Self`) -> Tensor<Scalar>
x
tanjantı, radyan cinsinden bir açı olarak yorumlanır.beyan
@differentiable public static func tan(_ x: `Self`) -> Tensor<Scalar>
Radyan cinsinden
x
ters kosinüsü.beyan
@differentiable public static func acos(_ x: `Self`) -> Tensor<Scalar>
Radyan cinsinden
x
ters sinüsü.beyan
@differentiable public static func asin(_ x: `Self`) -> Tensor<Scalar>
Radyan cinsinden
x
ters tanjantı.beyan
@differentiable public static func atan(_ x: `Self`) -> Tensor<Scalar>
x
hiperbolik kosinüsü.beyan
@differentiable public static func cosh(_ x: `Self`) -> Tensor<Scalar>
x
hiperbolik sinüsü.beyan
@differentiable public static func sinh(_ x: `Self`) -> Tensor<Scalar>
x
hiperbolik tanjantı.beyan
@differentiable public static func tanh(_ x: `Self`) -> Tensor<Scalar>
x
ters hiperbolik kosinüsü.beyan
@differentiable public static func acosh(_ x: `Self`) -> Tensor<Scalar>
x
ters hiperbolik sinüs.beyan
@differentiable public static func asinh(_ x: `Self`) -> Tensor<Scalar>
x
ters hiperbolik teğet.beyan
@differentiable public static func atanh(_ x: `Self`) -> Tensor<Scalar>
x
veyae**x
uygulanan üstel fonksiyon.beyan
@differentiable public static func exp(_ x: `Self`) -> Tensor<Scalar>
İkisi
x
beyan
@differentiable public static func exp2(_ x: `Self`) -> Tensor<Scalar>
On iktidar için yükseldi
x
.beyan
@differentiable public static func exp10(_ x: `Self`) -> Tensor<Scalar>
exp(x) - 1
sıfıra yakın doğruluğu korumak için değerlendirildi.beyan
@differentiable public static func expm1(_ x: `Self`) -> Tensor<Scalar>
x
doğal logaritması.beyan
@differentiable public static func log(_ x: `Self`) -> Tensor<Scalar>
x
temel iki logaritması.beyan
@differentiable public static func log2(_ x: `Self`) -> Tensor<Scalar>
x
temel logaritması.beyan
@differentiable public static func log10(_ x: `Self`) -> Tensor<Scalar>
log(1 + x)
sıfıra yakın doğruluğu korumak için değerlendirildi.beyan
@differentiable public static func log1p(_ x: `Self`) -> Tensor<Scalar>
exp(y log(x))
ara hassasiyet kaybı olmadan hesaplanır.Gerçek türler için,
x
negatifse,y
integral bir değeri olsa bile, sonuç NAN'dır. Karmaşık tipler için, negatif gerçek eksende bir dal kesimi vardır.beyan
@differentiable public static func pow(_ x: `Self`, _ y: `Self`) -> Tensor<Scalar>
x
n
yükseldi.n
kopyalarının ürünüx
beyan
@differentiable public static func pow(_ x: `Self`, _ n: Int) -> Tensor<Scalar>
x
n
.Gerçek türler için,
x
negatif ven
eşitse, sonuç NAN'dır. Karmaşık tipler için, negatif gerçek eksen boyunca kesilmiş bir dal vardır.beyan
@differentiable public static func root(_ x: `Self`, _ n: Int) -> Tensor<Scalar>
beyan
public typealias VectorSpaceScalar = Float
beyan
public func scaled(by scale: Float) -> Tensor<Scalar>
beyan
public func adding(_ scalar: Float) -> Tensor<Scalar>
beyan
public func subtracting(_ scalar: Float) -> Tensor<Scalar>
Skaleri tensörün her skalerine ekler ve toplamı üretir.
beyan
@differentiable public static func + (lhs: Scalar, rhs: Tensor) -> Tensor
Skaleri tensörün her skalerine ekler ve toplamı üretir.
beyan
@differentiable public static func + (lhs: Tensor, rhs: Scalar) -> Tensor
Skaleri tensörün her skalerinden çıkarır ve farkı üretir.
beyan
@differentiable public static func - (lhs: Scalar, rhs: Tensor) -> Tensor
Skaleri tensörün her skalerinden çıkarır ve farkı üretir
beyan
@differentiable public static func - (lhs: Tensor, rhs: Scalar) -> Tensor
İki tensör ekler ve sonucu sol taraf değişkeninde saklar.
Not
+=
yayın yapmayı destekler.beyan
public static func += (lhs: inout Tensor, rhs: Tensor)
Skaleri tensörün her skalerine ekler ve sonucu sol taraf değişkeninde saklar.
beyan
public static func += (lhs: inout Tensor, rhs: Scalar)
İkinci tensörü birincisinden çıkarır ve sonucu sol taraf değişkeninde saklar.
Not
-=
yayın yapmayı destekler.beyan
public static func -= (lhs: inout Tensor, rhs: Tensor)
Skaleri tensörün her skalerinden çıkarır ve sonucu sol taraf değişkeninde saklar.
beyan
public static func -= (lhs: inout Tensor, rhs: Scalar)
İki tensörün çarpılarak üretilen tensörü döndürür.
Not
*
Yayın yapmayı destekler.beyan
@differentiable public static func * (lhs: Tensor, rhs: Tensor) -> Tensor
Tensörü tensörün her skaleriyle çarparak döndürür.
beyan
@differentiable public static func * (lhs: Scalar, rhs: Tensor) -> Tensor
Skaleri tensörün her skaleriyle çoğaltır ve ürünü üretir.
beyan
@differentiable public static func * (lhs: Tensor, rhs: Scalar) -> Tensor
İki tensörü çoğaltır ve sonucu sol taraf değişkeninde saklar.
Not
*=
yayın yapmayı destekler.beyan
public static func *= (lhs: inout Tensor, rhs: Tensor)
Tensörü skalerle çarpar, skaleri yayınlar ve sonucu sol taraf değişkeninde saklar.
beyan
public static func *= (lhs: inout Tensor, rhs: Scalar)
Birinci tensörü ikinciye bölme bölümünü döndürür.
Not
/
yayın yapmayı destekler.beyan
@differentiable public static func / (lhs: Tensor, rhs: Tensor) -> Tensor
Skalayı tensöre bölme ve skaleri yayınlama bölümünü döndürür.
beyan
@differentiable public static func / (lhs: Scalar, rhs: Tensor) -> Tensor
Skaler yayınlayarak tensörü skalerden bölme bölümünü döndürür.
beyan
@differentiable public static func / (lhs: Tensor, rhs: Scalar) -> Tensor
Birinci tensörü ikinciye böler ve bölümü sol taraf değişkeninde saklar.
beyan
public static func /= (lhs: inout Tensor, rhs: Tensor)
Tensörü skalerle bölerek skaleri yayınlar ve bölümü sol taraf değişkeninde saklar.
beyan
public static func /= (lhs: inout Tensor, rhs: Scalar)
İlk tensörü ikinciye bölme geri kalanını döndürür.
Not
%
yayın yapmayı destekler.beyan
public static func % (lhs: Tensor, rhs: Tensor) -> Tensor
Geri kalanını tensörü skalerden bölme, skaleri yayınlar.
beyan
public static func % (lhs: Tensor, rhs: Scalar) -> Tensor
Skalayı tensöre bölme, skaleri yayınlamanın geri kalanını döndürür.
beyan
public static func % (lhs: Scalar, rhs: Tensor) -> Tensor
Birinci tensörü ikinciye böler ve geri kalanını sol taraf değişkeninde saklar.
beyan
public static func %= (lhs: inout Tensor, rhs: Tensor)
Tensörü skaler tarafından böler ve geri kalanını sol taraf değişkeninde saklar.
beyan
public static func %= (lhs: inout Tensor, rhs: Scalar)
Geri döner
!self
beyan
public func elementsLogicalNot() -> Tensor
self && other
unsurları döndürür.Not
&&
yayın yapmayı destekler.beyan
public func elementsLogicalAnd(_ other: Tensor) -> Tensor
self && other
öğe açısından,other
yayınlar.beyan
public func elementsLogicalAnd(_ other: Scalar) -> Tensor
self || other
unsurlar.beyan
public func elementsLogicalOr(_ other: Tensor) -> Tensor
self || other
öğe açısından,other
yayın.beyan
public func elementsLogicalOr(_ other: Scalar) -> Tensor
max(min(self, max), min)
döndürür.beyan
@differentiable public func clipped(min: Tensor, max: Tensor) -> Tensor
max(min(self, max), min)
döndürür.beyan
@differentiable(wrt: (self, min) ) public func clipped(min: Tensor, max: Scalar) -> Tensor
max(min(self, max), min)
döndürür.beyan
@differentiable(wrt: (self, max) ) public func clipped(min: Scalar, max: Tensor) -> Tensor
max(min(self, max), min)
döndürür.beyan
@differentiable(wrt: self) public func clipped(min: Scalar, max: Scalar) -> Tensor
Belirtilen tensör elemanının olumsuzluğunu döndürür.
beyan
@differentiable public prefix static func - (rhs: Tensor) -> Tensor
beyan
@differentiable(wrt: self) public func squared() -> Tensor
x
hangi elemanlarının sonlu olduğunu gösteren bir boole tensörü döndürür.beyan
public var isFinite: Tensor<Bool> { get }
Hangi
x
elemanlarının sonsuz olduğunu gösteren bir boole tensörü döndürür.beyan
public var isInfinite: Tensor<Bool> { get }
Hangi
x
elemanlarının nan değerli olduğunu gösteren bir boolean tensörü döndürür.beyan
public var isNaN: Tensor<Bool> { get }
Tüm skalerler
true
isetrue
döndürür. Aksi takdirde,false
döndürür.beyan
public func all() -> Bool
Herhangi bir skaler
true
isetrue
döndürür. Aksi takdirde,false
döndürür.beyan
public func any() -> Bool
Belirtilen eksenler boyunca mantıklı ve işlem gerçekleştirir. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func all(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca mantıklı ve işlem gerçekleştirir. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func any(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca mantıklı ve işlem gerçekleştirir. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func all(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca mantıklı veya işlem gerçekleştirir. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func any(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
beyan
@differentiable public func min() -> Tensor
beyan
@differentiable public func max() -> Tensor
Belirtilen eksenler boyunca maksimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca maksimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca maksimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca minimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca minimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca minimum değerleri döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca maksimum değerlerin endekslerini döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func argmax(squeezingAxis axis: Int) -> Tensor<Int32>
Parametreler
axes
Azaltılacak boyutlar.
Minimum değerlerin endekslerini belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func argmin(squeezingAxis axis: Int) -> Tensor<Int32>
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func min(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Minimumu belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func max(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Düzleştirilmiş skalerlerin maksimum değerinin dizinini döndürür.
beyan
public func argmax() -> Tensor<Int32>
Düzleştirilmiş skalerlerin minimum değerinin dizinini döndürür.
beyan
public func argmin() -> Tensor<Int32>
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func sum(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func sum(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func sum(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
beyan
@differentiable(wrt: self) public func sum() -> Tensor
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func sum(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func sum(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Toplamı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func sum(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func product(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func product(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func product(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
beyan
@differentiable(wrt: self) public func product() -> Tensor
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func product(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func product(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Ürünü belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
public func product(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func mean(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func mean(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank...rank
olmalıdır.beyan
@differentiable(wrt: self) public func mean(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
beyan
@differentiable(wrt: self) public func mean() -> Tensor
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func mean(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func mean(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca aritmetik ortalamayı döndürür. Azaltılmış boyutlar 1 değeri ile korunur.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func mean(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değerle tutulur. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
beyan
@differentiable(wrt: self) public func variance() -> Tensor
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değerle tutulur. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değerle tutulur. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Varyansı belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar 1 değerle tutulur. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func variance(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün kümülatif toplamını belirtilen eksen boyunca döndürür. Varsayılan olarak, bu işlev kapsayıcı bir kümülatif toplam gerçekleştirir, bu da girişin ilk öğesinin çıktının ilk öğesiyle aynı olduğu anlamına gelir:
Tensor<Float>([a, b, c]).cumulativeSum() = Tensor<Float>([a, a + b, a + b + c])
exclusive
argümanıtrue
olarak ayarlayarak, bunun yerine özel bir kümülatif toplam gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeSum(exclusive: true) = Tensor<Float>([0, a, a + b])
reverse
argümanıtrue
olarak ayarlayarak, kümülatif toplam ters yönde gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeSum(reverse: true) == Tensor<Float>([a + b + c, a + b, a])
Bu, ortaya çıkan tensörü ayrı ayrı tersine çevirmekten daha verimlidir.
Önkoşul
axis
-rank..<rank
.beyan
@differentiable(wrt: self) public func cumulativeSum( alongAxis axis: Int, exclusive: Bool = false, reverse: Bool = false ) -> Tensor
Parametreler
axis
Kümülatif toplam işlemi gerçekleştirmek için eksen.
exclusive
Özel bir kümülatif toplamın yapılıp yapılmayacağını gösterir.
reverse
Kümülatif toplamı tersine çevrilmiş sırayla gerçekleştirip gerçekleştirmeyeceğini gösterir.
Dönüş Değeri
Kümülatif toplam işleminin sonucu.
Bu tensörün kümülatif toplamını belirtilen eksen boyunca döndürür. Varsayılan olarak, bu işlev kapsayıcı bir kümülatif toplam gerçekleştirir, bu da girişin ilk öğesinin çıktının ilk öğesiyle aynı olduğu anlamına gelir:
Tensor<Float>([a, b, c]).cumulativeSum() = Tensor<Float>([a, a + b, a + b + c])
exclusive
argümanıtrue
olarak ayarlayarak, bunun yerine özel bir kümülatif toplam gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeSum(exclusive: true) = Tensor<Float>([0, a, a + b])
reverse
argümanıtrue
olarak ayarlayarak, kümülatif toplam ters yönde gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeSum(reverse: true) == Tensor<Float>([a + b + c, a + b, a])
Bu, ortaya çıkan tensörü ayrı ayrı tersine çevirmekten daha verimlidir.
Önkoşul
axis.rank
0
olmalıdır.Önkoşul
axis
-rank..<rank
.beyan
@differentiable(wrt: self) public func cumulativeSum( alongAxis axis: Tensor<Int32>, exclusive: Bool = false, reverse: Bool = false ) -> Tensor
Parametreler
axis
Kümülatif toplam işlemi gerçekleştirmek için eksen.
exclusive
Özel bir kümülatif toplamın yapılıp yapılmayacağını gösterir.
reverse
Kümülatif toplamı tersine çevrilmiş sırayla gerçekleştirip gerçekleştirmeyeceğini gösterir.
Dönüş Değeri
Kümülatif toplam işleminin sonucu.
Bu tensörün kümülatif ürününü belirtilen eksen boyunca döndürür. Varsayılan olarak, bu işlev kapsayıcı bir kümülatif ürün gerçekleştirir, bu da girişin ilk öğesinin çıktının ilk öğesiyle aynı olduğu anlamına gelir:
Tensor<Float>([a, b, c]).cumulativeProduct() = Tensor<Float>([a, a * b, a * b * c])
exclusive
argümanıtrue
olarak ayarlayarak, bunun yerine özel bir kümülatif ürün gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeProduct(exclusive: true) = Tensor<Float>([1, a, a * b])
reverse
argümanıtrue
olarak ayarlayarak, kümülatif ürün ters yönde gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeProduct(reverse: true) == Tensor<Float>([a * b * c, a * b, a])
Bu, ortaya çıkan tensörü ayrı ayrı tersine çevirmekten daha verimlidir.
Önkoşul
axis
-rank..<rank
.beyan
@differentiable(wrt: self) public func cumulativeProduct( alongAxis axis: Int, exclusive: Bool = false, reverse: Bool = false ) -> Tensor
Parametreler
axis
Kümülatif ürün operasyonunu gerçekleştirmek için eksen.
exclusive
Özel bir kümülatif ürünün gerçekleştirilip gerçekleştirilmeyeceğini gösterir.
reverse
Kümülatif ürünü ters sırada gerçekleştirip gerçekleştirmeyeceğini gösterir.
Dönüş Değeri
Kümülatif ürün operasyonunun sonucu.
Bu tensörün kümülatif ürününü belirtilen eksen boyunca döndürür. Varsayılan olarak, bu işlev kapsayıcı bir kümülatif ürün gerçekleştirir, bu da girişin ilk öğesinin çıktının ilk öğesiyle aynı olduğu anlamına gelir:
Tensor<Float>([a, b, c]).cumulativeProduct() = Tensor<Float>([a, a * b, a * b * c])
exclusive
argümanıtrue
olarak ayarlayarak, bunun yerine özel bir kümülatif ürün gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeProduct(exclusive: true) = Tensor<Float>([1, a, a * b])
reverse
argümanıtrue
olarak ayarlayarak, kümülatif ürün ters yönde gerçekleştirilir:Tensor<Float>([a, b, c]).cumulativeProduct(reverse: true) == Tensor<Float>([a * b * c, a * b, a])
Bu, ortaya çıkan tensörü ayrı ayrı tersine çevirmekten daha verimlidir.
Önkoşul
axis
0
Sıra olmalıdır.Önkoşul
axis
-rank..<rank
.beyan
@differentiable(wrt: self) public func cumulativeProduct( alongAxis axis: Tensor<Int32>, exclusive: Bool = false, reverse: Bool = false ) -> Tensor
Parametreler
axis
Kümülatif ürün operasyonunu gerçekleştirmek için eksen.
exclusive
Özel bir kümülatif ürünün gerçekleştirilip gerçekleştirilmeyeceğini gösterir.
reverse
Kümülatif ürünü ters sırada gerçekleştirip gerçekleştirmeyeceğini gösterir.
Dönüş Değeri
Kümülatif ürün operasyonunun sonucu.
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Bu tensördeki tüm öğelerin standart sapmasını döndürür. Bessel'in düzeltmesini uygulamaz.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation() -> Tensor
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Belirtilen eksenler boyunca elemanların standart sapmasını döndürür. Azaltılmış boyutlar
1
değeri ile korunur. Bessel'in düzeltmesini uygulamaz.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func standardDeviation(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum(squeezingAxes: axes))
Azaltılmış boyutlar kaldırılır.Bu işlev, bilgisayar
log(exp(self).sum(squeezingAxes: axes))
Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(squeezingAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum(squeezingAxes: axes))
Azaltılmış boyutlar kaldırılır.Bu işlev, bilgisayar
log(exp(self).sum(squeezingAxes: axes))
Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(squeezingAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum(squeezingAxes: axes))
Azaltılmış boyutlar kaldırılır.Bu işlev, bilgisayar
log(exp(self).sum(squeezingAxes: axes))
Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(squeezingAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum())
döndürür. Sonuç bir skaler.Bu işlev, doğrudan bilgi işlem
log(exp(self).sum())
daha sayısal olarak kararlıdır. Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.beyan
@differentiable(wrt: self) public func logSumExp() -> Tensor
log(exp(self).sum(alongAxes: axes))
Azaltılmış boyutlar1
değeri ile korunur.Bu işlev, doğrudan bilgi işlem
log(exp(self).sum(alongAxes: axes))
. Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(alongAxes axes: Tensor<Int32>) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum(alongAxes: axes))
Azaltılmış boyutlar1
değeri ile korunur.Bu işlev, doğrudan bilgi işlem
log(exp(self).sum(alongAxes: axes))
. Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(alongAxes axes: [Int]) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
log(exp(self).sum(alongAxes: axes))
Azaltılmış boyutlar1
değeri ile korunur.Bu işlev, doğrudan bilgi işlem
log(exp(self).sum(alongAxes: axes))
. Küçük girişlerinexp
hesaplanmasının neden olduğu büyük girişlerin ve alt akışlarınlog
hesaplanmasının neden olduğu taşmalardan kaçınır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func logSumExp(alongAxes axes: Int...) -> Tensor
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
1
sıraya sahip olmalıdır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(squeezingAxes axes: Tensor<Int32>) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(squeezingAxes axes: [Int]) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar kaldırılır.
Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(squeezingAxes axes: Int...) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
Bu tensör elemanlarının ortalamasını ve varyansını döndürür.
beyan
@differentiable(wrt: self) public func moments() -> Moments<Scalar>
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar
1
değeri ile korunur.Önkoşul
axes
1
sıraya sahip olmalıdır.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(alongAxes axes: Tensor<Int32>) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar
1
değeri ile korunur.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(alongAxes axes: [Int]) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
Bu tensörün ortalamasını ve varyansını belirtilen eksenler boyunca döndürür. Azaltılmış boyutlar
1
değeri ile korunur.Önkoşul
axes
her değer-rank..<rank
.beyan
@differentiable(wrt: self) public func moments(alongAxes axes: Int...) -> Moments<Scalar>
Parametreler
axes
Azaltılacak boyutlar.
İki tensör arasında matris çarpımı gerçekleştirir ve sonucu üretir.
beyan
@differentiable public static func • (lhs: Tensor, rhs: Tensor) -> Tensor
beyan
static func vjpInitDeviceAndPrecisionLike( _ value: Scalar, deviceAndPrecisionLike tensor: Tensor ) -> (value: Tensor, pullback: (Tensor) -> (Scalar, Tensor))
Belirtilen eksen boyunca girişin normalize edilmesinden hesaplanan bir tensörü döndürür.
Özellikle,
mu
vevar
sırasıylaaxis
boyunca ortalama veself
olan(self - mu) / (var + epsilon) * gamma + beta
.beyan
@differentiable(wrt: (self, offset, scale) public func batchNormalized( alongAxis axis: Int, offset: Tensor = Tensor(0), scale: Tensor = Tensor(1), epsilon: Scalar = 0.001 ) -> Tensor
Parametreler
axis
Toplu boyut.
offset
Ofset, beta olarak da bilinir.
scale
Gamma olarak da bilinen ölçek.
epsilon
Sayısal stabilite için paydaya eklenen küçük bir değer.
Son eksen boyunca iki tensörü birleştirir.
beyan
@differentiable public static func concatenate(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
İki değer ekler ve toplamlarını üretir.
beyan
@differentiable public static func sum(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
Ortalama iki değer.
beyan
@differentiable public static func average(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
İki değeri çoğaltır.
beyan
@differentiable public static func multiply(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
İki değeri istifleyin.
beyan
@differentiable public static func stack(_ lhs: Tensor, _ rhs: Tensor) -> Tensor
beyan
@derivative init(shape: scalars)
beyan
public static func == (lhs: Tensor, rhs: Tensor) -> Bool
beyan
public static func != (lhs: Tensor, rhs: Tensor) -> Bool
beyan
public func encode(to encoder: Encoder) throws
beyan
public init(from decoder: Decoder) throws
Skaler sıfır tensör.
beyan
public static var zero: Tensor { get }
İki tensör ekler ve toplamlarını üretir.
Not
+
yayın yapmayı destekler.beyan
@differentiable public static func + (lhs: Tensor, rhs: Tensor) -> Tensor
Bir tensörü diğerinden çıkarır ve farklarını üretir.
Not
-
Yayın yapmayı destekler.beyan
@differentiable public static func - (lhs: Tensor, rhs: Tensor) -> Tensor
Skaler bir tensör.
beyan
public static var one: Tensor { get }
self
elementine karşılıklı olarak döner.beyan
public var reciprocal: Tensor { get }
İki tensörü element olarak çoğaltır ve ürünlerini üretir.
Not
.*
Yayın yapmayı destekler.beyan
public static func .* (lhs: Tensor, rhs: Tensor) -> Tensor
beyan
public typealias TangentVector = Tensor
beyan
public var zeroTangentVectorInitializer: () -> TangentVector { get }
Bir ek açıklama ekler.
Not: Yalnızca X10 desteklenir. Diğer arka uçlar için, umodifiye
self
geri döner.beyan
@differentiable(wrt: self) public func annotate(_ annotation: String) -> Tensor<Scalar>
Parametreler
annotation
Eklenecek ek açıklama.
Dönüş Değeri
Açıklamalı tensör.
beyan
@derivative func vjpAnnotate(_ annotation: String) -> ( value: Tensor<Scalar>, pullback: (Tensor<Scalar>) -> Tensor<Scalar> )