一个菜鸡的自强之路-线性函数实例剖析

各种模块各种函数一一查询,还是不是很理解线性函数的实现,作为菜鸡先记录下来,留作以后复盘使用。废话不多说,先进入正题。

一、实例代码

一个菜鸡的自强之路-线性函数实例剖析_第1张图片

当然我是一个比较懒的人,为了防止下次还需要重新手敲代码,所以这里肯定会贴一个源代码的。 

# -*- coding: UTF-8 -*-
import tensorflow as tf
import numpy as np
#导入tensorflow和numpy模块做别名为tf和np
x_data = np.random.rand(100).astype(np.float32)
#在0到1中生成100个随机数,随机数的类型为float32,且赋值给x_data
y_data = x_data*0.6 + 0.6
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
#定义图变量Weights的初始值是在-1.0到1.0之间的一维数组
biases = tf.Variable(tf.zeros([1]))
#定义图变量biases的初始值是0.的一维数组
y= Weights*x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data))
#训练结果与测试值差平方的平均值
optimizer = tf.train.GradientDescentOptimizer(0.01)
#创建一个optimizer,用梯度下降算法以0.1的学习速率
train = optimizer.minimize(loss)
#通过var_list来减小loss的值
init = tf.initialize_all_variables()
#初始化变量。
sess = tf.Session()
sess.run(init)
for sik in range(50001):
        sess.run(train)
        if sik % 200 == 0:
                print(sik,sess.run(Weights),sess.run(biases))
print(sik,sess.run(Weights),sess.run(biases))

 

二、模块函数小解

1、numpy.random.rand()

格式:numpy.random.rand(d0, d1, ..., dn)

意义:Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1).(创建一个给定类型的数组,将其填充在一个均匀分布的随机样本[0, 1)中)

举例:

一个菜鸡的自强之路-线性函数实例剖析_第2张图片

2、tensorflow.random_uniform()

格式:tensorflow.random_uniform( shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None )

意义:用于填充随机均匀值的指定形状的张量.

举例:

一个菜鸡的自强之路-线性函数实例剖析_第3张图片

 

3、tensorflow.Variable()

格式:tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True, name=None)

意义:定义图变量

4、tensorflow.zeros()

格式:tf.zeros(shape,dtype=tf.float32,name=None)

意义:定义数组以0.填充值

实例:

一个菜鸡的自强之路-线性函数实例剖析_第4张图片

5、tensorflow.reduce_mean()

格式:reduce_mean( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None )

意义:计算数组的平均值。axis=None,求所有元素的平均值;axis=0,跨行取平均值;axis=1,行平均值。

实例:

一个菜鸡的自强之路-线性函数实例剖析_第5张图片

6、tensorflow.square()

格式:square( x, name=None )

意义:平方

实例:

一个菜鸡的自强之路-线性函数实例剖析_第6张图片

7、tensorflow.train.GradientDescentOptimizer()

格式:tf.train.GradientDescentOptimizer(learning_rate, use_locking=False,name='GradientDescent')

意义:创建一个梯度下降优化器对象

 

下一篇:一个菜鸡的自强之路-MNIST手写数字分类问题(基础篇)

你可能感兴趣的:(AI从入门到放弃)