「暗黙的に」のような関数にパラメータを渡すことができる機能tf.get_variable('name')
あり:TensorFlow:プレースホルダのget_variable()ですか?
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
しかし、一つの関数にtf.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)
それともそれだけで、関数の内部でプレースホルダを構築するためにそれを行うにはあまりにもあまり意味が、より良いはありません:プレースホルダが同じメカニズム、すなわちtf.get_placeholder()
のようなものですか?
[OK]を、それを得ました。だから基本的に、プレースホルダは「無国籍」のようなもので、新しいものを作成してもオーバーヘッドは導入されません。 – devforfu
はい。オーバーヘッドは、Pythonからテンソルへのデータ転送のため、使用するときにのみ導入されます – nessuno