zoukankan      html  css  js  c++  java
  • tensorflow学习之(一)预测一条直线y = 0.1x + 0.3

    #预测一条y = 0.1x + 0.3的直线
    import tensorflow as tf
    import numpy as np       #科学计算模块
    
    '''
    tf.random_normal([784, 200]):指生成一个784*200的矩阵
    tf.zeros([2,3],int32)==>[[0,0,0],[0,0,0]]两行三列 同理tf.ones,tf.fill(产生一个全部为给定数字的数组),tf.constants(产生一个给定值的常量)
    '''
    
    #create data 自己编造的data
    x_data = np.random.rand(100).astype(np.float32)
    y_data = x_data*0.1 + 0.3       #所要预测的y,Weights 要接近0.1, biases 要接近0.3
    
    ###create tensorflow structure start ###
    Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))  #用随机变量生成的方式(random_uniform)生成变量(Variable),结构为1维,范围是-1到1
    biases = tf.Variable(tf.zeros([1])) #初始值定义为 0
    
    #预测 y
    y = Weights * x_data + biases
    
    loss = tf.reduce_mean(tf.square(y - y_data)) #令loss最小,提升y的准确度
    optimizer = tf.train.GradientDescentOptimizer(0.5)   #建立优化器,最基础的优化器GradientDescentOptimizer,学习效率为0.5(小于1)
    train = optimizer.minimize(loss) #神经网络的工作:减少误差,提升参数的准确度,优化loss
    
    init = tf.initialize_all_variables() #初始化变量
    ###create tensorflow structure end ###
    
    sess = tf.Session() #初始化前定义session
    sess.run(init) #激活initial,run指用session的指针指向init
    
    for step in range (201): #训练201步,run指用session的指针指向train,每隔20步打印一次
        sess.run(train)
        if step % 20 == 0:
            print(step,sess.run(Weights),sess.run(biases))


  • 相关阅读:
    排球运动规则简介
    我与计算机
    我和电脑的不解之缘
    作业
    怎样成为一个高手 观后感
    本周作业
    作业个人
    本周作业
    本周总结
    本周总结(13周)
  • 原文地址:https://www.cnblogs.com/Harriett-Lin/p/9590188.html
Copyright © 2011-2022 走看看