tensorflow实例(1)--变量、常量的定义与使用

本文将通过三个例子来详细说明tensorflow中如何定义、使用变量与常量

在window下安装python与tensorflow的方法可参考我的另一篇文章

win7 64 位 Visual studio 环境下,使用whl依赖包,搭建python3.5 机器学习开发环境


# -*- coding:utf-8 -*- 
import tensorflow as tf

print('-'*30+'例一定义变量')
m1=tf.Variable([[1,2,3],[4,5,6]]) #定义两行三列变量
m2=tf.Variable([[1,2],[3,4],[5,6]]) # 定义三行两列变量
result=tf.matmul(m1,m2)
'''
定义矩阵相乘 即,如果你对矩阵乘法不了解,建议先回头学学线性代数,这相当重要
1,2,3       1,2
4,5,6   *   3,4
              5,6
注意:这里是定义,不是计算,在tensorflow中的计算要通过sess.run来完成,
这与通常的语言在写法上是有一定的差异
'''

#计算方法一
with tf.Session() as sess:          # tf.Session()进行实例化
    sess.run(tf.initialize_all_variables())  #初始化所以变量,即m1,m2, 另特别注意是,2017-03-02之后的版本使用tf.global_variables_initializer()进行初始化
    print(sess.run(result))         # result不算是变量,是一个计算过程的定义,通过sess.run(result)运行

#计算方法二
sess=tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(result))
sess.close()    #与方法一不同之处在此行,使用完后需要关闭以释放资源,需要对sess进行关闭,方法一则不用
print('-'*30+'例一结束\r\n')


print('-'*30+'例二:定义常量')
m1=tf.constant([[1,2,3],[4,5,6]]) #定义两行三列常量
m2=tf.constant([[1,2],[3,4],[5,6]]) # 定义三行两列常量
result=tf.matmul(m1,m2)
with tf.Session() as sess:
    print(sess.run(result))  #与例一不同,在result计算过程中使用的是m1与m2是常量,不需要进行初始化
print('-'*30+'例二结束\r\n')

print('-'*30+'例三;实现高斯求和')
'''
tensorflow来写这个,是代码又多又麻烦,当然我们的目的是理解tensorflow变量与常量的使用,坚持一下
'''
numer=tf.Variable(0)
sumValue=tf.Variable(0)
step=tf.constant(1)

new_numer=tf.add(numer,step)            #定义一个计算过程 new_numer,实现数字,1,2,3,...
update_numer=tf.assign(numer,new_numer) #将new_numer的值更新至 numer

new_sumValue=tf.add(sumValue,numer)     #定义一个计算过程 new_sumValue,实现数字sumValue 不断的加上 numer
update_sumValue=tf.assign(sumValue,new_sumValue) #将new_sumValue的值更新至 sumValue
with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    for i in range(100):
        sess.run(update_numer)
        sess.run(update_sumValue)
    print(sess.run(sumValue))
print('-'*30+'例三结束')




你可能感兴趣的:(python,机器学习)