• tensorflow 使用 3 模型学习


    模型学习

    import tensorflow as tf
    import numpy as np
    
    #  生成 100 个随机的点
    x_data = np.random.rand( 100 )
    y_data = x_data * 0.1 + 0.2
    
    # 构造个线性模型
    b = tf.Variable( 0.)
    k = tf.Variable( 0.)
    y = k * x_data + b
    
    # 二次代价函数
    loss = tf.reduce_mean( tf.square(y_data-y) )
    
    # 定义一个梯度下降法的优化器
    optimizer = tf.train.GradientDescentOptimizer( 0.2 )
    
    # 最小化代价函数
    train = optimizer.minimize( loss )
    #  loss 越小越接近于上边的线性模型真实值
    
    # 初始化变量
    init = tf.global_variables_initializer()
    
    with tf.Session() as sess:
      sess.run( init )
      for step in range( 201 ):
        sess.run( train )
        
        # 每 20 次打印下
        if step % 20 == 0:
          print( step, sess.run([b, k]) )
    

      

    0   [0.09943417, 0.051246386]
    20  [0.19920087, 0.10154804]
    40  [0.19950311, 0.10096269]
    60  [0.19969101, 0.100598656]
    80  [0.19980785, 0.10037227]
    100 [0.19988051, 0.100231506]
    120 [0.1999257, 0.10014396]
    140 [0.1999538, 0.10008951]
    160 [0.19997126, 0.10005567]
    180 [0.19998214, 0.100034624]
    200 [0.19998889, 0.10002153]
    

      

    实验得出, k , b 的值,不管初次是多少,经过学习后 b 会接近 0.2, a 会接近 0.1

  • 相关阅读:
    windows 保留7天的文件
    同步
    bytes数据类型的转码问题:
    hashlib,logging,configparser模块
    面向对象 ---封装
    面向对象 -----多态
    面向对象 ---继承
    面向对象的命名空间与组合
    常用模块:
    匿名函数:
  • 原文地址:https://www.cnblogs.com/gdwz922/p/10636892.html
Copyright © 2020-2023  润新知