次のプロトコルは世界中で利用できます。
MutableCollection
アルゴリズムのカスタマイズ ポイントを提供します。標準ライブラリに組み込まれた場合、これらの要件は
MutableCollection
の一部になります。その間、コレクションのMutableCollectionAlgorithms
への適合性を宣言して、これらのカスタマイズ ポイントをMutableCollectionAlgorithms
で定義された他のアルゴリズムから使用できるようにすることができます。宣言
public protocol MutableCollectionAlgorithms: MutableCollection where SubSequence: MutableCollectionAlgorithms
宣言
public protocol TensorFlowScalar : _TensorFlowDataTypeCompatible
宣言
public protocol TensorRangeExpression
要素が同じ型の上位要素で照合できる型 (例: テンソル、テンソルのタプル)
宣言
public protocol Collatable
ネストされたプロパティと要素を
Device
にコピーできる型。宣言
public protocol CopyableToDevice : _CopyableToDevice
値がプロパティまたは要素へのカスタム キー パスを提供する型。
宣言
public protocol KeyPathIterable : _KeyPathIterableBase
TensorFlow と互換性のあるスカラー データ型。
TensorFlowScalar
に準拠した型は、Tensor
のScalar
関連型として使用できます。TensorFlow でテンソル インデックスとして使用できる整数型を表す整数データ型。
宣言
public protocol TensorFlowIndex : BinaryInteger, TensorFlowScalar
Differentiable
に準拠し、TensorFlow と互換性のある浮動小数点データ型。宣言
public protocol TensorFlowFloatingPoint: TensorFlowScalar & BinaryFloatingPoint & Differentiable & ElementaryFunctions where Self.RawSignificand: FixedWidthInteger, Self == Self.TangentVector
接空間が有限次元である微分可能多様体を数学的に表すタイプ。
宣言
public protocol Differentiable
点単位の乗算をサポートする値を持つ型。
宣言
public protocol PointwiseMultiplicative : AdditiveArithmetic
ランク付けされていないベクトル空間を表す型。このタイプの値は、このベクトル空間内の要素であり、形状がないか、静的な形状を持ちます。
宣言
public protocol VectorProtocol : AdditiveArithmetic
ユークリッド空間で微分可能な型。型はベクトル空間を表すことも、ベクトル空間と他の微分不可能なコンポーネントで構成されることもあります。
数学的には、これは微分可能なベクトル空間と任意の多様体で構成される積多様体を表し、積多様体全体の接束はベクトル空間成分に等しい。
この抽象化は、微分可能なベクトル プロパティと導関数を持たない他の格納されたプロパティの両方を含む一般的な微分可能なデータ構造を表すのに役立ちます。
struct Perceptron: @memberwise EuclideanDifferentiable { var weight: SIMD16<Float> var bias: Float @noDerivative var useBias: Bool }
注記
型がそのベクトル空間成分に関してのみ微分可能であり、そのTangentVector
そのベクトル空間成分と等しい場合、型をEuclideanDifferentiable
に準拠させます。宣言
public protocol EuclideanDifferentiable : Differentiable
宣言
public protocol Module: EuclideanDifferentiable, KeyPathIterable where TangentVector: VectorProtocol & ElementaryFunctions & PointwiseMultiplicative & KeyPathIterable
ニューラルネットワーク層。
Layer
に準拠する型は、入力を出力にマップする関数を表します。それらは、重みテンソルなどのパラメーターによって表される内部状態を持つ場合があります。Layer
インスタンスは、入力を出力にマッピングするための微分可能なcallAsFunction(_:)
メソッドを定義します。宣言
public protocol Layer : Module where Self.Input : Differentiable
パラメーターのないニューラル ネットワーク層。
パラメーターのないレイヤーの
TangentVector
常にEmptyTangentVector
です。宣言
public protocol ParameterlessLayer : Layer where Self.TangentVector == EmptyTangentVector
基本的な機能を備えたタイプです。
「初等関数」とは、べき乗、根、指数関数、対数、三角関数 (sin、cos、tan) とその逆関数、および双曲関数 (sinh、cosh、tanh) とその逆関数から構成される関数です。
このプロトコルに準拠しているということは、これらの構成要素がすべてその型の静的関数として使用できることを意味します。
let x: Float = 1 let y = Float.sin(x) // 0.84147096
宣言
public protocol ElementaryFunctions
ネストされた浮動小数点テンソルのプロパティと要素を完全精度から低精度へ、またはその逆に変換できる型。
Swift では、一部の型が
Sampling
のインスタンスでなければならないという一般的な制約を表現できないという事実を回避するために使用される実装の詳細。宣言
public protocol SamplingProtocol : Collection
PythonObject
として表されるnumpy.ndarray
インスタンスから初期化できる型。宣言
public protocol ConvertibleFromNumpyArray
1 つ以上の NumPy スカラー型とビット単位で互換性のある型。
宣言
public protocol NumpyScalarCompatible
値を
PythonObject
に変換できる型。宣言
public protocol PythonConvertible
PythonObject
から初期化できる型。宣言
public protocol ConvertibleFromPython
シード可能な決定論的な擬似ランダム データを提供するタイプ。
SeeedableRandomNumberGenerator は、RandomNumberGenerator が使用される場所ならどこでも使用できます。これは、複数の実行にわたって擬似ランダム データを再現できる必要がある場合に役立ちます。
SeeedableRandomNumberGeneratorプロトコルに準拠
カスタム型を
SeedableRandomNumberGenerator
プロトコルに準拠させるには、init(seed: [UInt8])
イニシャライザとRandomNumberGenerator
の要件を実装します。next()
によって返される値は、初期化時に提供されたシードのみに依存する決定的なシーケンスを形成する必要があります。宣言
public protocol SeedableRandomNumberGenerator : RandomNumberGenerator
宣言
public protocol RandomDistribution
再帰層セル。
宣言
public protocol RecurrentLayerCell: Layer where Input == RNNCellInput<TimeStepInput, State>, Output == RNNCellOutput<TimeStepOutput, State>
微分可能な二項演算をサポートする値を持つ型。
マージ関数の一般的な要件として
BidirectionalRecurrentLayer
によって使用されます。宣言
public protocol Mergeable : AdditiveArithmetic, Differentiable
宣言
public protocol TensorOperation
宣言
public protocol TFTensorOperation : TensorOperation
異種配列を入力として受け取る tensorflow 操作を呼び出すための特別なプロトコル。
宣言
public protocol AnyTensor
宣言
public protocol TensorProtocol
宣言
public protocol DifferentiableTensorProtocol: TensorProtocol & Differentiable & EuclideanDifferentiable where Scalar: TensorFlowFloatingPoint
Array<CTensorHandle>
にマップできる型を表すプロトコル。このプロトコルは、実行時にテンソルの数が決定されるように、
TensorGroup
とは別に定義されます。たとえば、[Tensor<Float>]
にはコンパイル時に未知の数の要素が含まれる可能性があります。このプロトコルは、格納されたプロパティがすべて
TensorGroup
プロトコルに準拠する構造体に対して自動的に派生できます。コンストラクターの要件により、すべてのプロパティがTensorArrayProtocol
に準拠する構造体の場合、これを自動的に導出することはできません (つまり、そのような場合、格納されているプロパティのcount
をどのように分類するかを知ることは不可能です)。宣言
public protocol TensorArrayProtocol
Array<CTensorHandle>
との間でマッピングできる型を表すプロトコル。TensorGroup
テンソル演算の引数として使用される場合、その要素がその型のテンソル フィールドである引数リストとして渡されます。TensorGroup
テンソル演算の結果として返されると、そのテンソル フィールドがテンソル演算のテンソル結果に設定されて初期化されます。宣言
public protocol TensorGroup : TensorArrayProtocol
x10 でサポートされているデータ型。
宣言
public protocol XLAScalarType