Aşağıdaki yapılar global olarak mevcuttur.
Aynı eleman tipine sahip iki dizinin birleştirilmesi.
beyan
public struct Concatenation<Base1: Sequence, Base2: Sequence>: Sequence where Base1.Element == Base2.Element
extension Concatenation: Collection where Base1: Collection, Base2: Collection
extension Concatenation: BidirectionalCollection where Base1: BidirectionalCollection, Base2: BidirectionalCollection
extension Concatenation: RandomAccessCollection where Base1: RandomAccessCollection, Base2: RandomAccessCollection
Bir koleksiyonun döndürülmüş görünümü.
beyan
public struct RotatedCollection<Base> : Collection where Base : Collection
extension RotatedCollection: BidirectionalCollection where Base: BidirectionalCollection
extension RotatedCollection: RandomAccessCollection where Base: RandomAccessCollection
beyan
public struct AnyDifferentiable : Differentiable
Türü silinmiş bir türev değeri.
AnyDerivative
türü, işlemleriniDifferentiable
veAdditiveArithmetic
ile uyumlu isteğe bağlı bir temel türev değerine ileterek temel değerin özelliklerini gizler.beyan
@frozen public struct AnyDerivative : Differentiable & AdditiveArithmetic
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).beyan
@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
İki
Tensors
yayınlanmasının aktarımını gerçekleştiren bir geri çekme işlevi.beyan
public struct BroadcastingPullback
Katmanlar gibi derin öğrenme API'leri tarafından kullanılan iş parçacığı yerel bağlamsal bilgileri depolayan bir bağlam.
Geçerli iş parçacığı yerel bağlamını almak için
Context.local
kullanın.Örnekler:
-
BatchNorm
gibi katmanların girdilere uygulandığında ortalama ve varyansı hesaplayabilmesi için mevcut öğrenme aşamasını eğitime ayarlayın.
Context.local.learningPhase = .training
- Mevcut öğrenme aşamasını çıkarım olarak ayarlayın, böylece
Dropout
gibi katmanlar girişlere uygulandığında birimleri düşürmez.
Context.local.learningPhase = .inference
beyan
public struct Context
-
1 boyutlu bir evrişim katmanı (örn. bir zaman serisi üzerinde zamansal evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen bir evrişim filtresi oluşturur.
beyan
@frozen public struct Conv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
2 boyutlu bir evrişim katmanı (örneğin, görüntüler üzerinde uzamsal evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen bir evrişim filtresi oluşturur.
beyan
@frozen public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Görüntüler üzerinde uzaysal/uzaysal-zamansal evrişim için 3 boyutlu bir evrişim katmanı.
Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen bir evrişim filtresi oluşturur.
beyan
@frozen public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Bir 1 boyutlu transpoze evrişim katmanı (örneğin, görüntüler üzerinde zamansal transpoze evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle transpoze-evrişimli bir evrişim filtresi oluşturur.
beyan
@frozen public struct TransposedConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Bir 2 boyutlu transpoze evrişim katmanı (örneğin, görüntüler üzerinde uzamsal transpoze evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle transpoze-evrişimli bir evrişim filtresi oluşturur.
beyan
@frozen public struct TransposedConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Bir 3 boyutlu transpoze evrişim katmanı (örneğin, görüntüler üzerinde uzamsal transpoze evrişim).
Bu katman, çıktıların tensörünü üretmek için katman girişiyle transpoze-evrişimli bir evrişim filtresi oluşturur.
beyan
@frozen public struct TransposedConv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
2 boyutlu derinlemesine evrişim katmanı.
Bu katman, çıktıların tensörünü üretmek için katman girişiyle evrilen ayrılabilir evrişim filtreleri oluşturur.
beyan
@frozen public struct DepthwiseConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Zamansal boyuta sıfır dolgu eklemek için bir katman.
beyan
public struct ZeroPadding1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal boyutlara sıfır dolgu eklemek için bir katman.
beyan
public struct ZeroPadding2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal/uzaysal-zamansal boyutlara sıfır dolgu eklemek için bir katman.
beyan
public struct ZeroPadding3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
1 boyutlu ayrılabilir evrişim katmanı.
Bu katman, kanallar üzerinde ayrı ayrı etki eden derinlemesine bir evrişim ve ardından kanalları karıştıran noktasal bir evrişim gerçekleştirir.
beyan
@frozen public struct SeparableConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
2 boyutlu Ayrılabilir evrişim katmanı.
Bu katman, kanallar üzerinde ayrı ayrı etki eden derinlemesine bir evrişim ve ardından kanalları karıştıran noktasal bir evrişim gerçekleştirir.
beyan
@frozen public struct SeparableConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Düzleştirilmiş bir katman.
Düzleştirme katmanı, uygulandığında toplu iş boyutunu etkilemeden girişi düzleştirir.
beyan
@frozen public struct Flatten<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Yeniden şekillendirilmiş bir katman.
beyan
@frozen public struct Reshape<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Özel bir türevlenebilir işlevi kapsayan bir katman.
beyan
public struct Function<Input, Output> : ParameterlessLayer where Input : Differentiable, Output : Differentiable
TensorFlowScalar
ile uyumlu türlerden oluşturulabilen bir TensorFlow dinamik tür değeri.beyan
public struct TensorDataType : Equatable
beyan
Potansiyel olarak büyük bir öğe kümesini temsil eder.
Bir
Dataset
bir giriş hattını öğe tensörlerinin bir koleksiyonu olarak temsil etmek için kullanılabilir.beyan
@available(*, deprecated, message: "Datasets will be removed in S4TF v0.10. Please use the new Batches API instead.") @frozen public struct Dataset<Element> where Element : TensorGroup
extension Dataset: Sequence
Bir veri kümesinin öğeleri üzerinde yinelemeye izin veren tür.
beyan
@available(*, deprecated) @frozen public struct DatasetIterator<Element> where Element : TensorGroup
extension DatasetIterator: IteratorProtocol
TensorGroup'a uygun 2 türden oluşan bir demet'i temsil eden,
TensorGroup
uyan 2'li demet benzeri bir yapı.beyan
@frozen public struct Zip2TensorGroup<T, U> : TensorGroup where T : TensorGroup, U : TensorGroup
Yoğun şekilde bağlı bir sinir ağı katmanı.
Dense
activation(matmul(input, weight) + bias)
işlemini uygular; buradaweight
bir ağırlık matrisidir,bias
bir önyargı vektörüdür veactivation
öğe bazında bir aktivasyon fonksiyonudur.Bu katman aynı zamanda 2 boyutlu önyargı matrislerine sahip 3 boyutlu ağırlık tensörlerini de destekler. Bu durumda her ikisinin de birinci boyutu,
input
birinci boyutuyla hizalanan toplu iş boyutu olarak ele alınır vematmul(_:_:)
işleminin toplu değişkeni kullanılır, böylece her öğe için farklı bir ağırlık ve önyargı kullanılır. giriş kümesinde.beyan
@frozen public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Tensor
tahsis edilebileceği bir cihaz.beyan
public struct Device
extension Device: Equatable
extension Device: CustomStringConvertible
Bir bırakma katmanı.
Bırakma, eğitim süresi boyunca her güncellemede giriş birimlerinin bir kısmının rastgele
0
ayarlanmasından oluşur; bu, aşırı uyumun önlenmesine yardımcı olur.beyan
@frozen public struct Dropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
GaussianNoise
normal dağılımdan örneklenen gürültüyü ekler.Eklenen gürültünün ortalaması her zaman sıfırdır ancak yapılandırılabilir bir standart sapması vardır.
beyan
public struct GaussianNoise<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
GaussianDropout
girişi ortalama 1,0 olan normal dağılımdan örneklenen gürültüyle çarpar.Bu bir düzenleme katmanı olduğu için yalnızca eğitim süresi boyunca aktiftir. Çıkarım sırasında
GaussianDropout
girişten değiştirilmeden geçer.beyan
public struct GaussianDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Bir Alfa bırakma katmanı.
Alfa Bırakma, bu bırakmadan sonra bile kendi kendini normalleştirme özelliğini sağlamak için girdilerin ortalama ve varyansını orijinal değerlerinde tutan bir
Dropout
. Alfa Düşüşü, etkinleştirmeleri rastgele negatif doygunluk değerine ayarlayarak Ölçeklendirilmiş Üstel Doğrusal Birimlere iyi uyum sağlar.Kaynak: Kendi Kendini Normalleştiren Sinir Ağları: https://arxiv.org/abs/1706.02515
beyan
@frozen public struct AlphaDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Bir gömme katmanı.
Embedding
endeksleri sabit bir sözlükten sabit boyutlu (yoğun) vektör temsillerine eşleyen etkili bir arama tablosudur, örneğin[[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]]
.beyan
public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint
Parametresiz katmanlar için boş
TangentVector
temsil eden boş bir yapı.beyan
public struct EmptyTangentVector: EuclideanDifferentiable, VectorProtocol, ElementaryFunctions, PointwiseMultiplicative, KeyPathIterable
Birinci ve ikinci moment çifti (yani ortalama ve varyans).
Not
Bu gereklidir çünkü demet türleri ayırt edilebilir değildir.beyan
public struct Moments<Scalar> : Differentiable where Scalar : TensorFlowFloatingPoint
2 boyutlu morfolojik genişleme katmanı
Bu katman, sağlanan filtrelerle giriş tensörünün morfolojik genişlemesini döndürür
beyan
@frozen public struct Dilation2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
2 boyutlu morfolojik erozyon katmanı
Bu katman, sağlanan filtrelerle giriş tensörünün morfolojik erozyonunu döndürür
beyan
@frozen public struct Erosion2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Bazı temel koleksiyonlardan belirli bir sırayla öğelerin tembel bir şekilde seçilmesi.
beyan
public struct Sampling<Base: Collection, Selection: Collection> where Selection.Element == Base.Index
extension Sampling: SamplingProtocol
extension Sampling: Collection
extension Sampling: BidirectionalCollection where Selection: BidirectionalCollection
extension Sampling: RandomAccessCollection where Selection: RandomAccessCollection
Bazı
Base
koleksiyonlarının üst üste binmeyen en uzun bitişik dilimlerinden oluşan, ilk öğesinden başlayan ve sabit bir maksimum uzunluğa sahip olan koleksiyon.Bu koleksiyonun öğeleri, sonuncusu hariç,
Base.count % batchSize !=0
olmadığı sürecebatchSize
count
sahiptir; bu durumda son grubuncount
base.count % batchSize.
beyan
public struct Slices<Base> where Base : Collection
extension Slices: Collection
Bir toplu normalleştirme katmanı.
Her grupta önceki katmanın aktivasyonlarını normalleştirir, yani ortalama aktivasyonu
0
yakın ve aktivasyon standart sapmasını1
yakın tutacak bir dönüşüm uygular.Referans: Toplu Normalleştirme: Dahili Ortak Değişken Kaymasını Azaltarak Derin Ağ Eğitimini Hızlandırma .
beyan
@frozen public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Mini bir girdi kümesi üzerinde katman normalizasyonunu uygulayan bir katman.
Referans: Katman Normalleştirmesi .
beyan
@frozen public struct LayerNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Mini bir girdi kümesi üzerinde grup normalizasyonunu uygulayan bir katman.
Referans: Grup Normalleştirmesi .
beyan
@frozen public struct GroupNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Mini bir girdi kümesi üzerinde örnek normalizasyonunu uygulayan bir katman.
Referans: Örnek Normalleştirme: Hızlı Stilizasyon için Eksik Bileşen .
beyan
@frozen public struct InstanceNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Optimize edici içindeki tek bir ağırlığın tek bir adımını belirtin.
beyan
public struct OptimizerWeightStepState
StateAccessor
aracılığıyla erişilen küresel durum.beyan
public struct OptimizerState
[String: Float]
ancak öğelere sanki üyeymiş gibi erişilebilir.beyan
@dynamicMemberLookup public struct HyperparameterDictionary
Tek bir parametre grubu üzerinde çalışan bir optimizer.
beyan
public struct ParameterGroupOptimizer
Optimize edicinin yerel değerleri için bir
Int
dizin değerinin etrafındaki tür açısından güvenli bir sarmalayıcı.beyan
public struct LocalAccessor
Optimize edici genel değerleri için
Int
dizin değerinin etrafındaki tür açısından güvenli bir sarmalayıcı.beyan
public struct GlobalAccessor
Optimize edici durum değerleri için
Int
dizin değerinin etrafındaki tür açısından güvenli bir sarmalayıcı.beyan
public struct StateAccessor
Bir
ParameterGroupOptimizer
oluşturur. Bu, esasen modelde tek bir ağırlık seviyesinde kullanılır. ([Bool]
- ParameterGroupOptimizer) tarafından seçilen parametre gruplarından bir eşleme, son optimize ediciyi tanımlar.beyan
public struct ParameterGroupOptimizerBuilder
Zamansal veriler için maksimum havuzlama katmanı.
beyan
@frozen public struct MaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veriler için maksimum havuzlama katmanı.
beyan
@frozen public struct MaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veya uzamsal-zamansal veriler için maksimum havuzlama katmanı.
beyan
@frozen public struct MaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Zamansal veriler için ortalama bir havuzlama katmanı.
beyan
@frozen public struct AvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veriler için ortalama bir havuz katmanı.
beyan
@frozen public struct AvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veya uzamsal-zamansal veriler için ortalama bir havuzlama katmanı.
beyan
@frozen public struct AvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Zamansal veriler için küresel ortalama havuzlama katmanı.
beyan
@frozen public struct GlobalAvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veriler için küresel ortalama havuzlama katmanı.
beyan
@frozen public struct GlobalAvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal ve uzamsal-zamansal veriler için küresel ortalama havuzlama katmanı.
beyan
@frozen public struct GlobalAvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Zamansal veriler için küresel maksimum havuzlama katmanı.
beyan
@frozen public struct GlobalMaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veriler için küresel maksimum havuzlama katmanı.
beyan
@frozen public struct GlobalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal ve uzamsal-zamansal veriler için küresel bir maksimum havuzlama katmanı.
beyan
@frozen public struct GlobalMaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Uzamsal veriler için kesirli bir maksimum havuzlama katmanı. Not:
FractionalMaxPool
bir XLA uygulaması yoktur ve dolayısıyla performansla ilgili etkileri olabilir.beyan
@frozen public struct FractionalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
PythonObject
Python'da bir nesneyi temsil eder ve dinamik üye aramayı destekler.object.foo
gibi herhangi bir üye erişimi, bu nesnede belirtilen ada sahip bir üye için Python çalışma zamanını dinamik olarak isteyecektir.PythonObject
tüm Python işlev çağrılarına ve üye referanslarına iletilir ve bunlardan döndürülür. Standart Python aritmetiğini ve karşılaştırma operatörlerini destekler.Dahili olarak
PythonObject
, Python C API'siPyObject
referans sayılan bir işaretçi olarak uygulanır.beyan
@dynamicCallable @dynamicMemberLookup public struct PythonObject
extension PythonObject : CustomStringConvertible
extension PythonObject : CustomPlaygroundDisplayConvertible
extension PythonObject : CustomReflectable
extension PythonObject : PythonConvertible, ConvertibleFromPython
extension PythonObject : SignedNumeric
extension PythonObject : Strideable
extension PythonObject : Equatable, Comparable
extension PythonObject : Hashable
extension PythonObject : MutableCollection
extension PythonObject : Sequence
extension PythonObject : ExpressibleByBooleanLiteral, ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral, ExpressibleByStringLiteral
extension PythonObject : ExpressibleByArrayLiteral, ExpressibleByDictionaryLiteral
Yöntem çağrılarının atılmasını sağlayan bir
PythonObject
sarmalayıcısı. Python fonksiyonlarının ürettiği istisnalar Swift hataları olarak yansıtılır ve atılır.Not
Çağrı sözdizimi sezgisel olmadığındanThrowingPythonObject
@dynamicCallable
özniteliğine sahip olmaması kasıtlıdır:x.throwing(arg1, arg2, ...)
. Yöntemler daha fazla tartışmaya/tasarıma kadardynamicallyCall
çağrılmaya devam edecektir.beyan
public struct ThrowingPythonObject
Üye erişimlerine olanak tanıyan bir
PythonObject
sarmalayıcısı. Üye erişim işlemleriOptional
bir sonuç döndürür. Üye erişimi başarısız olduğundanil
döndürülür.beyan
@dynamicMemberLookup public struct CheckingPythonObject
Python için bir arayüz.
PythonInterface
Python ile etkileşime izin verir. Modülleri içe aktarmak ve Python yerleşik türlerine ve işlevlerine dinamik olarak erişmek için kullanılabilir.Not
PythonInterface
doğrudan başlatılması amaçlanmamıştır. Bunun yerine lütfenPythonInterface
Python
adlı genel örneğini kullanın.beyan
@dynamicMemberLookup public struct PythonInterface
beyan
public struct PythonLibrary
Türü silinmiş bir rastgele sayı üreteci.
AnyRandomNumberGenerator
türü, rasgele sayı oluşturma işlemlerini temeldeki bir rasgele sayı oluşturucuya ileterek kendine özgü temel türünü gizler.beyan
public struct AnyRandomNumberGenerator : RandomNumberGenerator
ARC4 kullanan bir
SeedableRandomNumberGenerator
uygulaması.ARC4, sözde rastgele bayt akışı üreten bir akış şifresidir. Bu PRNG, tohumu anahtarı olarak kullanır.
ARC4, Schneier, B., "Uygulamalı Şifreleme: Protokoller, Algoritmalar ve C'deki Kaynak Kodu", 2. Baskı, 1996'da açıklanmaktadır.
Tek bir oluşturucu iş parçacığı açısından güvenli değildir, ancak farklı oluşturucular durumu paylaşmaz. Üretilen rastgele veriler yüksek kalitededir ancak kriptografik uygulamalar için uygun değildir.
beyan
@frozen public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator
Threefry kullanan bir
SeedableRandomNumberGenerator
uygulaması. Somon ve ark. SC 2011. Paralel rastgele sayılar: 1, 2, 3 kadar kolay. http://www.thesalmons.org/john/random123/papers/random123sc11.pdfBu yapı 20 turluk Threefry2x32 PRNG'yi uygular. 64 bitlik bir değerle ekilmesi gerekir.
Tek bir oluşturucu iş parçacığı açısından güvenli değildir, ancak farklı oluşturucular durumu paylaşmaz. Üretilen rastgele veriler yüksek kalitededir ancak kriptografik uygulamalar için uygun değildir.
beyan
public struct ThreefryRandomNumberGenerator : SeedableRandomNumberGenerator
Philox kullanan bir
SeedableRandomNumberGenerator
uygulaması. Somon ve ark. SC 2011. Paralel rastgele sayılar: 1, 2, 3 kadar kolay. http://www.thesalmons.org/john/random123/papers/random123sc11.pdfBu yapı 10 turlu Philox4x32 PRNG'yi uygular. 64 bitlik bir değerle ekilmesi gerekir.
Tek bir oluşturucu iş parçacığı açısından güvenli değildir, ancak farklı oluşturucular durumu paylaşmaz. Üretilen rastgele veriler yüksek kalitededir ancak kriptografik uygulamalar için uygun değildir.
beyan
public struct PhiloxRandomNumberGenerator : SeedableRandomNumberGenerator
beyan
@frozen public struct UniformIntegerDistribution<T> : RandomDistribution where T : FixedWidthInteger
beyan
@frozen public struct UniformFloatingPointDistribution<T: BinaryFloatingPoint>: RandomDistribution where T.RawSignificand: FixedWidthInteger
beyan
@frozen public struct NormalDistribution<T: BinaryFloatingPoint>: RandomDistribution where T.RawSignificand: FixedWidthInteger
beyan
@frozen public struct BetaDistribution : RandomDistribution
Tekrarlayan bir sinir ağına giriş.
beyan
public struct RNNCellInput<Input, State> : Differentiable where Input : Differentiable, State : Differentiable
extension RNNCellInput: EuclideanDifferentiable where Input: EuclideanDifferentiable, State: EuclideanDifferentiable
Tekrarlayan bir sinir ağına bir çıktı.
beyan
public struct RNNCellOutput<Output, State> : Differentiable where Output : Differentiable, State : Differentiable
extension RNNCellOutput: EuclideanDifferentiable where Output: EuclideanDifferentiable, State: EuclideanDifferentiable
Temel bir RNN hücresi.
beyan
public struct BasicRNNCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
Bir LSTM hücresi.
beyan
public struct LSTMCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
Bir GRU hücresi.
beyan
public struct GRUCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
beyan
public struct RecurrentLayer<Cell> : Layer where Cell : RecurrentLayerCell
extension RecurrentLayer: Equatable where Cell: Equatable
extension RecurrentLayer: AdditiveArithmetic where Cell: AdditiveArithmetic
beyan
public struct BidirectionalRecurrentLayer<Cell: RecurrentLayerCell>: Layer where Cell.TimeStepOutput: Mergeable
İki veya daha fazla katmanı sırayla oluşturan katman.
Örnekler:
- MNIST için basit bir 2 katmanlı algılayıcı modeli oluşturun:
let inputSize = 28 * 28 let hiddenSize = 300 var classifier = Sequential { Dense<Float>(inputSize: inputSize, outputSize: hiddenSize, activation: relu) Dense<Float>(inputSize: hiddenSize, outputSize: 3, activation: identity) }
- MNIST için bir otomatik kodlayıcı oluşturun:
var autoencoder = Sequential { // The encoder. Dense<Float>(inputSize: 28 * 28, outputSize: 128, activation: relu) Dense<Float>(inputSize: 128, outputSize: 64, activation: relu) Dense<Float>(inputSize: 64, outputSize: 12, activation: relu) Dense<Float>(inputSize: 12, outputSize: 3, activation: relu) // The decoder. Dense<Float>(inputSize: 3, outputSize: 12, activation: relu) Dense<Float>(inputSize: 12, outputSize: 64, activation: relu) Dense<Float>(inputSize: 64, outputSize: 128, activation: relu) Dense<Float>(inputSize: 128, outputSize: imageHeight * imageWidth, activation: tanh) }
beyan
@_functionBuilder public struct LayerBuilder
ShapedArray
çok boyutlu bir dizidir.[Int]
tipinde olan ve dizi boyutlarını tanımlayan bir şekle sahiptir ve depolama olarak dahili olarak birTensorBuffer
kullanır.beyan
@frozen public struct ShapedArray<Scalar> : _ShapedArrayProtocol
extension ShapedArray: RandomAccessCollection, MutableCollection
extension ShapedArray: CustomStringConvertible
extension ShapedArray: CustomPlaygroundDisplayConvertible
extension ShapedArray: CustomReflectable
extension ShapedArray: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
extension ShapedArray: Equatable where Scalar: Equatable
extension ShapedArray: Hashable where Scalar: Hashable
extension ShapedArray: Codable where Scalar: Codable
ShapedArray
veyaShapedArraySlice
örneğinin bitişik bir dilimi.ShapedArraySlice
ShapedArray
örneklerinin bitişik dilimleri üzerinde hızlı, verimli işlemlere olanak tanır.ShapedArraySlice
örneklerinin kendi depolama alanları yoktur. Bunun yerine, temelShapedArray
depolarına ilişkin bir görünüm sağlarlar.ShapedArraySlice
iki farklı dilim türünü temsil edebilir: öğe dizileri ve alt diziler.Öğe dizileri bir
ShapedArray
alt boyutlu öğeleridir: sıralamaları tabanlarınınkinden bir eksiktir. Öğe dizisi dilimleri,ShapedArray
örneğinin tekil birInt32
dizini ile dizine eklenmesiyle elde edilir.Örneğin:
var matrix = ShapedArray(shape: [2, 2], scalars: [0, 1, 2, 3]) // `matrix` represents [[0, 1], [2, 3]]. let element = matrix[0] // `element` is a `ShapedArraySlice` with shape [2]. It is an element // array, specifically the first element in `matrix`: [0, 1]. matrix[1] = ShapedArraySlice(shape: [2], scalars: [4, 8]) // The second element in `matrix` has been mutated. // `matrix` now represents [[0, 1, 4, 8]].
Alt diziler,
ShapedArray
içindeki öğelerin bitişik aralığıdır. Bir alt dizinin sıralaması tabanınınkiyle aynıdır ancak öncü boyutu dilim aralığının sayısıdır. Alt dizi dilimleri, birShapedArray
bir dizi öğeyi temsil eden (ön boyutta)Range<Int32>
ile indekslenmesiyle elde edilir. Bir aralıkla dahili olarak indekslenenprefix(:)
vesuffix(:)
gibi yöntemler de alt dizi üretir.Örneğin:
let zeros = ShapedArray(repeating: 0, shape: [3, 2]) var matrix = ShapedArray(shape: [3, 2], scalars: Array(0..<6)) // `zeros` represents [[0, 0], [0, 0], [0, 0]]. // `matrix` represents [[0, 1], [2, 3], [4, 5]]. let subarray = matrix.prefix(2) // `subarray` is a `ShapedArraySlice` with shape [2, 2]. It is a slice // of the first 2 elements in `matrix` and represents [[0, 1], [2, 3]]. matrix[0..<2] = zeros.prefix(2) // The first 2 elements in `matrix` have been mutated. // `matrix` now represents [[0, 0], [0, 0], [4, 5]].
beyan
@frozen public struct ShapedArraySlice<Scalar> : _ShapedArrayProtocol
extension ShapedArraySlice: RandomAccessCollection, MutableCollection
extension ShapedArraySlice: CustomStringConvertible
extension ShapedArraySlice: CustomPlaygroundDisplayConvertible
extension ShapedArraySlice: CustomReflectable
extension ShapedArraySlice: ExpressibleByArrayLiteral where Scalar: TensorFlowScalar
extension ShapedArraySlice: Equatable where Scalar: Equatable
extension ShapedArraySlice: Hashable where Scalar: Hashable
extension ShapedArraySlice: Codable where Scalar: Codable
StringTensor
, elemanlarıString
olan çok boyutlu bir dizidir.beyan
@frozen public struct StringTensor
extension StringTensor: TensorGroup
TensorHandle
operasyonlar tarafından kullanılan türdür. Derleyicinin dahili bileşenlerinin, bir tensör programına çıkarıldığında parametrelerin veri türlerini belirlemek için kullanabileceği birScalar
türü içerir.beyan
public struct TensorHandle<Scalar> where Scalar : _TensorFlowDataTypeCompatible
extension TensorHandle: TensorGroup
beyan
public struct ResourceHandle
extension ResourceHandle: TensorGroup
beyan
public struct VariantHandle
extension VariantHandle: TensorGroup
Bir tensörün şeklini temsil eden bir yapı.
TensorShape
şekil boyutlarını temsil eden bir dizi tamsayıyı çevreleyen ince bir sarmalayıcıdır. Tüm tensör türleri, şekillerini temsil etmek içinTensorShape
kullanır.beyan
@frozen public struct TensorShape : ExpressibleByArrayLiteral
extension TensorShape: Collection, MutableCollection
extension TensorShape: RandomAccessCollection
extension TensorShape: RangeReplaceableCollection
extension TensorShape: Equatable
extension TensorShape: Codable
extension TensorShape: CustomStringConvertible
TensorVisitorPlan
[WritableKeyPath<Base, Tensor<Float>]
değerine yakındır ancak daha verimlidir. Bu, degradeleri, mevcut ağırlıkları ve yardımcı olarak depolanan ağırlıkları bulmak için kullanılabilecek bir dizini haritalamak isteyen genel optimizasyon araçları yazmak için kullanışlıdır. Bu biraz daha verimlidir (~2x), ancak daha iyi olabilir çünkü her bir KeyPath'i izlemek için düz bir listeyle gereken O(derinlik_of_ağaç) işini yapmak zorunda kalmamak için biraz daha yüksek genel giderlerden (ekstra işaretçi referansı) ödün verir.beyan
public struct TensorVisitorPlan<Base>
1 boyutlu girişler için bir üst örnekleme katmanı.
beyan
@frozen public struct UpSampling1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
2 boyutlu girişler için bir üst örnekleme katmanı.
beyan
@frozen public struct UpSampling2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
3 boyutlu girişler için bir üst örnekleme katmanı.
beyan
@frozen public struct UpSampling3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
Doğru tahmin sayaçlarını ve kayıp toplamlarını toplar.
beyan
public struct HostStatistics