मैं 2 वें परतों को समान वजन साझा करने की कोशिश कर रहा हूं, हालांकि, ऐसा लगता है कि एपीआई काम नहीं करता है।tensorFlow ref variable tf.layers.conv2d
import tensorflow as tf
x = tf.random_normal(shape=[10, 32, 32, 3])
with tf.variable_scope('foo') as scope:
conv1 = tf.contrib.layers.conv2d(x, 3, [2, 2], padding='SAME', reuse=True, scope=scope)
print(conv1.name)
conv2 = tf.contrib.layers.conv2d(x, 3, [2, 2], padding='SAME', reuse=True, scope=scope)
print(conv2.name)
यह
foo/foo/Relu:0
foo/foo_1/Relu:0
बाहर प्रिंट tf.contrib.layers.conv2d
से tf.layers.conv2d
को बदलने से समस्या का समाधान नहीं है।
यह tf.layers.conv2d
के साथ एक ही समस्या है:
import tensorflow as tf
x = tf.random_normal(shape=[10, 32, 32, 3])
conv1 = tf.layers.conv2d(x, 3, [2, 2], padding='SAME', reuse=None, name='conv')
print(conv1.name)
conv2 = tf.layers.conv2d(x, 3, [2, 2], padding='SAME', reuse=True, name='conv')
print(conv2.name)
देता
conv/BiasAdd:0
conv_2/BiasAdd:0
पहले उदाहरण के लिए पहले रूपांतरण पर भी सही क्यों उपयोग किया जाता है? – Steven
@ स्टेवन मैंने पुन: उपयोग करने के लिए सभी संयोजनों को आजमाया है = सही है, लेकिन उनमें से कोई भी प्रभावी नहीं है। क्या आप tf.layers.conv2d का उपयोग करके वजन को साझा करने के लिए एक छोटा सा उदाहरण देने में मदद कर सकते हैं? – Xingdong
मैं आमतौर पर इसे हाथ से करता हूं यानी वजन कम करता हूं और फिर उन्हें पास करता हूं। फिर मेरे पास वज़न चर है कि मैं केवल उसी चर का उपयोग करके पुन: उपयोग कर सकता हूं। मैं इसका एक उदाहरण दिखा सकता हूं? – Steven