zoukankan      html  css  js  c++  java
  • TensorFlow——热身运动:简单的线性回归

    过程:

    先用numpy建立100个数据点,再用梯度下滑工具来拟合,得到完美的回归线。

     1 # _*_coding:utf-8_*_
     2 import tensorflow as tf
     3 import numpy as np
     4 
     5 # 用numpy建立100个数据点,y=x*0.1+0.3
     6 x_data = np.random.rand(100).astype("float32")
     7 y_data = x_data*0.1+0.3
     8 
     9 # 建立权值变量W和偏移量变量b
    10 W = tf.Variable(tf.random_uniform([1],-1.0,1.0))
    11 b = tf.Variable(tf.zeros([1]))
    12 y = W * x_data + b
    13 
    14 # 最小化均方差
    15 loss = tf.reduce_mean(tf.square(y - y_data))
    16 optimizer = tf.train.GradientDescentOptimizer(0.5)  #train里面有最优化函数
    17 train = optimizer.minimize(loss)    #gradient descent 作用的是代价函数
    18 
    19 # 变量使用前要初始化
    20 init = tf.initialize_all_variables()
    21 
    22 # 载入图(在一个session被建立并且run()函数被运行前,TensorFlow不会进行任何实质的计算)
    23 sess = tf.Session()     # 会话将图的 op 分发到如 CPU 或 GPU 之类的 设备 (Devices()) 上, 同时提供 执行 op 的方法
    24 sess.run(init)
    25 
    26 # 调整线
    27 for step in xrange(201):
    28     sess.run(train)
    29     if step % 20 == 0:
    30         print (step, sess.run(W), sess.run(b))

    运行结果:

    (0, array([ 0.32897317], dtype=float32), array([ 0.2412499], dtype=float32))
    (20, array([ 0.15775403], dtype=float32), array([ 0.26956022], dtype=float32))
    (40, array([ 0.11639664], dtype=float32), array([ 0.29135802], dtype=float32))
    (60, array([ 0.1046551], dtype=float32), array([ 0.29754651], dtype=float32))
    (80, array([ 0.10132162], dtype=float32), array([ 0.29930344], dtype=float32))
    (100, array([ 0.10037522], dtype=float32), array([ 0.29980224], dtype=float32))
    (120, array([ 0.10010655], dtype=float32), array([ 0.29994386], dtype=float32))
    (140, array([ 0.10003026], dtype=float32), array([ 0.29998407], dtype=float32))
    (160, array([ 0.10000858], dtype=float32), array([ 0.29999548], dtype=float32))
    (180, array([ 0.10000245], dtype=float32), array([ 0.29999873], dtype=float32))

    符合:y=x*0.1+0.3

  • 相关阅读:
    给自己一个书单
    pureMVC学习之一
    泛型与无聊
    队列与DelphiXe新语法
    有道理的前端
    具备 jQuery 经验的人如何学习AngularJS(附:学习路径)
    Blogging with github Pages
    Cookie/Session机制
    通往全栈工程师的捷径 —— react
    女生应该找个有独立博客的男朋友
  • 原文地址:https://www.cnblogs.com/DianeSoHungry/p/7143392.html
Copyright © 2011-2022 走看看