Conv2D

@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

একটি 2-ডি কনভোলিউশন লেয়ার (যেমন ছবিগুলির উপর স্থানিক কনভোলিউশন)।

এই স্তরটি একটি কনভোলিউশন ফিল্টার তৈরি করে যা আউটপুটগুলির একটি টেনসর তৈরি করতে স্তর ইনপুটের সাথে জড়িত।

  • 4-ডি কনভোলিউশন ফিল্টার।

    ঘোষণা

    public var filter: Tensor<Scalar>
  • পক্ষপাত ভেক্টর।

    ঘোষণা

    public var bias: Tensor<Scalar>
  • উপাদান অনুযায়ী সক্রিয়করণ ফাংশন.

    ঘোষণা

    @noDerivative
    public let activation: Activation
  • স্থানিক মাত্রার জন্য স্লাইডিং উইন্ডোর অগ্রগতি।

    ঘোষণা

    @noDerivative
    public let strides: (Int, Int)
  • আবর্তনের জন্য প্যাডিং অ্যালগরিদম।

    ঘোষণা

    @noDerivative
    public let padding: Padding
  • স্থানিক মাত্রার জন্য প্রসারিত ফ্যাক্টর।

    ঘোষণা

    @noDerivative
    public let dilations: (Int, Int)
  • উপাদান অনুযায়ী সক্রিয়করণ ফাংশন প্রকার।

    ঘোষণা

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • নির্দিষ্ট ফিল্টার, বায়াস, অ্যাক্টিভেশন ফাংশন, স্ট্রাইডস, ডিলেশন এবং প্যাডিং সহ একটি Conv2D স্তর তৈরি করে।

    ঘোষণা

    public init(
      filter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int) = (1, 1)
    )

    পরামিতি

    filter

    আকৃতির 4-ডি কনভোলিউশন ফিল্টার [ফিল্টারের উচ্চতা, ফিল্টার প্রস্থ, ইনপুট চ্যানেল গণনা, আউটপুট চ্যানেল গণনা]।

    bias

    আকৃতির পক্ষপাত ভেক্টর [আউটপুট চ্যানেল গণনা]।

    activation

    উপাদান অনুযায়ী সক্রিয়করণ ফাংশন.

    strides

    স্থানিক মাত্রার জন্য স্লাইডিং উইন্ডোর অগ্রগতি, অর্থাৎ (স্ট্রাইড উচ্চতা, স্ট্রাইড প্রস্থ)।

    padding

    আবর্তনের জন্য প্যাডিং অ্যালগরিদম।

    dilations

    স্থানিক মাত্রার জন্য প্রসারিত কারণ, যেমন (প্রসারণ উচ্চতা, প্রসারণ প্রস্থ)।

  • প্রদত্ত ইনপুটে স্তর প্রয়োগ করে প্রাপ্ত আউটপুট ফেরত দেয়।

    আউটপুট স্থানিক মাত্রা হিসাবে গণনা করা হয়:

    আউটপুট উচ্চতা = (ইনপুট উচ্চতা + 2 * প্যাডিং উচ্চতা - (প্রসারণ উচ্চতা * (ফিল্টার উচ্চতা - 1) + 1)) / স্ট্রাইড উচ্চতা + 1

    আউটপুট প্রস্থ = (ইনপুট প্রস্থ + 2 * প্যাডিং প্রস্থ - (প্রসারণ প্রস্থ * (ফিল্টার প্রস্থ - 1) + 1)) / স্ট্রাইড প্রস্থ + 1

    এবং প্যাডিং মাপ প্যাডিং স্কিম দ্বারা নির্ধারিত হয়।

    দ্রষ্টব্য

    .valid ব্যবহার করার সময় প্যাডিংয়ের আকার শূন্যের সমান।

    ঘোষণা

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    পরামিতি

    input

    আকৃতির স্তরে ইনপুট [ব্যাচের আকার, ইনপুট উচ্চতা, ইনপুট প্রস্থ, ইনপুট চ্যানেল গণনা]।

    রিটার্ন ভ্যালু

    আকৃতির আউটপুট [ব্যাচ গণনা, আউটপুট উচ্চতা, আউটপুট প্রস্থ, আউটপুট চ্যানেল গণনা]।

  • নির্দিষ্ট ফিল্টার আকৃতি, স্ট্রাইড, প্যাডিং, প্রসারণ এবং উপাদান-ভিত্তিক অ্যাক্টিভেশন ফাংশন সহ একটি Conv2D স্তর তৈরি করে।

    ঘোষণা

    public init(
      filterShape: (Int, Int, Int, Int),
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int) = (1, 1),
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    পরামিতি

    filterShape

    4-ডি কনভোলিউশন ফিল্টারের আকৃতি, প্রতিনিধিত্ব করে (ফিল্টারের উচ্চতা, ফিল্টার প্রস্থ, ইনপুট চ্যানেল গণনা, আউটপুট চ্যানেল গণনা)।

    strides

    স্থানিক মাত্রার জন্য স্লাইডিং উইন্ডোর অগ্রগতি, অর্থাৎ (স্ট্রাইড উচ্চতা, স্ট্রাইড প্রস্থ)।

    padding

    আবর্তনের জন্য প্যাডিং অ্যালগরিদম।

    dilations

    স্থানিক মাত্রার জন্য প্রসারিত কারণ, যেমন (প্রসারণ উচ্চতা, প্রসারণ প্রস্থ)।

    activation

    উপাদান অনুযায়ী সক্রিয়করণ ফাংশন.

    filterInitializer

    ফিল্টার প্যারামিটারের জন্য ব্যবহার করার জন্য ইনিশিয়ালাইজার।

    biasInitializer

    বায়াস প্যারামিটারের জন্য ব্যবহার করার জন্য ইনিশিয়ালাইজার।