@frozen
public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
छवियों पर स्थानिक/स्थानिक-लौकिक कनवल्शन के लिए एक 3-डी कनवल्शन परत।
यह परत एक कनवल्शन फ़िल्टर बनाती है जो आउटपुट के टेंसर का उत्पादन करने के लिए परत इनपुट के साथ जुड़ती है।
5-डी कन्वोल्यूशन फ़िल्टर।
घोषणा
public var filter: Tensor<Scalar>
पूर्वाग्रह वेक्टर.
घोषणा
public var bias: Tensor<Scalar>
तत्व-वार सक्रियण फ़ंक्शन।
घोषणा
@noDerivative public let activation: Activation
स्थानिक आयामों के लिए स्लाइडिंग विंडो के चरण।
घोषणा
@noDerivative public let strides: (Int, Int, Int)
कनवल्शन के लिए पैडिंग एल्गोरिदम।
घोषणा
@noDerivative public let padding: Padding
स्थानिक/स्थानिक लौकिक आयामों के लिए फैलाव कारक।
घोषणा
@noDerivative public let dilations: (Int, Int, Int)
निर्दिष्ट फ़िल्टर, पूर्वाग्रह, सक्रियण फ़ंक्शन, स्ट्राइड्स और पैडिंग के साथ एक
Conv3D
परत बनाता है।घोषणा
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1) )
पैरामीटर
filter
आकार का 5-डी कनवल्शन फ़िल्टर [फ़िल्टर गहराई, फ़िल्टर ऊंचाई, फ़िल्टर चौड़ाई, इनपुट चैनल गिनती, आउटपुट चैनल गिनती]।
bias
आकार का पूर्वाग्रह वेक्टर [आउटपुट चैनल गिनती]।
activation
तत्व-वार सक्रियण फ़ंक्शन।
strides
स्थानिक आयामों के लिए स्लाइडिंग विंडो के स्ट्राइड्स, यानी (स्ट्राइड गहराई, स्ट्राइड ऊंचाई, स्ट्राइड चौड़ाई)
padding
कनवल्शन के लिए पैडिंग एल्गोरिदम।
dilations
स्थानिक/स्थानिक-लौकिक आयामों के लिए फैलाव कारक।
दिए गए इनपुट पर परत लगाने से प्राप्त आउटपुट लौटाता है।
आउटपुट स्थानिक आयामों की गणना इस प्रकार की जाती है:
आउटपुट गहराई = (इनपुट गहराई + 2 * पैडिंग गहराई - (फैलाव गहराई * (फ़िल्टर गहराई - 1) + 1)) / स्ट्राइड गहराई + 1
आउटपुट ऊंचाई = (इनपुट ऊंचाई + 2 * पैडिंग ऊंचाई - (फैलाव ऊंचाई * (फ़िल्टर ऊंचाई - 1) + 1)) / स्ट्राइड ऊंचाई + 1
आउटपुट चौड़ाई = (इनपुट चौड़ाई + 2 * पैडिंग चौड़ाई - (फैलाव चौड़ाई * (फ़िल्टर चौड़ाई - 1) + 1)) / स्ट्राइड चौड़ाई + 1
और पैडिंग आकार पैडिंग योजना द्वारा निर्धारित किए जाते हैं।
टिप्पणी
.valid
उपयोग करते समय पैडिंग का आकार शून्य के बराबर होता है।पैरामीटर
input
आकार की परत में इनपुट [बैच गिनती, इनपुट गहराई, इनपुट ऊंचाई, इनपुट चौड़ाई, इनपुट चैनल गिनती]।
वापसी मूल्य
आकार का आउटपुट [बैच गिनती, आउटपुट गहराई, आउटपुट ऊंचाई, आउटपुट चौड़ाई, आउटपुट चैनल गिनती]।
निर्दिष्ट फ़िल्टर आकार, स्ट्राइड्स, पैडिंग, फैलाव और तत्व-वार सक्रियण फ़ंक्शन के साथ एक
Conv3D
परत बनाता है। फ़िल्टर टेंसर को निर्दिष्ट बीज के साथ ग्लोरोट यूनिफ़ॉर्म इनिशियलाइज़ेशन का उपयोग करके प्रारंभ किया जाता है। पूर्वाग्रह वेक्टर को शून्य से आरंभ किया गया है।घोषणा
public init( filterShape: (Int, Int, Int, Int, Int), strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
पैरामीटर
filterShape
5-डी कनवल्शन फ़िल्टर का आकार, प्रतिनिधित्व करता है (फ़िल्टर गहराई, फ़िल्टर ऊंचाई, फ़िल्टर चौड़ाई, इनपुट चैनल गिनती, आउटपुट चैनल गिनती)।
strides
स्थानिक आयामों के लिए स्लाइडिंग विंडो के स्ट्राइड्स, यानी (स्ट्राइड गहराई, स्ट्राइड ऊंचाई, स्ट्राइड चौड़ाई)
padding
कनवल्शन के लिए पैडिंग एल्गोरिदम।
dilations
स्थानिक/स्थानिक-लौकिक आयामों के लिए फैलाव कारक।
activation
तत्व-वार सक्रियण फ़ंक्शन।
filterInitializer
फ़िल्टर पैरामीटर के लिए उपयोग करने हेतु प्रारंभकर्ता.
biasInitializer
पूर्वाग्रह मापदंडों के लिए उपयोग करने के लिए प्रारंभकर्ता।