1. 程式人生 > >關於tensorflow的基本語法知識

關於tensorflow的基本語法知識

最近開始學習tensorflow,那麼在這裡把我學習過程中的感受講講。

首先是tensorflow的基本操作

在這裡我只貼上一小部分程式碼,附上中文的解釋,我覺得了解這些之後再去看官方文件應該知道怎麼入手了。

第一個當然是用tensorflow寫的 hello world啦。。。

import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

# 使用TensorFlow輸出Hello

# 建立一個常量操作( Constant op )
# 這個 op 會被作為一個節點( node )新增到預設計算圖上.
#
# 該建構函式返回的值就是常量節點(Constant op)的輸出.
hello = tf.constant('Hello, TensorFlow!')

# 啟動TensorFlow會話
sess = tf.Session()


# 執行 hello 節點
print(sess.run(hello))


'''
TensorFlow library 的基本操作.
'''
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

# 基本常量操作
# T建構函式返回的值就是常量節點(Constant op)的輸出.
a = tf.constant(2)
b = tf.constant(3)

# 啟動預設的計算圖
with tf.Session() as sess:
    print("a=2, b=3")
    print("常量節點相加: %i" % sess.run(a+b))
    print("常量節點相乘: %i" % sess.run(a*b))

# 使用變數(variable)作為計算圖的輸入
# 建構函式返回的值代表了Variable op的輸出 (session執行的時候,為session提供輸入)
# tf Graph input
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)

# 定義一些操作
add = tf.add(a, b)
mul = tf.multiply(a, b)

# 啟動預設會話
with tf.Session() as sess:
    # 把執行每一個操作,把變數輸入進去
    print("變數相加: %i" % sess.run(add, feed_dict={a: 2, b: 3}))
    print("變數相乘: %i" % sess.run(mul, feed_dict={a: 2, b: 3}))


# 矩陣相乘(Matrix Multiplication)
# 建立一個 Constant op ,產生 1x2 matrix.
# 該op會作為一個節點被加入到預設的計算圖
# 構造器返回的值 代表了Constant op的輸出
matrix1 = tf.constant([[3., 3.]])
# 建立另一個 Constant op 產生  2x1 矩陣.
matrix2 = tf.constant([[2.],[2.]])
# 建立一個 Matmul op 以 'matrix1' 和 'matrix2' 作為輸入.
# 返回的值, 'product', 表達了矩陣相乘的結果
product = tf.matmul(matrix1, matrix2)
# 為了執行 matmul op 我們呼叫 session 的 'run()' 方法, 傳入 'product'
# ‘product’表達了 matmul op的輸出. 這表明我們想要取回(fetch back)matmul op的輸出
# op 需要的所有輸入都會由session自動執行. 某些過程可以自動並行執行
#
# 呼叫 'run(product)' 就會引起計算圖上三個節點的執行:2個 constants 和一個 matmul.
# ‘product’op 的輸出會返回到 'result':一個 numpy `ndarray` 物件.
with tf.Session() as sess:
    result = sess.run(product)
    print('矩陣相乘的結果:', result)
    # ==> [[ 12.]]

#儲存計算圖
writer = tf.summary.FileWriter(logdir='logs', graph=tf.get_default_graph())
writer.flush()


當然更多的關於tensorflow的基本操作我就沒寫了,大家可以看看tensorflow官方教程裡面關於基本操作的介紹

當然這裡有一篇挺好博文:對於tensorflow入門基本知識講的還是挺全的:http://blog.csdn.net/lenbow/article/details/52152766

好啦,關於tensorflow的基礎知識就介紹到這裡了,祝大家學習生活愉快。