環(huán)境:PyCharm 2.018.1.3 x64 ,Python 3.6
代碼如下:
import tensorflowas tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
#基本常量操作
#T構(gòu)造函數(shù)返回的值就是常量節(jié)點(diǎn)(Constant op)的輸出。
a=tf.constant(2)
b=tf.constant(3)
#啟動(dòng)默認(rèn)的計(jì)算圖
with tf.Session()as sess:
print("a=2,b=3")
print("常量節(jié)點(diǎn)相加:%i" % sess.run(a+b))
print("常量節(jié)點(diǎn)相乘:%i" % sess.run(a*b))
#使用變量(variable)作為計(jì)算圖的輸入
#構(gòu)造函數(shù)返回值代表了Variable op的輸出(session運(yùn)行的時(shí)候,為session提供輸入)
#tf Graph input
a=tf.placeholder(tf.int16)
b=tf.placeholder(tf.int16)
#定義一些操作
add=tf.add(a,b)
mul=tf.multiply(a,b)
#啟動(dòng)默認(rèn)會話
with tf.Session()as sess:
#把運(yùn)行的每一個(gè)操作,把變量輸入進(jìn)去
? ? print("變量相加:%i" % sess.run(add,feed_dict={a:2,b:3}))
print("變量相乘:%i" % sess.run(mul,feed_dict={a:2,b:3}))
#矩陣相乘(Matrix Multiplication)
#創(chuàng)建一個(gè)Constant op,產(chǎn)生1x2 matrix
#該op會作為一個(gè)節(jié)點(diǎn)被加入到默認(rèn)的計(jì)算圖
#構(gòu)造器返回值 代表了Constant op的輸出
matrix1=tf.constant([[3.,3.]])
#創(chuàng)建另一個(gè)Constant op 產(chǎn)生 2x1矩陣
matrix2=tf.constant([[2.],[2.]])
#創(chuàng)建一個(gè)Matmul op 以 'matrix1' 和'matrix2'作為輸入
#返回的值,'product',表達(dá)了矩陣相處的結(jié)果
product=tf.matmul(matrix1,matrix2)
# 為了運(yùn)行 matmul op 我們調(diào)用 session 的 'run()' 方法, 傳入 'product'
# ‘product’表達(dá)了 matmul op的輸出. 這表明我們想要取回(fetch back)matmul op的輸出
# op 需要的所有輸入都會由session自動(dòng)運(yùn)行. 某些過程可以自動(dòng)并行執(zhí)行
#
# 調(diào)用 'run(product)' 就會引起計(jì)算圖上三個(gè)節(jié)點(diǎn)的執(zhí)行:2個(gè) constants 和一個(gè) matmul.
# ‘product’op 的輸出會返回到 'result':一個(gè) numpy `ndarray` 對象.
with tf.Session()as sess:
result=sess.run(product)
print('矩陣相乘的結(jié)果:',result)
# ==>[[12.]]
#保存計(jì)算圖
writer=tf.summary.FileWriter(logdir='logs',graph=tf.get_default_graph())
writer.flush()
來自 ? ?人工智能社區(qū) ? ?http://www.studyai.com/