নিম্নলিখিত প্রোটোকলগুলি বিশ্বব্যাপী উপলব্ধ।
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
এর সাথে সঙ্গতিপূর্ণ প্রকারগুলিকেScalar
সাথে যুক্তTensor
প্রকার হিসাবে ব্যবহার করা যেতে পারে।একটি পূর্ণসংখ্যা ডেটা টাইপ যা পূর্ণসংখ্যার প্রকারগুলিকে উপস্থাপন করে যা টেনসরফ্লোতে টেনসর সূচক হিসাবে ব্যবহার করা যেতে পারে।
ঘোষণা
public protocol TensorFlowIndex : BinaryInteger, TensorFlowScalar
একটি ফ্লোটিং-পয়েন্ট ডেটা টাইপ যা
Differentiable
সাথে সামঞ্জস্যপূর্ণ এবং TensorFlow এর সাথে সামঞ্জস্যপূর্ণ।দ্রষ্টব্য
Tensor
শর্তসাপেক্ষেDifferentiable
সাথে সঙ্গতিপূর্ণ হয় যখনScalar
সম্পর্কিত প্রকারটিTensorFlowFloatingPoint
সাথে সামঞ্জস্য করে।ঘোষণা
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 }
দ্রষ্টব্য
EuclideanDifferentiable
এর সাথে একটি টাইপ কনফর্ম করুন যদি এটি শুধুমাত্র তার ভেক্টর স্পেস কম্পোনেন্টের ক্ষেত্রে পার্থক্যযোগ্য হয় এবং যখন এরTangentVector
তার ভেক্টর স্পেস কম্পোনেন্টের সমান হয়।ঘোষণা
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
একটি প্রকার যার নেস্টেড ফ্লোটিং-পয়েন্ট টেনসর বৈশিষ্ট্য এবং উপাদানগুলি সম্পূর্ণ নির্ভুলতা থেকে হ্রাসকৃত নির্ভুলতায় রূপান্তরিত হতে পারে এবং এর বিপরীতে।
একটি বাস্তবায়নের বিশদটি এই সত্যকে ঘিরে কাজ করতে ব্যবহৃত হয় যে সুইফট একটি সাধারণ সীমাবদ্ধতা প্রকাশ করতে পারে না যে কিছু টাইপ অবশ্যই
Sampling
-এর একটি উদাহরণ হতে হবে।ঘোষণা
public protocol SamplingProtocol : Collection
PythonObject
হিসাবে উপস্থাপিত একটিnumpy.ndarray
উদাহরণ থেকে শুরু করা যেতে পারে এমন একটি প্রকার।ঘোষণা
public protocol ConvertibleFromNumpyArray
একটি প্রকার যা এক বা একাধিক NumPy স্কেলার প্রকারের সাথে bitwise সামঞ্জস্যপূর্ণ।
ঘোষণা
public protocol NumpyScalarCompatible
একটি প্রকার যার মানগুলিকে
PythonObject
এ রূপান্তর করা যেতে পারে।ঘোষণা
public protocol PythonConvertible
একটি প্রকার যা একটি
PythonObject
থেকে শুরু করা যেতে পারে।ঘোষণা
public protocol ConvertibleFromPython
একটি প্রকার যা বীজযোগ্য নির্ধারক সিউডো-র্যান্ডম ডেটা প্রদান করে।
একটি SeedableRandomNumberGenerator যে কোন জায়গায় ব্যবহার করা যেতে পারে যেখানে একটি RandomNumberGenerator ব্যবহার করা হবে। যখন ছদ্ম-র্যান্ডম ডেটাকে রান জুড়ে পুনরুত্পাদনযোগ্য হতে হবে তখন এটি কার্যকর।
SeedableRandomNumberGenerator প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ
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
টেনসরফ্লো অপারেশন কল করার জন্য বিশেষ প্রোটোকল যা ভিন্ন ভিন্ন অ্যারেগুলিকে ইনপুট হিসাবে গ্রহণ করে।
ঘোষণা
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