【tensorflow】tensorflow入门小例子
tensorflow
一个面向所有人的开源机器学习框架
项目地址:https://gitcode.com/gh_mirrors/te/tensorflow
免费下载资源
·
最近学习了下tensorflow,感觉这玩意有点类似matlab拟合曲线。给你一堆数据,然后进行数学建模,然后求出合适的模型中的各个参数
来看看下面这个例子,我们构造一些离散的点,这些点我们暂且从 y = 0.1x + 0.3 (样本函数)这个曲线中拿得。
根据这些点的特征,我们大概建立一个线性模型 y = Wx + b,然后把这些点喂给tensorflow,求出越来越精确的W和b的值
详细源码及解释如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# author: arvik
# blog: http://blog.csdn.net/u012819339
# email: 1216601195@qq.com
#本例子取一个一次函数(y = Wx + B)上的一些离散的点,给tensorflow训练,让tensorflow得出一次函数中的权重W和偏移量B
import tensorflow as tf
import numpy as np
#构造一些离散的点
x_data = np.random.rand(1000).astype(np.float32)
y_data = x_data * 0.1 + 0.3
#tensorflow建模
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) #设置权重的初始值1以及变化范围(-1, 1)
biases = tf.Variable(tf.zeros([1])) #设置偏移量的初始值为0
y = Weights * x_data + biases #对以上离散的点建立一个一次函数的数学模型
#实际值和预测值的差值平方再求平均值,训练的目的就是要让这个loss越来越小
loss = tf.reduce_mean(tf.square(y-y_data))
#优化器,,目前选择梯度下降法来优化,步长(学习效率)选择0.5
optimizer = tf.train.GradientDescentOptimizer(0.5)
#训练目的,减少loss
train = optimizer.minimize(loss)
#初始化所有的变量
#init = tf.initialize_all_variables() #该函数已经被弃用
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
#训练
for step in range(400):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(Weights), sess.run(biases))
sess.close()
效果:
运行了两次,我们发现W和b值越来越接近我们的样本函数中的参数值
GitHub 加速计划 / te / tensorflow
184.54 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:26 天前 )
a49e66f2
PiperOrigin-RevId: 663726708
1 个月前
91dac11a
This test overrides disabled_backends, dropping the default
value in the process.
PiperOrigin-RevId: 663711155
1 个月前
更多推荐
已为社区贡献6条内容
所有评论(0)