Protokoller

Aşağıdaki protokoller global olarak mevcuttur.

  • MutableCollection algoritmaları için özelleştirme noktaları sağlar.

    Standart kütüphaneye dahil edilirse bu gereksinimler yalnızca MutableCollection bir parçası olacaktır. Bu arada, bu özelleştirme noktalarının MutableCollectionAlgorithms üzerinde tanımlanan diğer algoritmalardan kullanılmasını sağlamak için bir koleksiyonun MutableCollectionAlgorithms uygunluğunu beyan edebilirsiniz.

    beyan

    public protocol MutableCollectionAlgorithms: MutableCollection
    where SubSequence: MutableCollectionAlgorithms
  • beyan

    public protocol TensorFlowScalar : _TensorFlowDataTypeCompatible
  • beyan

    public protocol TensorRangeExpression
  • Öğeleri aynı türdeki bazı yüksek dereceli öğelerde toplanabilen türler (örnek: tensörler, tensör dizisi)

    beyan

    public protocol Collatable
  • İç içe geçmiş özellikleri ve öğeleri Device öğesine kopyalanabilen bir tür.

    beyan

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

    beyan

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

    TensorFlowScalar uygun türler, Tensor Scalar ilişkili türü olarak kullanılabilir.

  • TensorFlow'da tensör indeksleri olarak kullanılabilecek tam sayı türlerini temsil eden bir tam sayı veri türü.

    beyan

    public protocol TensorFlowIndex : BinaryInteger, TensorFlowScalar
  • Differentiable ile uyumlu ve TensorFlow ile uyumlu bir kayan nokta veri türü.

    Not

    Tensor , Scalar ilişkili tür TensorFlowFloatingPoint ile uyumlu olduğunda, Differentiable ile koşullu olarak uyumludur.

    beyan

    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.

    beyan

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

    beyan

    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 öğelerdir ve ya şekli yoktur ya da statik bir şekle sahiptir.

    beyan

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

    Matematiksel olarak bu, diferansiyellenebilir bir vektör uzayı ve bazı keyfi manifoldlardan oluşan bir çarpım manifoldunu temsil eder; burada tüm çarpım manifoldunun teğet demeti, vektör uzayı bileşenine eşittir.

    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;

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

    Not

    Yalnızca vektör uzayı bileşenine göre türevlenebilirse ve TangentVector vektör uzayı bileşenine eşitse, bir türü EuclideanDifferentiable uygun hale getirin.

    beyan

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

    Layer uygun türler, girdileri çıktılarla eşleyen işlevleri temsil eder. Ağırlık tensörleri gibi parametrelerle temsil edilen bir iç duruma sahip olabilirler.

    Layer örnekleri, girişleri çıkışlarla eşlemek için ayırt edilebilir bir callAsFunction(_:) yöntemini tanımlar.

    beyan

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

    Parametresiz katmanların TangentVector her zaman EmptyTangentVector .

    beyan

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

    Bir "temel fonksiyon" kuvvetler, kökler, üsteller, logaritmalar, trigonometrik fonksiyonlar (sin, cos, tan) ve bunların tersleri ile hiperbolik fonksiyonlar (sinh, cosh, tanh) ve bunların terslerinden oluşturulan bir fonksiyondur.

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

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

    beyan

    public protocol ElementaryFunctions
  • Yuvalanmış kayan nokta tensör özellikleri ve öğeleri, tam hassasiyetten azaltılmış hassasiyete (veya tam tersi) dönüştürülebilen bir tür.

  • Swift'in bazı türlerin Sampling örneği olması gerektiğine dair genel bir kısıtlamayı ifade edemediği gerçeğini çözmek için kullanılan bir uygulama ayrıntısı.

    beyan

    public protocol SamplingProtocol : Collection
  • PythonObject olarak temsil edilen numpy.ndarray örneğinden başlatılabilen bir tür.

    beyan

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

    beyan

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

    beyan

    public protocol PythonConvertible
  • PythonObject öğesinden başlatılabilen bir tür.

    beyan

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

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

    SeedableRandomNumberGenerator Protokolüne Uyumluluk

    Özel bir türün SeedableRandomNumberGenerator protokolüne uygun olmasını sağlamak için init(seed: [UInt8]) başlatıcısını ve RandomNumberGenerator gereksinimlerini uygulayın. next() tarafından döndürülen değerler, yalnızca başlatma sırasında sağlanan tohuma bağlı olan deterministik bir dizi oluşturmalıdır.

    beyan

    public protocol SeedableRandomNumberGenerator : RandomNumberGenerator
  • beyan

    public protocol RandomDistribution
  • Yinelenen bir katman hücresi.

    beyan

    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.

    BidirectionalRecurrentLayer tarafından birleştirme işlevleri için genel bir gereksinim olarak kullanılır.

    beyan

    public protocol Mergeable : AdditiveArithmetic, Differentiable
  • beyan

    public protocol TensorOperation
  • beyan

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

    beyan

    public protocol AnyTensor
  • beyan

    public protocol TensorProtocol
  • beyan

    public protocol DifferentiableTensorProtocol:
      TensorProtocol & Differentiable & EuclideanDifferentiable
    where Scalar: TensorFlowFloatingPoint
  • Array<CTensorHandle> ile eşlenebilecek türleri temsil eden bir protokol.

    Bu protokol, tensör sayısının çalışma zamanında belirlenebilmesi için TensorGroup ayrı olarak tanımlanır. Örneğin, [Tensor<Float>] derleme zamanında bilinmeyen sayıda öğeye sahip olabilir.

    Bu protokol, saklanan özelliklerinin tümü TensorGroup protokolüne uygun olan yapılar için otomatik olarak türetilebilir. Yapıcı gerekliliği nedeniyle, tüm özellikleri TensorArrayProtocol uygun olan yapılar için otomatik olarak türetilemez (yani bu gibi durumlarda, saklanan özellikler arasında count nasıl bölüneceğini bilmek imkansız olacaktır).

    beyan

    public protocol TensorArrayProtocol
  • Array<CTensorHandle> ile eşlenebilecek türleri temsil eden bir protokol.

    Bir TensorGroup bir tensör işlemine argüman olarak kullanıldığında, elemanları türün tensör alanları olan bir argüman listesi olarak iletilir.

    Bir TensorGroup bir tensör işleminin sonucu olarak döndürüldüğünde, tensör alanları tensör işleminin tensör sonuçlarına ayarlanmış olarak başlatılır.

    beyan

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

    beyan

    public protocol XLAScalarType