博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tensorflow的基本用法(一)
阅读量:3977 次
发布时间:2019-05-24

本文共 1364 字,大约阅读时间需要 4 分钟。

文章作者:Tyan

博客:  |   | 

本文主要是以求解线性回归的参数为例,讲解一下tensorflow的用法。下面的代码中我们自己构建了一个线性回归模型y = 0.1 * x + 0.3,然后我们使用tensorflow来进行了求解。Demo源码及解释如下:

#!/usr/bin/env python# _*_ coding: utf-8 _*_import tensorflow as tfimport numpy as np# 随机生成100个浮点数x_data = np.random.rand(100).astype(np.float32)# y=0.1*x+0.3,这样就构造了训练数据(x_data,y_data)y_data = x_data * 0.1 + 0.3# 定义线性回归的权重参数Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))# 定义线性回归的偏置参数Biases = tf.Variable(tf.zeros([1]))# 构建线性回归模型y = Weights * x_data + Biases# 计算线性回归的损失函数loss = tf.reduce_mean(tf.square(y - y_data))# 定义线性回归的求解方法,梯度下降法,学习率为0.5optimizer = tf.train.GradientDescentOptimizer(0.5)# 使用tensorflow求解train = optimizer.minimize(loss)# 初始化tensorflow的所有变量init = tf.global_variables_initializer()# 定义tensorflow的sessionsess = tf.Session()# 将初始化数据放入到session中,执行时会用到sess.run(init)# 迭代201次求解线性回归参数for step in range(201):    # session执行训练    sess.run(train)    if step % 20 == 0:        # 每迭代二十次输出一次结果        print step, sess.run(Weights), sess.run(Biases)

执行结果如下图:

0 [ 0.46898228] [ 0.12989661]20 [ 0.18490312] [ 0.25323763]40 [ 0.1203066] [ 0.28881568]60 [ 0.10485679] [ 0.29732502]80 [ 0.10116163] [ 0.29936022]100 [ 0.10027781] [ 0.29984701]120 [ 0.10006645] [ 0.29996341]140 [ 0.10001589] [ 0.29999125]160 [ 0.10000382] [ 0.29999793]180 [ 0.10000091] [ 0.29999951]200 [ 0.10000024] [ 0.29999989]

从结果中可以看出,求解的结果还是很准确的。

参考资料

转载地址:http://ycwui.baihongyu.com/

你可能感兴趣的文章
S3C2440上触摸屏驱动实例开发讲解(…
查看>>
Android驱动例子(LED灯控制)(1…
查看>>
第二章 Android内核和驱动程序(转)
查看>>
第一章 Android系统介绍
查看>>
Android电源管理(zz)
查看>>
Android HAL基础
查看>>
Android电源管理(zz)
查看>>
Android平台开发-Android HAL deve…
查看>>
Android HAL基础
查看>>
2011年06月21日
查看>>
2011年06月21日
查看>>
Android Sensor传感器系统架构初探
查看>>
Android的传感器HAL层的书写---基…
查看>>
生成和使用动态链接库和静态链接库…
查看>>
linux工作队列(转)
查看>>
工作队列的初始化(INIT_WORK的参…
查看>>
sysfs and /proc/bus/usb/device
查看>>
linux工作队列(转)
查看>>
跟我一起写udev规则(译)
查看>>
sysfs and /proc/bus/usb/device
查看>>