1、TensorFlow程序通常被组织成一个构建图阶段和一个执行图阶段
在构建阶段,数据与操作的执行步骤被描述成一个图;在执行阶段,使用会话执行构建好的图中的操作。
- 图和会话
- 图(静态的):定义了数据和操作
- 这是TensorFlow将计算表示为指令之间的依赖关系的一种表示法
- 会话(动态的):TensorFlow跨一个或多个本地或远程设备运行数据流图的机制
- 张量:TensorFlow中的基本数据对象
- 节点:提供图当中执行的操作
2、两个阶段的介绍
- 构建图阶段
- 流程图:定义数据(张量Tensor)和操作(节点Operation)
- 执行图阶段
- 调用各方资源,将定义好的数据和操作运行起来
注:数据是由张量定义的,操作是由节点定义的。整个从构建到执行的过程就构成一个数据流图
3、案例分析
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
def tensorflow_demo():
'''
TensorFlow 加法操作
:return:
'''
a = 10
b = 20
c = a + b
print("c=", c)
# 构建图的过程
a_t = tf.constant(10)
b_t = tf.constant(20)
c_t = tf.add(a_t, b_t)
print("tensorflow add:", c_t)
#start session,执行图的过程
with tf.compat.v1.Session() as sess:
sum_t = sess.run(c_t)
print("sess sum_t: ", sum_t)
return None
if __name__ == '__main__':
tensorflow_demo()
4、问题
(1)解决办法
该问题是:CPU本身是支持一些指令的,该指令适合一些线性代数的操作,会对其进行加速,但是安装使用pip install的方式,所以加速就没有用起来,如果需要加速,就需要源码安装(GitHub),至此之后该警告就会消失
如果没有进行源码安装的话,还想着去掉这个警告,就需要导入os库:
import os
#修改日志的等级
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'