1. 程式人生 > >tensorflow中的 張量(tensor)與節點操作(OP)

tensorflow中的 張量(tensor)與節點操作(OP)

#所以需要注意的是 張量 不是 節點操作(OP)


#tensor1 = tf.matmul(a,b,name='exampleop')   


#上面這個  定義的只是一個張量,是在一個靜態的圖(graph)中的


#張量在 定義完成之後是不會進行操作的,想要進行操作就必須使用  節點操作  也就是OP來執行,才能計算出ab矩陣的乘積

 

#OP其實是在描述  張量  中的運算關係

可以參照下面的這個例子,來理解tensorflow中  張量  與  節點操作  之間的關係

import tensorflow as tf

tf.reset_default_graph()

a = tf.constant([[1.0,2.0]])
b = tf.constant([[1.0],[3.0]])

tensor1 = tf.matmul(a,b,name='exampleop')
print(tensor1.name,tensor1)

g3 = tf.get_default_graph()

#注意 tensor的名字是定義的 name 再加上  :0,也就是   name:0
#把找到的tensor複製給這個變數,也就是說test和tensor1是一樣的
test = g3.get_tensor_by_name('exampleop:0')
print(test)

print(tensor1.op.name)


#獲取節點操作 OP
testop = g3.get_operation_by_name("exampleop")
print("a:",a.name)
print("b:",b.name)
print(testop)


with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    
    test = sess.run(test)
    print(test)
    
    test = tf.get_default_graph().get_tensor_by_name("exampleop:0")
    print(test)