2017-07-21 31 views
6

मैं तंत्रिका जाल और टेंसरफ्लो में एक नौसिखिया हूं, और मैं arg_scope की भूमिका को समझने की कोशिश कर रहा हूं।वास्तव में arg_scope क्या करता है?

ऐसा लगता है कि यह कुछ चर के साथ एक निश्चित परत पर "चीजें जो आप करना चाहते हैं" का एक शब्दकोश डालने का एक तरीका है। अगर मैं गलत हूं कृपया मुझे सही। शुरुआती व्यक्ति के लिए आप वास्तव में क्या समझाएंगे?

उत्तर

5

जब संकल्प परतों को परिभाषित करते हैं, तो आप हमेशा एक ही पैडिंग प्रकार और उसी प्रारंभकर्ता का उपयोग कर सकते हैं, और यहां तक ​​कि एक ही रूपांतरण आकार भी हो सकते हैं। आपके लिए पूलिंग के लिए, हो सकता है कि आप हमेशा उसी 2x2 पूलिंग आकार का उपयोग कर रहे हों। और इसी तरह।

arg_scope एक ही परत प्रकारों पर बार-बार एक ही तर्क प्रदान करने से दोहराने से बचने का एक तरीका है। source documentation से

उदाहरण:

tf.contrib.framework.arg_scope कैसे उपयोग करने के लिए का उदाहरण:

from third_party.tensorflow.contrib.layers.python import layers 
    arg_scope = tf.contrib.framework.arg_scope 
    with arg_scope([layers.conv2d], padding='SAME', 
       initializer=layers.variance_scaling_initializer(), 
       regularizer=layers.l2_regularizer(0.05)): 
    net = layers.conv2d(inputs, 64, [11, 11], 4, padding='VALID', scope='conv1') 
    net = layers.conv2d(net, 256, [5, 5], scope='conv2') 

conv2d करने के लिए पहली कॉल के रूप में व्यवहार करेंगे इस प्रकार है:

layers.conv2d(inputs, 64, [11, 11], 4, padding='VALID', 
        initializer=layers.variance_scaling_initializer(), 
        regularizer=layers.l2_regularizer(0.05), scope='conv1') 

को दूसरी कॉल conv2dका भी उपयोग करेगा 0 की गद्दी के लिए डिफ़ॉल्ट:

with arg_scope([layers.conv2d], padding='SAME', 
       initializer=layers.variance_scaling_initializer(), 
       regularizer=layers.l2_regularizer(0.05)) as sc: 
    net = layers.conv2d(net, 256, [5, 5], scope='conv1') 
    .... 
    with arg_scope(sc): 
    net = layers.conv2d(net, 256, [5, 5], scope='conv2') 
:

layers.conv2d(inputs, 256, [5, 5], padding='SAME', 
        initializer=layers.variance_scaling_initializer(), 
        regularizer=layers.l2_regularizer(0.05), scope='conv2') 

कैसे एक arg_scope पुन: उपयोग करने का उदाहरण

संबंधित मुद्दे