Tensorflow学习笔记(1)Tensorflow中的基本概念了解

Tensorflow中的基本概念

基本概念的解释

Tensorflow学习笔记(1)Tensorflow中的基本概念了解
可以大致给这几个概念分一个层级,Session是最高一级的概念,Session包括graphs,而graphs由Variable,Tensor,operation等概念组成。
而operation,tensor,variable又有其各自的关系,operation对tensor进行操作,产生新的tensor。variable用来暂存操作或者tensor,实现对整个计算过程状态的维护。

这些概念在代码中的体现,以及使用注意事项

Tensor

import tensorflow as tf
v1 = tf.constant([[3,3]])
v2 = tf.constant([[2],[3]])
product = tf.matmul(v1,v2)
print(product)

输出:

Tensor("MatMul_1:0", shape=(1, 1), dtype=int32)

可见在Tensorflow中,数据是以张量的形式存在的。直接打印,并不能打印出具体的数值。

Session

import tensorflow as tf
v1 = tf.constant([[3,3]])
v2 = tf.constant([[2],[3]])
product = tf.matmul(v1,v2)
print(product)
with tf.Session() as sess:
    result = sess.run(product)
    print(result)

输出:

Tensor("MatMul_2:0", shape=(1, 1), dtype=int32)
[[15]]

在这里我们定义了一个会话,在会话中进行计算。
有人可能会问,不是在graph中计算吗,这是由于tensorflow中的Session都有默认的graph,我们不需要再另外定义了。
另外要注意这里的创建Session的写法,这是一种通用的写法,要记住。

Variable

import tensorflow as tf
x = tf.Variable([1,2])
y = tf.constant([3,3])
sub = tf.subtract(x,y)
add = tf.add(x,sub)

init = tf.global_variables_initializer(#变量初始化
with tf.Session() as sess:
	sess.run(init)								#变量初始化
	print(sess.run(sub))
	print(sess.run(add))	

variable这部分要注意,在tensorflow中要使用变量是要先进行初始化的,即代码中带注释的句子。

输出:

[-2 -1]
[-1  1]