protokoller

Aşağıdaki protokoller küresel olarak kullanılabilir.

  • İçin özelleştirme noktaları gelir MutableCollection algoritmaları.

    Standart kitaplığa dahil edildiği takdirde bu gereklilikler sadece bir parçası olacak MutableCollection . Bu arada, bir koleksiyonun uygunluğunu ilan edebilir MutableCollectionAlgorithms Bu özelleştirme noktaları üzerinde tanımlı diğer algoritmaları kullanılacak almak MutableCollectionAlgorithms .

    beyanname

    public protocol MutableCollectionAlgorithms: MutableCollection
    where SubSequence: MutableCollectionAlgorithms
  • beyanname

    public protocol TensorFlowScalar : _TensorFlowDataTypeCompatible
  • beyanname

    public protocol TensorRangeExpression
  • Öğeleri aynı türden daha yüksek sıralı bir öğede harmanlanabilen türler (örnek: tensörler, tensör demeti)

    beyanname

    public protocol Collatable
  • Kimin iç içe özellikleri ve elemanları bir kopyalanabilir A tipi Device .

    beyanname

    public protocol CopyableToDevice : _CopyableToDevice
  • Değerleri, özelliklere veya öğelere özel anahtar yolları sağlayan bir tür.

    beyanname

    public protocol KeyPathIterable : _KeyPathIterableBase
  • TensorFlow ile uyumlu bir skaler veri türü.

    Uygun Türleri TensorFlowScalar olarak kullanılabilir Scalar birleşik tip Tensor .

  • TensorFlow'da tensör endeksleri olarak kullanılabilen tamsayı türlerini temsil eden bir tamsayı veri türü.

    beyanname

    public protocol TensorFlowIndex : BinaryInteger, TensorFlowScalar
  • Bir kayan nokta verileri bu uyan, yazın Differentiable ve TensorFlow ile uyumludur.

    Not

    Tensor için şartlı uygundur Differentiable zaman Scalar için ilişkili tip uygundur TensorFlowFloatingPoint .

    beyanname

    public protocol TensorFlowFloatingPoint:
      TensorFlowScalar & BinaryFloatingPoint & Differentiable & ElementaryFunctions
    where
      Self.RawSignificand: FixedWidthInteger,
      Self == Self.TangentVector
  • Teğet uzayları sonlu boyutlu olan türevlenebilir bir manifoldu matematiksel olarak temsil eden bir tür.

    beyanname

    public protocol Differentiable
  • Noktasal çarpmayı destekleyen değerlere sahip bir tür.

    beyanname

    public protocol PointwiseMultiplicative : AdditiveArithmetic
  • Sıralanmamış bir vektör uzayını temsil eden bir tür. Bu türdeki değerler, bu vektör uzayındaki elemanlardır ve ya şekli yoktur ya da statik bir şekle sahiptir.

    beyanname

    public protocol VectorProtocol : AdditiveArithmetic
  • Öklid uzayında türevlenebilen bir tür. Tip, bir vektör uzayını temsil edebilir veya bir vektör uzayından ve diğer bazı türevlenemeyen bileşenlerden oluşabilir.

    Matematiksel olarak, bu, türevlenebilir bir vektör uzayından ve tüm ürün manifoldunun teğet demetinin vektör uzay bileşenine eşit olduğu bazı keyfi manifoldlardan oluşan bir ürün manifoldunu temsil eder.

    Bu soyutlama, hem türevlenebilir vektör özelliklerini hem de türevi olmayan diğer depolanmış özellikleri içeren ortak türevlenebilir veri yapılarını temsil etmek için kullanışlıdır, örn.

    struct Perceptron: @memberwise EuclideanDifferentiable {
        var weight: SIMD16<Float>
        var bias: Float
        @noDerivative var useBias: Bool
    }
    

    Not

    Bir tip uygun EuclideanDifferentiable sadece kendi vektör uzayı bileşenine göre ve ne zaman onun ile türevlenebilir ise TangentVector , vektör alan bileşeni eşittir.

    beyanname

    public protocol EuclideanDifferentiable : Differentiable
  • Bir sinir ağı katmanı.

    Uygun tipleri Layer çıkışlarına haritası girişlerine bu işlevlerini gösterir. Ağırlık tensörleri gibi parametrelerle temsil edilen bir iç duruma sahip olabilirler.

    Layer örnekleri türevlenebilir tanımlayan callAsFunction(_:) çıkışlarına eşleme girişi için bir yöntem.

    beyanname

    public protocol Layer : Module where Self.Input : Differentiable
  • Parametresiz bir sinir ağı katmanı.

    TangentVector parametresiz tabakaların her zaman EmptyTangentVector .

    beyanname

    public protocol ParameterlessLayer : Layer where Self.TangentVector == EmptyTangentVector
  • Kullanılabilir temel işlevlere sahip bir tür.

    Bir “temel fonksiyon” a güçler, kökler, üstel, logaritma yapılanmış fonksiyon, trigonometrik fonksiyonlar (sin, tan cos) ve bunların tersleri ve hiperbolik fonksiyonlar (SİNH, cop, tanh) ve tersleri olduğunu.

    Bu protokole uygunluk, tüm bu yapı taşlarının tür üzerinde statik işlevler olarak mevcut olduğu anlamına gelir.

    let x: Float = 1
    let y = Float.sin(x) // 0.84147096
    

    beyanname

    public protocol ElementaryFunctions
  • İç içe kayan nokta tensörü özellikleri ve öğeleri, tam kesinlikten azaltılmış kesinliğe ve bunun tersi de dönüştürülebilen bir tür.

  • Bir uygulama detay Swift bazı tip bir örneği olması gerektiğini jenerik kısıtlamasını ifade edemez gerçeği etrafında işe kullanılır Sampling .

    beyanname

    public protocol SamplingProtocol : Collection
  • Bir gelen başlatıldı edilebilir bir tip numpy.ndarray örneği bir şekilde temsil PythonObject .

    beyanname

    public protocol ConvertibleFromNumpyArray
  • Bir veya daha fazla NumPy skaler türüyle bit düzeyinde uyumlu bir tür.

    beyanname

    public protocol NumpyScalarCompatible
  • Değerleri A tipi bir dönüştürülebilir PythonObject .

    beyanname

    public protocol PythonConvertible
  • Bir gelen başlatıldı edilebilir bir türü PythonObject .

    beyanname

    public protocol ConvertibleFromPython
  • Eklenebilir deterministik sözde rastgele veriler sağlayan bir tür.

    SeedableRandomNumberGenerator, RandomNumberGenerator'ın kullanılacağı her yerde kullanılabilir. Sözde rasgele verilerin çalıştırmalar arasında yeniden üretilebilir olması gerektiğinde kullanışlıdır.

    SeedableRandomNumberGenerator Protokolüne Uygun

    Özel bir tip uygun hale getirmek için SeedableRandomNumberGenerator uygulamak, protokol init(seed: [UInt8]) başlatıcı, hem de gerekliliklerini RandomNumberGenerator . Tarafından döndürülen değerleri next() sadece başlatma sırasında verilen tohum bağlıdır belirleyici bir dizi oluşturmak gerekir.

    beyanname

    public protocol SeedableRandomNumberGenerator : RandomNumberGenerator
  • beyanname

    public protocol RandomDistribution
  • Tekrarlayan bir katman hücresi.

    beyanname

    public protocol RecurrentLayerCell: Layer
    where
      Input == RNNCellInput<TimeStepInput, State>,
      Output == RNNCellOutput<TimeStepOutput, State>
  • Türevlenebilir ikili işlemleri destekleyen değerlere sahip bir tür.

    Kullandığı BidirectionalRecurrentLayer birleştirme fonksiyonları için genel bir şart olarak.

    beyanname

    public protocol Mergeable : AdditiveArithmetic, Differentiable
  • beyanname

    public protocol TensorOperation
  • beyanname

    public protocol TFTensorOperation : TensorOperation
  • Heterojen dizileri girdi olarak alan tensorflow işlemlerini çağırmak için özel protokol.

    beyanname

    public protocol AnyTensor
  • beyanname

    public protocol TensorProtocol
  • beyanname

    public protocol DifferentiableTensorProtocol:
      TensorProtocol & Differentiable & EuclideanDifferentiable
    where Scalar: TensorFlowFloatingPoint
  • Eşlenebilir türlerini temsil eden bir protokol Array<CTensorHandle> .

    Bu protokol, ayrı tanımlanır TensorGroup zamanında tespit edilecek tensörlerinin sayıda sırayla. Örneğin, [Tensor<Float>] derleme zamanında elemanların bilinmeyen bir sayı olabilir.

    Bu protokol olan depolanmış özellikleri tüm uygun yapılar için otomatik olarak elde edilebilir TensorGroup protokolü. Bu kimin özelliklerin hepsi uygun yapılar için otomatik türetilmiş edilemez TensorArrayProtocol nedeniyle yapıcı gereksinimi (yani bu tür durumlarda yıkmak için bilmek imkansız olurdu için count depolanan özelliklerin arasında).

    beyanname

    public protocol TensorArrayProtocol
  • Ve gelen eşlenebilir türlerini temsil eden bir protokol Array<CTensorHandle> .

    Bir zaman TensorGroup bir tensör operasyonuna bağımsız değişken olarak kullanıldığında, bunun elemanları Çeşidi tensör alanları bir argüman listesi olarak geçirilir.

    Bir zaman TensorGroup bir tensör operasyonu sonucu döndürülür, bu tensör operasyonun tensör sonuçlarına ayarlanmış olan tensör alanları ile başlatılır.

    beyanname

    public protocol TensorGroup : TensorArrayProtocol
  • x10'da desteklenen bir veri türü.

    beyanname

    public protocol XLAScalarType