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

    पूर्वाग्रह मापदंडों के लिए उपयोग करने के लिए प्रारंभकर्ता।