簡體   English   中英

tensorflow-如何使用張量名稱構建操作?

[英]tensorflow - how to build operations using tensor names?

假設在Python 3.6中,我在tensorflow中創建了兩個占位符,並為每個占位符分配了一個名稱。 但是,我在python中使用相同的變量來存儲每個張量。

import tensorflow as tf
tfs = tf.InteractiveSession()

p3 = tf.placeholder(tf.float32,name='left')
p3 = tf.placeholder(tf.float32,name='right')

現在如何使用分配的名稱而不是變量名稱創建操作?

op1 = left * right
op2 = tf.multiply(left,right)

顯然第一個不起作用,因為python沒有名為“ left”或“ right”的變量,但似乎在第二種情況下,我應該能夠引用這些名稱。 如果沒有,我為什么還要在張量上設置名稱呢?

以防萬一,我在AWS Sagemaker上執行此操作conda_tensorflow_p36

您應該可以使用get_tensor_by_name

tensor_left = tf.get_default_graph().get_tensor_by_name("left")
tensor_right = tf.get_default_graph().get_tensor_by_name("right")
op = tf.multiply(tensor_left, tensor_right)

所以關於通過名稱獲取tf.placeholder問題 (使用get_tensor_by_name

獲得結果的類似SO問題

要通過名稱獲取tf.Operation,可以使用tf.Graph.get_operation_by_name

op = tf.get_default_graph().get_operation_by_name("left")
op = tf.get_default_graph().get_operation_by_name("right")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM