基本使用

来自软件实验室
跳转至: 导航搜索

1:图的概念 在tensorflow程序中,使用图来表示计算任务,图中的节点就是op,一个程序一般有连个阶段,一是构建阶段,二是执行阶段。构建阶段就是构建基本的模型,op在图中被定义好,执行阶段就是对模型进行反复的训练,就是op在图中进行训练。

简单点说就是建模的过程和训练模型的过程。

2:Variable变量

定义如下:

import tensorflow as tf

number = tf.Variable(1,name="number")
#定义一个常量
one = tf.constant(1)
#加起来
new_value = tf.add(number,one)
#更新
update = tf.assign(number,new_value)

这时候运行是没有结果的,需要进行下面的步骤

3:初始化

# init
'''下面两种方式都可以,推荐使用init2'''
#init1 = tf.initialize_all_variables()
init2 = tf.global_variables_initializer()

4:Session 会话控制

上面定义初始化后,必须放在Session中激活才能使用,类似于Hibernate中的Session,怎么激活呢?

## method 1
#两种都可以
#sess = tf.Session()
#sess.run(init2)
#result = sess.run(new_value)
#print(result)
#sess.close()

# method 2
with tf.Session() as sess:
    sess.run(init2)
    result2 = sess.run(new_value)
    print(result2)

5:Placeholder

Placeholder 就是指我们说的占位符,暂时储存变量,用的时候在传入进来。 怎么站位呢?

##定义占位符
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)

通过上面的方式定义一个占位符,通过下面的方式传值

 with tf.Session() as sess:
    sess.run(init)
    mul = tf.mul(a,b)
    print sess.run(mul,feed_dict={a:2.,b:2.})

feed_dict={}这个与上面定义的占位符对应出现,类似于json绑定的感觉。