各种模块各种函数一一查询,还是不是很理解线性函数的实现,作为菜鸡先记录下来,留作以后复盘使用。废话不多说,先进入正题。
一、实例代码
当然我是一个比较懒的人,为了防止下次还需要重新手敲代码,所以这里肯定会贴一个源代码的。
# -*- 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、tensorflow.random_uniform()
格式:tensorflow.random_uniform( shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None )
意义:用于填充随机均匀值的指定形状的张量.
举例:
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.填充值
实例:
5、tensorflow.reduce_mean()
格式:reduce_mean( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None )
意义:计算数组的平均值。axis=None,求所有元素的平均值;axis=0,跨行取平均值;axis=1,行平均值。
实例:
6、tensorflow.square()
格式:square( x, name=None )
意义:平方
实例:
7、tensorflow.train.GradientDescentOptimizer()
格式:tf.train.GradientDescentOptimizer(learning_rate, use_locking=False,name='GradientDescent')
意义:创建一个梯度下降优化器对象