নিম্নলিখিত কাঠামো বিশ্বব্যাপী উপলব্ধ।
একই উপাদানের ধরন সহ দুটি অনুক্রমের সংমিশ্রণ।
ঘোষণা
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
একটি সংগ্রহে একটি ঘোরানো দৃশ্য৷
ঘোষণা
public struct RotatedCollection<Base> : Collection where Base : Collection
extension RotatedCollection: BidirectionalCollection where Base: BidirectionalCollection
extension RotatedCollection: RandomAccessCollection where Base: RandomAccessCollection
ঘোষণা
public struct AnyDifferentiable : Differentiable
একটি টাইপ-মুছে ফেলা ডেরিভেটিভ মান।
AnyDerivative
টাইপ তার ক্রিয়াকলাপগুলিকে একটি নির্বিচারে অন্তর্নিহিত বেস ডেরিভেটিভ মানের কাছে ফরোয়ার্ড করে যাDifferentiable
এবংAdditiveArithmetic
এর সাথে সামঞ্জস্যপূর্ণ, অন্তর্নিহিত মানের সুনির্দিষ্ট বৈশিষ্ট্যগুলিকে লুকিয়ে রাখে।ঘোষণা
@frozen public struct AnyDerivative : Differentiable & AdditiveArithmetic
উপাদানগুলির একটি বহুমাত্রিক বিন্যাস যা সম্ভাব্য উচ্চ মাত্রায় ভেক্টর এবং ম্যাট্রিক্সের সাধারণীকরণ।
জেনেরিক প্যারামিটার
Scalar
টেনসরের স্কেলারের ধরন বর্ণনা করে (যেমনInt32
,Float
, ইত্যাদি)।ঘোষণা
@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
একটি পুলব্যাক ফাংশন যা দুটি
Tensors
সম্প্রচারের স্থানান্তর সম্পাদন করে।ঘোষণা
public struct BroadcastingPullback
একটি প্রসঙ্গ যা গভীর শিক্ষার API যেমন স্তরগুলির দ্বারা ব্যবহৃত থ্রেড-স্থানীয় প্রাসঙ্গিক তথ্য সংরক্ষণ করে।
বর্তমান থ্রেড-স্থানীয় প্রসঙ্গ পুনরুদ্ধার করতে
Context.local
ব্যবহার করুন।উদাহরণ:
- বর্তমান শেখার পর্যায়টিকে প্রশিক্ষণে সেট করুন যাতে
BatchNorm
মতো স্তরগুলি ইনপুটগুলিতে প্রয়োগ করার সময় গড় এবং বৈচিত্র্য গণনা করবে।
Context.local.learningPhase = .training
- বর্তমান শেখার পর্যায়কে অনুমানে সেট করুন যাতে ইনপুটগুলিতে প্রয়োগ করার সময়
Dropout
মতো স্তরগুলি ইউনিটগুলি ছেড়ে না যায়।
Context.local.learningPhase = .inference
ঘোষণা
public struct Context
- বর্তমান শেখার পর্যায়টিকে প্রশিক্ষণে সেট করুন যাতে
একটি 1-ডি কনভোলিউশন লেয়ার (যেমন একটি সময়-সিরিজের উপর অস্থায়ী কনভোলিউশন)।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে স্তর ইনপুটের সাথে জড়িত।
ঘোষণা
@frozen public struct Conv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 2-ডি কনভোলিউশন লেয়ার (যেমন ছবিগুলির উপর স্থানিক কনভোলিউশন)।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে স্তর ইনপুটের সাথে জড়িত।
ঘোষণা
@frozen public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
চিত্রের উপর স্থানিক/স্থানিক-অস্থায়ী কনভল্যুশনের জন্য একটি 3-ডি কনভলিউশন লেয়ার।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে স্তর ইনপুটের সাথে জড়িত।
ঘোষণা
@frozen public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 1-ডি ট্রান্সপোজড কনভোলিউশন লেয়ার (যেমন ইমেজের উপর টেম্পোরাল ট্রান্সপোজড কনভোলিউশন)।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে লেয়ার ইনপুটের সাথে ট্রান্সপোজ-সংশ্লিষ্ট হয়।
ঘোষণা
@frozen public struct TransposedConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 2-ডি ট্রান্সপোজড কনভোলিউশন লেয়ার (যেমন চিত্রের উপর স্থানিক ট্রান্সপোজড কনভোলিউশন)।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে লেয়ার ইনপুটের সাথে ট্রান্সপোজ-সংশ্লিষ্ট হয়।
ঘোষণা
@frozen public struct TransposedConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 3-ডি ট্রান্সপোজড কনভোলিউশন লেয়ার (যেমন চিত্রের উপর স্থানিক ট্রান্সপোজড কনভোলিউশন)।
এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে লেয়ার ইনপুটের সাথে ট্রান্সপোজ-সংশ্লিষ্ট হয়।
ঘোষণা
@frozen public struct TransposedConv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 2-ডি গভীরতার দিক থেকে কনভোল্যুশন লেয়ার।
এই স্তরটি বিভাজনযোগ্য কনভোলিউশন ফিল্টার তৈরি করে যা লেয়ার ইনপুটের সাথে আউটপুটগুলির একটি টেনসর তৈরি করতে জড়িত।
ঘোষণা
@frozen public struct DepthwiseConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
টেম্পোরাল ডাইমেনশনে শূন্য-প্যাডিং যোগ করার জন্য একটি স্তর।
ঘোষণা
public struct ZeroPadding1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক মাত্রায় শূন্য-প্যাডিং যোগ করার জন্য একটি স্তর।
ঘোষণা
public struct ZeroPadding2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক/স্থানীয়-অস্থায়ী মাত্রায় শূন্য-প্যাডিং যোগ করার জন্য একটি স্তর।
ঘোষণা
public struct ZeroPadding3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
একটি 1-D বিভাজ্য কনভোলিউশন স্তর।
এই স্তরটি একটি গভীরতার সাথে কনভল্যুশন সঞ্চালন করে যা চ্যানেলগুলিতে আলাদাভাবে কাজ করে এবং তারপরে একটি পয়েন্টওয়াইজ কনভোলিউশন যা চ্যানেলগুলিকে মিশ্রিত করে।
ঘোষণা
@frozen public struct SeparableConv1D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 2-ডি বিভাজ্য কনভোলিউশন স্তর।
এই স্তরটি একটি গভীরতার সাথে কনভল্যুশন সঞ্চালন করে যা চ্যানেলগুলিতে আলাদাভাবে কাজ করে এবং তারপরে একটি পয়েন্টওয়াইজ কনভোলিউশন যা চ্যানেলগুলিকে মিশ্রিত করে।
ঘোষণা
@frozen public struct SeparableConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি সমতল স্তর।
ব্যাচের আকারকে প্রভাবিত না করে প্রয়োগ করার সময় একটি সমতল স্তর ইনপুটকে সমতল করে।
ঘোষণা
@frozen public struct Flatten<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
একটি রিশেপ লেয়ার।
ঘোষণা
@frozen public struct Reshape<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
একটি স্তর যা একটি কাস্টম ডিফারেন্সেবল ফাংশনকে আবদ্ধ করে।
ঘোষণা
public struct Function<Input, Output> : ParameterlessLayer where Input : Differentiable, Output : Differentiable
একটি TensorFlow গতিশীল টাইপ মান যা
TensorFlowScalar
এর সাথে সামঞ্জস্যপূর্ণ প্রকারগুলি থেকে তৈরি করা যেতে পারে।ঘোষণা
public struct TensorDataType : Equatable
ঘোষণা
উপাদানগুলির একটি সম্ভাব্য বড় সেট প্রতিনিধিত্ব করে।
একটি
Dataset
উপাদান টেনসরের সংগ্রহ হিসাবে একটি ইনপুট পাইপলাইন উপস্থাপন করতে ব্যবহার করা যেতে পারে।ঘোষণা
@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
একটি ডেটাসেটের উপাদানগুলির উপর পুনরাবৃত্তি করার অনুমতি দেয় এমন প্রকার৷
ঘোষণা
@available(*, deprecated) @frozen public struct DatasetIterator<Element> where Element : TensorGroup
extension DatasetIterator: IteratorProtocol
একটি 2-টুপল-সদৃশ কাঠামো যা TensorGroup-এর সাথে সামঞ্জস্যপূর্ণ যা
TensorGroup
এর সাথে সামঞ্জস্যপূর্ণ 2 প্রকারের একটি টিপল উপস্থাপন করে।ঘোষণা
@frozen public struct Zip2TensorGroup<T, U> : TensorGroup where T : TensorGroup, U : TensorGroup
একটি ঘন-সংযুক্ত নিউরাল নেটওয়ার্ক স্তর।
Dense
অপারেশনactivation(matmul(input, weight) + bias)
প্রয়োগ করে, যেখানেweight
একটি ওজন ম্যাট্রিক্স,bias
একটি পক্ষপাত ভেক্টর এবংactivation
একটি উপাদান-ভিত্তিক অ্যাক্টিভেশন ফাংশন।এই স্তরটি 2-ডি বায়াস ম্যাট্রিক্স সহ 3-ডি ওজন টেনসরকেও সমর্থন করে। এই ক্ষেত্রে উভয়ের প্রথম মাত্রাটিকে ব্যাচের আকার হিসাবে বিবেচনা করা হয় যা
input
প্রথম মাত্রার সাথে সারিবদ্ধ হয় এবংmatmul(_:_:)
অপারেশনের ব্যাচ বৈকল্পিক ব্যবহার করা হয়, এইভাবে প্রতিটি উপাদানের জন্য আলাদা ওজন এবং পক্ষপাত ব্যবহার করা হয়। ইনপুট ব্যাচে।ঘোষণা
@frozen public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি ডিভাইস যার উপর
Tensor
s বরাদ্দ করা যেতে পারে।ঘোষণা
public struct Device
extension Device: Equatable
extension Device: CustomStringConvertible
একটি ড্রপআউট স্তর।
ড্রপআউট প্রশিক্ষণের সময় প্রতিটি আপডেটে এলোমেলোভাবে ইনপুট ইউনিটের একটি ভগ্নাংশ
0
এ সেট করে, যা অতিরিক্ত ফিটিং প্রতিরোধে সহায়তা করে।ঘোষণা
@frozen public struct Dropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
GaussianNoise
একটি সাধারণ বিতরণ থেকে নমুনা করা শব্দ যোগ করে।যোগ করা গোলমালের মানে সবসময় শূন্য থাকে, কিন্তু একটি কনফিগারযোগ্য স্ট্যান্ডার্ড বিচ্যুতি রয়েছে।
ঘোষণা
public struct GaussianNoise<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
GaussianDropout
গড় 1.0 সহ একটি সাধারণ বিতরণ থেকে নমুনা করা শব্দের সাথে ইনপুটকে গুণ করে।যেহেতু এটি একটি নিয়মিতকরণ স্তর, এটি শুধুমাত্র প্রশিক্ষণের সময় সক্রিয় থাকে। অনুমানের সময়,
GaussianDropout
অপরিবর্তিত ইনপুটের মধ্য দিয়ে যায়।ঘোষণা
public struct GaussianDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
একটি আলফা ড্রপআউট স্তর।
আলফা ড্রপআউট হল একটি
Dropout
যা এই ড্রপআউটের পরেও স্ব-স্বাভাবিক বৈশিষ্ট্য নিশ্চিত করার জন্য তাদের মূল মানগুলিতে ইনপুটগুলির গড় এবং তারতম্য রাখে। আলফা ড্রপআউট এলোমেলোভাবে নেতিবাচক স্যাচুরেশন মানতে অ্যাক্টিভেশন সেট করে স্কেল করা সূচকীয় রৈখিক ইউনিটের সাথে ভালভাবে ফিট করে।সূত্র: সেলফ-নরমালাইজিং নিউরাল নেটওয়ার্ক: https://arxiv.org/abs/1706.02515
ঘোষণা
@frozen public struct AlphaDropout<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
একটি এম্বেডিং স্তর।
Embedding
কার্যকরভাবে একটি লুকআপ টেবিল যা একটি নির্দিষ্ট শব্দভাণ্ডার থেকে নির্দিষ্ট আকারের (ঘন) ভেক্টর উপস্থাপনাগুলিতে সূচকগুলিকে ম্যাপ করে, যেমন[[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]]
ঘোষণা
public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint
প্যারামিটারবিহীন স্তরগুলির জন্য খালি
TangentVector
প্রতিনিধিত্ব করে একটি খালি কাঠামো।ঘোষণা
public struct EmptyTangentVector: EuclideanDifferentiable, VectorProtocol, ElementaryFunctions, PointwiseMultiplicative, KeyPathIterable
প্রথম এবং দ্বিতীয় মুহুর্তের জোড়া (অর্থাৎ, গড় এবং পার্থক্য)।
দ্রষ্টব্য
এটি প্রয়োজন কারণ টিপল প্রকারগুলি পার্থক্যযোগ্য নয়।ঘোষণা
public struct Moments<Scalar> : Differentiable where Scalar : TensorFlowFloatingPoint
একটি 2-ডি আকারগত প্রসারণ স্তর
এই স্তরটি প্রদত্ত ফিল্টারগুলির সাথে ইনপুট টেনসরের রূপগত বিস্তৃতি প্রদান করে
ঘোষণা
@frozen public struct Dilation2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি 2-ডি আকারগত ক্ষয় স্তর
এই স্তরটি প্রদত্ত ফিল্টারগুলির সাথে ইনপুট টেনসরের আকারগত ক্ষয় ফিরিয়ে দেয়
ঘোষণা
@frozen public struct Erosion2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
উপাদানগুলির একটি অলস নির্বাচন, একটি নির্দিষ্ট ক্রমে, কিছু বেস সংগ্রহ থেকে।
ঘোষণা
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
কিছু
Base
সংগ্রহের দীর্ঘতম অ-ওভারল্যাপিং সংলগ্ন স্লাইসগুলির একটি সংগ্রহ, এটির প্রথম উপাদান থেকে শুরু করে এবং কিছু নির্দিষ্ট সর্বাধিক দৈর্ঘ্য রয়েছে।এই সংগ্রহের উপাদান, শেষ ব্যতীত, সকলেরই
batchSize
একটিcount
রয়েছে, যদি নাBase.count % batchSize !=0
, যে ক্ষেত্রে শেষ ব্যাচেরcount
হয়base.count % batchSize.
ঘোষণা
public struct Slices<Base> where Base : Collection
extension Slices: Collection
একটি ব্যাচ স্বাভাবিককরণ স্তর।
প্রতিটি ব্যাচে পূর্ববর্তী স্তরের অ্যাক্টিভেশনকে স্বাভাবিক করে, অর্থাৎ একটি রূপান্তর প্রয়োগ করে যা গড় অ্যাক্টিভেশন
0
এর কাছাকাছি এবং অ্যাক্টিভেশন স্ট্যান্ডার্ড বিচ্যুতি1
এর কাছাকাছি বজায় রাখে।রেফারেন্স: ব্যাচ স্বাভাবিককরণ: অভ্যন্তরীণ কোভেরিয়েট শিফট হ্রাস করে গভীর নেটওয়ার্ক প্রশিক্ষণকে ত্বরান্বিত করা ।
ঘোষণা
@frozen public struct BatchNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি স্তর যা ইনপুটগুলির একটি মিনি-ব্যাচের উপর স্তর স্বাভাবিককরণ প্রয়োগ করে৷
রেফারেন্স: লেয়ার নরমালাইজেশন ।
ঘোষণা
@frozen public struct LayerNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি স্তর যা ইনপুটগুলির একটি মিনি-ব্যাচের উপর গ্রুপ স্বাভাবিককরণ প্রয়োগ করে।
রেফারেন্স: গ্রুপ স্বাভাবিককরণ ।
ঘোষণা
@frozen public struct GroupNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি স্তর যা ইনপুটগুলির একটি মিনি-ব্যাচের উপর দৃষ্টান্ত স্বাভাবিককরণ প্রয়োগ করে।
রেফারেন্স: ইনস্ট্যান্স স্বাভাবিকীকরণ: দ্রুত শৈলীকরণের জন্য অনুপস্থিত উপাদান ।
ঘোষণা
@frozen public struct InstanceNorm<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
একটি অপ্টিমাইজারের ভিতরে একটি একক ওজনের একক ধাপের জন্য স্টেট।
ঘোষণা
public struct OptimizerWeightStepState
StateAccessor
এর মাধ্যমে গ্লোবাল স্টেট অ্যাক্সেস করা হয়েছে।ঘোষণা
public struct OptimizerState
[String: Float]
কিন্তু উপাদানগুলিকে অ্যাক্সেস করা যেতে পারে যেন তারা সদস্য ছিল।ঘোষণা
@dynamicMemberLookup public struct HyperparameterDictionary
একটি অপ্টিমাইজার যা একটি একক প্যারামিটার গ্রুপে কাজ করে।
ঘোষণা
public struct ParameterGroupOptimizer
অপ্টিমাইজার স্থানীয় মানগুলির জন্য একটি
Int
সূচক মানের চারপাশে একটি টাইপ-নিরাপদ মোড়ক।ঘোষণা
public struct LocalAccessor
অপ্টিমাইজার গ্লোবাল মানগুলির জন্য একটি
Int
সূচক মানের চারপাশে একটি টাইপ-নিরাপদ মোড়ক।ঘোষণা
public struct GlobalAccessor
অপ্টিমাইজার স্টেট মানের জন্য একটি
Int
সূচক মানের চারপাশে একটি টাইপ-নিরাপদ মোড়ক।ঘোষণা
public struct StateAccessor
একটি
ParameterGroupOptimizer
তৈরি করে। এটি মূলত মডেলের একক ওজনের স্তরে ব্যবহৃত হয়। ([Bool]
থেকে ParameterGroupOptimizer) দ্বারা নির্বাচিত প্যারামিটার গ্রুপ থেকে একটি ম্যাপিং চূড়ান্ত অপ্টিমাইজারকে সংজ্ঞায়িত করে।ঘোষণা
public struct ParameterGroupOptimizerBuilder
টেম্পোরাল ডেটার জন্য সর্বোচ্চ পুলিং লেয়ার।
ঘোষণা
@frozen public struct MaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক ডেটার জন্য সর্বোচ্চ পুলিং স্তর।
ঘোষণা
@frozen public struct MaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক বা স্প্যাটিও-টেম্পোরাল ডেটার জন্য সর্বোচ্চ পুলিং স্তর।
ঘোষণা
@frozen public struct MaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
টেম্পোরাল ডেটার জন্য একটি গড় পুলিং লেয়ার।
ঘোষণা
@frozen public struct AvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক ডেটার জন্য একটি গড় পুলিং স্তর।
ঘোষণা
@frozen public struct AvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক বা স্প্যাটিও-টেম্পোরাল ডেটার জন্য একটি গড় পুলিং স্তর।
ঘোষণা
@frozen public struct AvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
অস্থায়ী ডেটার জন্য একটি বিশ্বব্যাপী গড় পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalAvgPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক ডেটার জন্য একটি বিশ্বব্যাপী গড় পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalAvgPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক এবং স্থানিক-অস্থায়ী ডেটার জন্য একটি বিশ্বব্যাপী গড় পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalAvgPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
অস্থায়ী ডেটার জন্য একটি বিশ্বব্যাপী সর্বোচ্চ পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalMaxPool1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক ডেটার জন্য একটি বিশ্বব্যাপী সর্বোচ্চ পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক এবং স্থানিক-অস্থায়ী ডেটার জন্য একটি বিশ্বব্যাপী সর্বোচ্চ পুলিং স্তর।
ঘোষণা
@frozen public struct GlobalMaxPool3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
স্থানিক ডেটার জন্য একটি ভগ্নাংশ সর্বোচ্চ পুলিং স্তর। দ্রষ্টব্য:
FractionalMaxPool
একটি XLA বাস্তবায়ন নেই, এবং এইভাবে কর্মক্ষমতা প্রভাব থাকতে পারে।ঘোষণা
@frozen public struct FractionalMaxPool2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
PythonObject
পাইথনে একটি বস্তুর প্রতিনিধিত্ব করে এবং গতিশীল সদস্য লুকআপ সমর্থন করে।object.foo
এর মতো যেকোন সদস্যের অ্যাক্সেস এই বস্তুর নির্দিষ্ট নামের সদস্যের জন্য পাইথন রানটাইম গতিশীলভাবে অনুরোধ করবে।PythonObject
সব Python ফাংশন কল এবং সদস্য রেফারেন্স থেকে পাস করা হয় এবং ফিরে আসে। এটি স্ট্যান্ডার্ড পাইথন পাটিগণিত এবং তুলনা অপারেটর সমর্থন করে।অভ্যন্তরীণভাবে,
PythonObject
একটি Python C APIPyObject
এ একটি রেফারেন্স-গণনা করা পয়েন্টার হিসাবে প্রয়োগ করা হয়।ঘোষণা
@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
একটি
PythonObject
র্যাপার যা থ্রোিং মেথড কল সক্ষম করে। পাইথন ফাংশন দ্বারা উত্পাদিত ব্যতিক্রমগুলি সুইফট ত্রুটি হিসাবে প্রতিফলিত হয় এবং নিক্ষেপ করা হয়।দ্রষ্টব্য
এটা ইচ্ছাকৃত যেThrowingPythonObject
@dynamicCallable
অ্যাট্রিবিউট নেই কারণ কল সিনট্যাক্সটি অজ্ঞাত:x.throwing(arg1, arg2, ...)
। পরবর্তী আলোচনা/ডিজাইন না হওয়া পর্যন্ত পদ্ধতিগুলিকেdynamicallyCall
কল করা হবে।ঘোষণা
public struct ThrowingPythonObject
একটি
PythonObject
র্যাপার যা সদস্যদের অ্যাক্সেস সক্ষম করে। সদস্য অ্যাক্সেস অপারেশন একটিOptional
ফলাফল ফেরত. সদস্য অ্যাক্সেস ব্যর্থ হলে,nil
ফেরত দেওয়া হয়.ঘোষণা
@dynamicMemberLookup public struct CheckingPythonObject
পাইথনের জন্য একটি ইন্টারফেস।
PythonInterface
পাইথনের সাথে মিথস্ক্রিয়া করতে দেয়। এটি মডিউল আমদানি করতে এবং গতিশীলভাবে পাইথন বিল্টইন প্রকার এবং ফাংশন অ্যাক্সেস করতে ব্যবহার করা যেতে পারে।দ্রষ্টব্য
এটিPythonInterface
জন্য সরাসরি শুরু করার উদ্দেশ্যে নয়। পরিবর্তে,Python
নামকPythonInterface
গ্লোবাল ইনস্ট্যান্স ব্যবহার করুন।ঘোষণা
@dynamicMemberLookup public struct PythonInterface
ঘোষণা
public struct PythonLibrary
একটি টাইপ-মুছে ফেলা র্যান্ডম নম্বর জেনারেটর।
AnyRandomNumberGenerator
প্রকার একটি অন্তর্নিহিত র্যান্ডম নম্বর জেনারেটরের কাছে র্যান্ডম নম্বর জেনারেটর ক্রিয়াকলাপকে ফরোয়ার্ড করে, এর নির্দিষ্ট অন্তর্নিহিত প্রকারকে লুকিয়ে রাখে।ঘোষণা
public struct AnyRandomNumberGenerator : RandomNumberGenerator
ARC4 ব্যবহার করে
SeedableRandomNumberGenerator
এর একটি বাস্তবায়ন।ARC4 হল একটি স্ট্রিম সাইফার যা বাইটের একটি ছদ্ম-এলোমেলো স্ট্রিম তৈরি করে। এই PRNG তার চাবি হিসাবে বীজ ব্যবহার করে।
ARC4 বর্ণনা করা হয়েছে Schneier, B., “Applied Cryptography: Protocols, Algorithms, and Source Code in C”, 2য় সংস্করণ, 1996.
একটি পৃথক জেনারেটর থ্রেড-নিরাপদ নয়, তবে স্বতন্ত্র জেনারেটর রাষ্ট্র ভাগ করে না। উৎপন্ন র্যান্ডম ডেটা উচ্চ-মানের, কিন্তু ক্রিপ্টোগ্রাফিক অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়।
ঘোষণা
@frozen public struct ARC4RandomNumberGenerator : SeedableRandomNumberGenerator
থ্রিফ্রাই ব্যবহার করে
SeedableRandomNumberGenerator
এর বাস্তবায়ন। সালমন এট আল। SC 2011. সমান্তরাল র্যান্ডম সংখ্যা: 1, 2, 3 এর মতো সহজ। http://www.thesalmons.org/john/random123/papers/random123sc11.pdfএই কাঠামোটি একটি 20-রাউন্ড থ্রিফ্রাই2x32 পিআরএনজি প্রয়োগ করে। এটি একটি 64-বিট মান সঙ্গে বীজ করা আবশ্যক.
একটি পৃথক জেনারেটর থ্রেড-নিরাপদ নয়, তবে স্বতন্ত্র জেনারেটর রাষ্ট্র ভাগ করে না। উৎপন্ন র্যান্ডম ডেটা উচ্চ-মানের, কিন্তু ক্রিপ্টোগ্রাফিক অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়।
ঘোষণা
public struct ThreefryRandomNumberGenerator : SeedableRandomNumberGenerator
Philox ব্যবহার করে
SeedableRandomNumberGenerator
এর একটি বাস্তবায়ন। সালমন এট আল। SC 2011. সমান্তরাল র্যান্ডম সংখ্যা: 1, 2, 3 এর মতো সহজ। http://www.thesalmons.org/john/random123/papers/random123sc11.pdfএই কাঠামোটি একটি 10-রাউন্ড Philox4x32 PRNG প্রয়োগ করে। এটি একটি 64-বিট মান সঙ্গে বীজ করা আবশ্যক.
একটি পৃথক জেনারেটর থ্রেড-নিরাপদ নয়, তবে স্বতন্ত্র জেনারেটর রাষ্ট্র ভাগ করে না। উৎপন্ন র্যান্ডম ডেটা উচ্চ-মানের, কিন্তু ক্রিপ্টোগ্রাফিক অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়।
ঘোষণা
public struct PhiloxRandomNumberGenerator : SeedableRandomNumberGenerator
ঘোষণা
@frozen public struct UniformIntegerDistribution<T> : RandomDistribution where T : FixedWidthInteger
ঘোষণা
@frozen public struct UniformFloatingPointDistribution<T: BinaryFloatingPoint>: RandomDistribution where T.RawSignificand: FixedWidthInteger
ঘোষণা
@frozen public struct NormalDistribution<T: BinaryFloatingPoint>: RandomDistribution where T.RawSignificand: FixedWidthInteger
ঘোষণা
@frozen public struct BetaDistribution : RandomDistribution
একটি পুনরাবৃত্ত নিউরাল নেটওয়ার্কে একটি ইনপুট।
ঘোষণা
public struct RNNCellInput<Input, State> : Differentiable where Input : Differentiable, State : Differentiable
extension RNNCellInput: EuclideanDifferentiable where Input: EuclideanDifferentiable, State: EuclideanDifferentiable
একটি পুনরাবৃত্ত নিউরাল নেটওয়ার্কের একটি আউটপুট।
ঘোষণা
public struct RNNCellOutput<Output, State> : Differentiable where Output : Differentiable, State : Differentiable
extension RNNCellOutput: EuclideanDifferentiable where Output: EuclideanDifferentiable, State: EuclideanDifferentiable
একটি মৌলিক RNN সেল।
ঘোষণা
public struct BasicRNNCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
একটি LSTM সেল।
ঘোষণা
public struct LSTMCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
একটি GRU সেল।
ঘোষণা
public struct GRUCell<Scalar> : RecurrentLayerCell where Scalar : TensorFlowFloatingPoint
ঘোষণা
public struct RecurrentLayer<Cell> : Layer where Cell : RecurrentLayerCell
extension RecurrentLayer: Equatable where Cell: Equatable
extension RecurrentLayer: AdditiveArithmetic where Cell: AdditiveArithmetic
ঘোষণা
public struct BidirectionalRecurrentLayer<Cell: RecurrentLayerCell>: Layer where Cell.TimeStepOutput: Mergeable
একটি স্তর যা ক্রমানুসারে দুটি বা ততোধিক অন্যান্য স্তর রচনা করে।
উদাহরণ:
- MNIST-এর জন্য একটি সাধারণ 2-স্তর পারসেপ্ট্রন মডেল তৈরি করুন:
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 এর জন্য একটি অটোএনকোডার তৈরি করুন:
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) }
ঘোষণা
@_functionBuilder public struct LayerBuilder
ShapedArray
একটি বহুমাত্রিক অ্যারে। এটির একটি আকৃতি রয়েছে, যার টাইপ আছে[Int]
এবং অ্যারের মাত্রা সংজ্ঞায়িত করে এবং স্টোরেজ হিসাবে অভ্যন্তরীণভাবে একটিTensorBuffer
ব্যবহার করে।ঘোষণা
@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
বাShapedArraySlice
উদাহরণের একটি সংলগ্ন স্লাইস।ShapedArraySlice
ShapedArray
দৃষ্টান্তগুলির সংলগ্ন স্লাইসগুলিতে দ্রুত, দক্ষ অপারেশন সক্ষম করে৷ShapedArraySlice
দৃষ্টান্তগুলির নিজস্ব সঞ্চয়স্থান নেই৷ পরিবর্তে, তারা তাদের বেসShapedArray
এর স্টোরেজ সম্বন্ধে একটি দৃশ্য প্রদান করে।ShapedArraySlice
দুটি ভিন্ন ধরনের স্লাইস প্রতিনিধিত্ব করতে পারে: উপাদান অ্যারে এবং সাব্যারে।এলিমেন্ট অ্যারে হল একটি
ShapedArray
এর সাবডাইমেনশনাল উপাদান: তাদের র্যাঙ্ক তাদের বেসের থেকে এক কম। এলিমেন্ট অ্যারে স্লাইসগুলি একটি এককInt32
সূচকের সাথে একটিShapedArray
উদাহরণকে ইন্ডেক্স করে প্রাপ্ত করা হয়।যেমন:
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]].
Subarray হল একটি
ShapedArray
এর উপাদানগুলির একটি সংলগ্ন পরিসর। একটি সাবয়ারের র্যাঙ্ক তার বেসের মতোই, তবে এর অগ্রণী মাত্রা হল স্লাইস পরিসরের গণনা। Subarray স্লাইসগুলি একটিRange<Int32>
সহ একটিShapedArray
সূচীকরণ করে প্রাপ্ত করা হয় যা উপাদানগুলির একটি পরিসীমা প্রতিনিধিত্ব করে (প্রধান মাত্রায়)।prefix(:)
এবংsuffix(:)
এর মত পদ্ধতি যা একটি পরিসরের সাথে অভ্যন্তরীণভাবে সূচী করে, এছাড়াও সাবারে তৈরি করে।যেমন:
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]].
ঘোষণা
@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
হল একটি মাল্টি-ডাইমেনশনাল অ্যারে যার উপাদান হলString
s।ঘোষণা
@frozen public struct StringTensor
extension StringTensor: TensorGroup
TensorHandle
হল অপ্স দ্বারা ব্যবহৃত টাইপ। এটিতে একটিScalar
টাইপ অন্তর্ভুক্ত রয়েছে, যা কম্পাইলার ইন্টারনালগুলি প্যারামিটারের ডেটাটাইপগুলি নির্ধারণ করতে ব্যবহার করতে পারে যখন সেগুলি একটি টেনসর প্রোগ্রামে বের করা হয়।ঘোষণা
public struct TensorHandle<Scalar> where Scalar : _TensorFlowDataTypeCompatible
extension TensorHandle: TensorGroup
ঘোষণা
public struct ResourceHandle
extension ResourceHandle: TensorGroup
ঘোষণা
public struct VariantHandle
extension VariantHandle: TensorGroup
টেনসরের আকৃতির প্রতিনিধিত্বকারী একটি কাঠামো।
TensorShape
হল পূর্ণসংখ্যার একটি অ্যারের চারপাশে একটি পাতলা মোড়ক যা আকৃতির মাত্রা উপস্থাপন করে। সমস্ত টেনসর প্রকার তাদের আকৃতি উপস্থাপন করতেTensorShape
ব্যবহার করে।ঘোষণা
@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>]
কিন্তু আরও দক্ষ। এটি জেনেরিক অপ্টিমাইজার লেখার জন্য উপযোগী যারা গ্রেডিয়েন্ট, বিদ্যমান ওজন এবং একটি সূচক যা অক্জিলিয়ারীভাবে সঞ্চিত ওজন খুঁজে বের করতে ব্যবহার করা যেতে পারে ম্যাপ করতে চায়। এটি কিছুটা বেশি কার্যকরী (~2x) তবে এটি আরও ভাল হতে পারে কারণ এটি O(depth_of_tree) কাজ না করার জন্য সামান্য উচ্চ ওভারহেড (অতিরিক্ত পয়েন্টার ডিরেফারেন্স) বন্ধ করে দেয় যা প্রতিটি পৃথক কীপথ ট্র্যাক করার জন্য একটি প্লেইন তালিকার সাথে প্রয়োজন।ঘোষণা
public struct TensorVisitorPlan<Base>
1-ডি ইনপুটগুলির জন্য একটি আপস্যাম্পলিং স্তর।
ঘোষণা
@frozen public struct UpSampling1D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
2-ডি ইনপুটগুলির জন্য একটি আপস্যাম্পলিং স্তর।
ঘোষণা
@frozen public struct UpSampling2D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
3-ডি ইনপুটগুলির জন্য একটি আপস্যাম্পলিং স্তর।
ঘোষণা
@frozen public struct UpSampling3D<Scalar> : ParameterlessLayer where Scalar : TensorFlowFloatingPoint
সঠিক ভবিষ্যদ্বাণী কাউন্টার এবং ক্ষতি মোট সংগ্রহ।
ঘোষণা
public struct HostStatistics