@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)
निर्दिष्ट फ़िल्टर, पूर्वाग्रह, सक्रियण फ़ंक्शन, स्ट्राइड्स, फैलाव और पैडिंग के साथ एक
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
उपयोग करते समय पैडिंग का आकार शून्य के बराबर होता है।पैरामीटर
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
पूर्वाग्रह मापदंडों के लिए उपयोग करने के लिए प्रारंभकर्ता।