1. 程式人生 > >tf的整體流程

tf的整體流程

# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np


# 1.準備資料:使用 NumPy 生成假資料(phony data), 總共 100 個點.
x_data = np.float32(np.random.rand(2, 100))
y_data = np.dot([0.100, 0.200], x_data) + 0.300

# 2.構造一個線性模型
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1,2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b

# 3.求解模型
# 設定損失函式:誤差的均方差
loss = tf.reduce_mean(tf.square(y-y_data))
# 選擇梯度下降的方法
optimizer = tf.train.GradientDescentOptimizer(0.5)
# 迭代的目標:最小化損失函式
train = optimizer.minimize(loss)

############################################################
# 以下是用 tf 來解決上面的任務
# 1.初始化變數:tf 的必備步驟,主要聲明瞭變數,就必須初始化才能用
init = tf.global_variables_initializer()

# 2.啟動圖 (graph)
sess = tf.Session()
sess.run(init)

# 3.迭代,反覆執行上面的最小化損失函式這一操作(train op),擬合平面
for step in xrange(0, 201):
    sess.run(train)
    #train.run(session = sess)
    if step % 20 == 0:
        print step, sess.run(W), sess.run(b)