我是靠谱客的博主 高高盼望,最近开发中收集的这篇文章主要介绍小白入门tensorflow小白入门tensorflow的第一个程序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

小白入门tensorflow的第一个程序

是一个很简单的线性回归,通过自己拟造的数据进行回归,纯粹是用来记录学习过程
以下部分全部是复制黏贴的,做的注释也都是只是为了自己看得懂

#标签是我们要预测的真实事情:Y
#特征是用于描述数据的输入变量:X_i
#梯度是指一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值即函数在该点沿着该方向变化最快,变化率最大
#梯度是矢量,具有方向和大小
#在开始学习之前就设置的参数叫做超参数。例如:学习率,深度学习隐藏层的层数,节点数等等。。。
#tensorflow的变量是用于保存和更新参数
import os#这两句的导入虽然不知道为什么,但是可以防止Session的定义和run出错,最好还是加上
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf

x_data=np.linspace(-1,1,100)#生成一个-1到1之间的等差数列,包含100个数
#初始设定w,b为2和1,即y=2x+1
y_data=2*x_data+1.0+np.random.randn(*x_data.shape)*0.4
#numpy.random.randn(d0, d1, …, dn) 是从标准正态分布中返回一个或多个样本值。
#numpy.random.rand(d0, d1, …, dn) 的随机样本位于[0, 1)中。
#……………………plt.scatter(x_data,y_data)
#……………………plt.plot(x_data,2*x_data+1.0,color="red",linewidth=3)
x=tf.placeholder(dtype=float,name='x')
y=tf.placeholder(dtype=float,name='y')
def model(x,w,b):
    return tf.add(tf.multiply(x,w),b)
w=tf.Variable(1.0,name='w0')
b=tf.Variable(0.0,name='w0')
pred=model(x,w,b)
train_epoches=10#训练迭代次数
learning_rate=0.05#学习率
loss_function=tf.reduce_mean(tf.square(y-pred))#均方差函数
optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)#这个得出来的是一个下降幅度?
sess=tf.Session()
init=tf.global_variables_initializer()
sess.run(init)
for epoch in range(train_epoches):
    for xs,ys in zip(x_data,y_data):#zip函数是将x_data和y_data组合起来,将每个元素变成一个(x,y)的二元组
        _,loss=sess.run([optimizer,loss_function],feed_dict={x:xs,y:ys})#对之前定义占位符的填充
        #这是两个变量分别对应optimizer和lost_function
        #optimizer相当于在节点内部对值已经做了梯度下降处理,赋予_的仍然是一个tensorflow中的一个节点,但是值的
        #改变并不需要通过赋值来实现,直接是在节点内部进行值的改变
    b0temp=b.eval(session=sess)
    w0temp=w.eval(session=sess)
 plt.plot(x_data,w0temp*x_data+b0temp)
plt.scatter(x_data,y_data,label='Original data')
plt.plot(x_data,x_data*sess.run(w)+sess.run(b),
         label='Fitted line',color='red',linewidth=3)
plt.legend(loc=2)
plt.show()

最后

以上就是高高盼望为你收集整理的小白入门tensorflow小白入门tensorflow的第一个程序的全部内容,希望文章能够帮你解决小白入门tensorflow小白入门tensorflow的第一个程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部