机器学习深度学习的各种骚套路

TensorFlow的基本使用

2020-06-06  本文已影响0人  大海龟啦啦啦

TensorFlow的一些基础函数的使用

tf.placeholder、tf.Variable、tf.multiply、tf.reduce_sum、tf.pow、tf.train.GradientDescentOptimizer(0.001).minimize(loss)、tf.train.AdagradOptimizer、tf.train.AdamOptimizer、sess = tf.Session()、tf.global_variables_initializer()、sess.run()

import tensorflow as tf
import numpy as np
#通过引入os模块的这个功能,可以实现机器的SSE指令来加速CPU的计算
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
#   通过np.random.rand()可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。
inputX = np.random.rand(100)
#   np.multiply()是计算叉乘的,而np.dot()计算点乘。
inputY = np.multiply(3 , inputX) + 1
#   placeholder()函数是在神经网络构建graph的时候在模型中的  占位  ,此时并没有把要输入的数据传入模型,它只会分配必要的内存。
#   等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据。
x = tf.placeholder(tf.float32)
#   tf.Variable()是变量的声明函数,变量的初始值可以设置成随机数,常数或者是通过其他变量的初始值计算得到。
weight = tf.Variable(0.25)
bias = tf.Variable(0.25)
#   tf.multiply表示叉乘,点乘则是tf.matmul
y = tf.multiply(weight , x) + bias
y_ = tf.placeholder(tf.float32)
#   这一步是计算loss function,tf.reduce_sum()函数是求和函数,tf.pow(x , y)的意思是计算x^y,
#   在下一行中的意思就是计算(y-y_)^2,也就是计算root mean square。
loss = tf.reduce_sum(tf.pow((y - y_) , 2))
#   此步的作用即定义反向传播方法,tf.train.GradientDescentOptimizer为优化器,里面的0.001则是learning rate,
#   而minimize()的作用则是  1、计算loss对指定val_list的梯度(导数),返回元组列表;2、用计算得到的梯度来更新对应的变量(权重)。
#   以下的tf.train.GradientDescentOptimizer旨在对所有步骤中的所有变量使用恒定的学习率,
#   而如果需要自适应的learning rate的话可以使用tf.train.AdagradOptimizer和tf.train.AdamOptimizer等优化器
train_step = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
#   Session 是 Tensorflow 为了控制,和输出文件的执行的语句. 运行 session.run() 可以获得你要得知的运算结果, 或者是你所要运算的部分。
sess = tf.Session()
#   此函数是初始化模型的参数,当我们训练自己的神经网络的时候,无一例外的就是都会加上这一句 tf.global_variables_initializer().run()
#   或者 sess.run(tf.global_variables_initializer())
init = tf.global_variables_initializer()
#   初始化这些变量,相当于运算一次
sess.run(init)
for _ in range(1000):
    #   通过选取样本训练神经网络并更新参数,即选取的是feed_dict中的样本,更新的是train_step参数(因为train_step之前设置过优化器,所以是)
    sess.run(train_step , feed_dict={x:inputX , y_:inputY})

运行结果如下所示:

W的值为: 0.499787 ; bias的值为: 0.670009
W的值为: 1.58121 ; bias的值为: 1.73838
W的值为: 1.90081 ; bias的值为: 1.57591
W的值为: 2.14719 ; bias的值为: 1.44684
W的值为: 2.33834 ; bias的值为: 1.34668
W的值为: 2.48665 ; bias的值为: 1.26898
W的值为: 2.60171 ; bias的值为: 1.20869
W的值为: 2.69098 ; bias的值为: 1.16191
W的值为: 2.76025 ; bias的值为: 1.12562
W的值为: 2.81399 ; bias的值为: 1.09746
W的值为: 2.85568 ; bias的值为: 1.07562
W的值为: 2.88803 ; bias的值为: 1.05867
W的值为: 2.91313 ; bias的值为: 1.04552
W的值为: 2.9326 ; bias的值为: 1.03532
W的值为: 2.94771 ; bias的值为: 1.0274
W的值为: 2.95943 ; bias的值为: 1.02126
W的值为: 2.96852 ; bias的值为: 1.01649
W的值为: 2.97558 ; bias的值为: 1.0128
W的值为: 2.98105 ; bias的值为: 1.00993
W的值为: 2.9853 ; bias的值为: 1.0077
W的值为: 2.98859 ; bias的值为: 1.00598
W的值为: 2.99115 ; bias的值为: 1.00464
W的值为: 2.99313 ; bias的值为: 1.0036
W的值为: 2.99467 ; bias的值为: 1.00279
W的值为: 2.99587 ; bias的值为: 1.00217
W的值为: 2.99679 ; bias的值为: 1.00168
W的值为: 2.99751 ; bias的值为: 1.0013
W的值为: 2.99807 ; bias的值为: 1.00101
W的值为: 2.9985 ; bias的值为: 1.00078
W的值为: 2.99884 ; bias的值为: 1.00061
W的值为: 2.9991 ; bias的值为: 1.00047
W的值为: 2.9993 ; bias的值为: 1.00037
W的值为: 2.99946 ; bias的值为: 1.00028
W的值为: 2.99958 ; bias的值为: 1.00022
W的值为: 2.99967 ; bias的值为: 1.00017
W的值为: 2.99975 ; bias的值为: 1.00013
W的值为: 2.9998 ; bias的值为: 1.0001
W的值为: 2.99985 ; bias的值为: 1.00008
W的值为: 2.99988 ; bias的值为: 1.00006
W的值为: 2.99991 ; bias的值为: 1.00005
W的值为: 2.99993 ; bias的值为: 1.00004
W的值为: 2.99994 ; bias的值为: 1.00003
W的值为: 2.99996 ; bias的值为: 1.00002
W的值为: 2.99997 ; bias的值为: 1.00002
W的值为: 2.99997 ; bias的值为: 1.00001
W的值为: 2.99998 ; bias的值为: 1.00001
W的值为: 2.99998 ; bias的值为: 1.00001
W的值为: 2.99999 ; bias的值为: 1.00001
W的值为: 2.99999 ; bias的值为: 1.0
W的值为: 2.99999 ; bias的值为: 1.0

总共50行

上一篇 下一篇

猜你喜欢

热点阅读