Es gibt eine Funktion, die tf.get_variable('name')
passieren Parameter in Funktion wie „implizit“ ermöglicht:TensorFlow: get_variable() aber für Platzhalter?
def function(sess, feed):
with tf.variable_scope('training', reuse=True):
cost = tf.get_variable('cost')
value = sess.run(cost, feed_dict=feed)
# other statements
Was aber, wenn man eine tf.placeholder
in Funktion übergeben wollen? Gibt es gleiche Mechanismus für Platzhalter, das heißt so etwas wie tf.get_placeholder()
:
def function(sess, cost, X_train, y_train):
# Note this is NOT a valid TF code
with tf.variable_scope('training', reuse=True):
features = tf.get_placeholder('features')
labels = tf.get_placeholder('labels')
feed = {features: X_train, labels: y_train}
value = sess.run(cost, feed_dict=feed)
print('Cost: %s' % value)
Oder es nicht allzu viel Sinn, es zu tun machen und besser, nur Platzhalter zu konstruieren innerhalb der Funktion?
Ok, bekam es. Platzhalter sind also quasi "zustandslos" und neue zu erstellen bringt keinen Overhead mit sich, oder? – devforfu
Ja. Der Aufwand wird nur eingeführt, wenn Sie es verwenden, wegen der Datenübertragung von Python zu Tensorflow – nessuno