基于TensorFlow的2个机器学习简单应用实例
生活随笔
收集整理的這篇文章主要介紹了
基于TensorFlow的2个机器学习简单应用实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據數據建立了一個線性模型,并設計了一個損失模型。?在我們的線性模型 y=W×x+b中,不斷的改變W和b的值,來找到一個使loss最小的值。使用梯度下降(Gradient Descent)優化算法,通過不斷的改變模型中變量的值,來找到最小損失值。
1、實例一
#引入TensorFlow模塊 import tensorflow as tf#創建節點保存W和b,并初始化 W = tf.Variable([0.1], tf.float32) b = tf.Variable([-0.1], tf.float32)#定義節點x,保存輸入x數據 x = tf.placeholder(tf.float32)#定義線性模型 linear_model = W * x + b#定義節點y,保存輸入y數據 y = tf.placeholder(tf.float32)#定義損失函數 loss = tf.reduce_sum(tf.square(linear_model - y))#初始化 init = tf.global_variables_initializer()#定義session sess = tf.Session()#訓練數據 x_train = [1,2,3,6,8] y_train = [4.8,8.5,10.4,21.0,25.3]sess.run(init)#定義優化器 opti = tf.train.GradientDescentOptimizer(0.001) train = opti.minimize(loss)#迭代 for i in range(10000):sess.run(train, {x:x_train, y:y_train})#打印結果 print('W:%s b:%s loss:%s' %(sess.run(W), sess.run(b), sess.run(loss, {x:x_train, y:y_train})))結果如下:
2、實例二
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt# Prepare train data train_X = np.linspace(-1, 1, 100) train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.33 + 10# Define the model X = tf.placeholder("float") Y = tf.placeholder("float") w = tf.Variable(0.0, name="weight") b = tf.Variable(0.0, name="bias") loss = tf.square(Y - X*w - b) train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)# Create session to run with tf.Session() as sess:sess.run(tf.global_variables_initializer())epoch = 1for i in range(10):for (x, y) in zip(train_X, train_Y):_, w_value, b_value = sess.run([train_op, w, b],feed_dict={X: x,Y: y})print("Epoch: {}, w: {}, b: {}".format(epoch, w_value, b_value))epoch += 1#draw plt.plot(train_X,train_Y,"+") plt.plot(train_X,train_X.dot(w_value)+b_value) plt.show()結果如下:
總結
以上是生活随笔為你收集整理的基于TensorFlow的2个机器学习简单应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】我的第一个基于TensorF
- 下一篇: 两句话讲清楚CNN中的Pooling和D