Hier habe ich versucht, ein einfaches Modell mit einer Variablen zu erstellen, aber das gleiche über alle GPUs. Ich habe versucht, die Variable zu initialisieren. Allerdings habe ich es nicht richtig initialisiert.Tensorflow-Variablen wurden nicht richtig initialisiert
import tensorflow as tf
def test_model(num):
mu = 1.0
sigma = 0.1
with tf.variable_scope("same_on_all_gpu", reuse=True):
var1 = tf.Variable(tf.truncated_normal(shape=(1,1), mean = mu, stddev = sigma))
return tf.add(var1, num)
with tf.device("/gpu:" + str(0)):
with tf.name_scope('%s_%d' % ("tower_gpu", 0)) as scope:
ret0 = test_model([[0]])
with tf.device("/gpu:" + str(1)):
with tf.name_scope('%s_%d' % ("tower_gpu", 1)) as scope:
ret1 = test_model([[1]])
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
r0, r1 = sess.run([ret0,ret1],{})
print("r0 " + str(r0))
print("r1 " + str(r1))
Ich habe diese Ausgabe:
r0 [[ 0.]]
r1 [[ 0.]]