1. 程式人生 > >tensorflow中文手冊 基本用法py3的程式碼(與內部的錯誤修正)

tensorflow中文手冊 基本用法py3的程式碼(與內部的錯誤修正)

文章目錄

程式碼一

import tensorflow as tf

# 建立一個常量 op, 產生一個 1x2 矩陣. 這個 op 被作為一個節點
# 加到預設圖中.
#
# 構造器的返回值代表該常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])

# 建立另外一個常量 op, 產生一個 2x1 矩陣.
matrix2 = tf.constant([[2.],[2.]])

# 建立一個矩陣乘法 matmul op , 把 'matrix1' 和 'matrix2' 作為輸入.
# 返回值 'product' 代表矩陣乘法的結果.
product = tf.matmul(matrix1, matrix2) # 啟動預設圖. sess = tf.Session() # 呼叫 sess 的 'run()' 方法來執行矩陣乘法 op, 傳入 'product' 作為該方法的引數. # 上面提到, 'product' 代表了矩陣乘法 op 的輸出, 傳入它是向方法表明, 我們希望取回 # 矩陣乘法 op 的輸出. # # 整個執行過程是自動化的, 會話負責傳遞 op 所需的全部輸入. op 通常是併發執行的. # # 函式呼叫 'run(product)' 觸發了圖中三個 op (兩個常量 op 和一個矩陣乘法 op) 的執行.
# # 返回值 'result' 是一個 numpy `ndarray` 物件. result = sess.run(product) print(result) # ==> [[ 12.]] # 任務完成, 關閉會話. sess.close()

程式碼二

import tensorflow as tf

# 建立一個常量 op, 產生一個 1x2 矩陣. 這個 op 被作為一個節點
# 加到預設圖中.
#
# 構造器的返回值代表該常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])

# 建立另外一個常量 op, 產生一個 2x1 矩陣.
matrix2 =
tf.constant([[2.],[2.]]) # 建立一個矩陣乘法 matmul op , 把 'matrix1' 和 'matrix2' 作為輸入. # 返回值 'product' 代表矩陣乘法的結果. product = tf.matmul(matrix1, matrix2) with tf.Session() as sess: result = sess.run([product]) print(result)

程式碼三

import tensorflow as tf



with tf.Session() as sess:
    # 建立一個常量 op, 產生一個 1x2 矩陣. 這個 op 被作為一個節點
    # 加到預設圖中.
    #
    # 構造器的返回值代表該常量 op 的返回值.
    matrix1 = tf.constant([[3., 3.]])

    # 建立另外一個常量 op, 產生一個 2x1 矩陣.
    matrix2 = tf.constant([[2.], [2.]])

    # 建立一個矩陣乘法 matmul op , 把 'matrix1' 和 'matrix2' 作為輸入.
    # 返回值 'product' 代表矩陣乘法的結果.
    product = tf.matmul(matrix1, matrix2)
    result = sess.run([product])
    print(result)

程式碼四

不是tf.sub,是tf.subtract

# 進入一個互動式 TensorFlow 會話.
import tensorflow as tf
sess = tf.InteractiveSession()

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

# 使用初始化器 initializer op 的 run() 方法初始化 'x' 
x.initializer.run()

# 增加一個減法 sub op, 從 'x' 減去 'a'. 執行減法 op, 輸出結果 
sub = tf.subtract(x, a)
print(sub.eval())
# ==> [-2. -1.]

程式碼五

import tensorflow as tf
# 建立一個變數, 初始化為標量 0.
state = tf.Variable(0, name="counter")

# 建立一個 op, 其作用是使 state 增加 1

one = tf.constant(1)
new_value = tf.add(state, one)
update = tf.assign(state, new_value)

# 啟動圖後, 變數必須先經過`初始化` (init) op 初始化,
# 首先必須增加一個`初始化` op 到圖中.
init_op = tf.initialize_all_variables()

# 啟動圖, 執行 op
with tf.Session() as sess:
  # 執行 'init' op
  sess.run(init_op)
  # 列印 'state' 的初始值
  print(sess.run(state))
  # 執行 op, 更新 'state', 並列印 'state'
  for _ in range(3):
    sess.run(update)
    print(sess.run(state))

# 輸出:

# 0
# 1
# 2
# 3

程式碼六

tf.mul改成tf.multply,with tf.Session(): 改成with tf.Session() as sess:

import tensorflow as tf
input1 = tf.constant(3.0)
input2 = tf.constant(2.0)
input3 = tf.constant(5.0)
intermed = tf.add(input2, input3)
mul = tf.multiply(input1, intermed)

with tf.Session() as sess:
  result = sess.run([mul, intermed])
  print(result)

# 輸出:
# [array([ 21.], dtype=float32), array([ 7.], dtype=float32)]

程式碼七

tf.types.float32改成tf.float32,tf.mul改成tf.multiply

import tensorflow as tf
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)

with tf.Session() as sess:
  print(sess.run([output], feed_dict={input1:[7.], input2:[2.]}))

# 輸出:
# [array([ 14.], dtype=float32)]