3.1 张量、计算图、会话

基于Tensorflow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。

张量(tensor):多维数组(列表)    阶:张量的维数

维数 名字 例子
0-D 0 标量 scalar s=1 2 3 ,表示一个书
1-D 1 向量 vector v=[1,2,3]    表示一维数组
2-D 2 矩阵 matrix m=[[1,2,3],[4,5,6],[7,8,9]] 表示二维数组
n-D n 张量 tensor t=[[[.....     注:n个[代表n阶

张量可以表示0阶到n阶数组(列表)

  • 数据类型:tf.float32      tf.int32  加法实例的计算:
import tensorflow as tf
a = tf.constant([1.0,2.0])
b = tf.constant([3.0,4.0])

result = a+b
print result

显示:

Tensor("add:0",shape=(2,),dtype=float32)

计算图只描述了计算过程,不运行计算结果

下面运行第一个tensorflow框架的实例:

会话(Session):执行计算图中的节点运算

  1 import tensorflow as tf
  2 x = tf.constant([[1.0,2.0]])
  3 w = tf.constant([[3.0],[4.0]])
  4 y = tf.matmul(x,w)     # 实现矩阵乘法运算
  5 print y
  6 with tf.Session() as sess:
  7     print sess.run(y)
                        

运行后,会出现结果,同时也出现了一些warning,原因在于电脑支持一些加速的指令,但是运行代码时,并没有启动这些指令,因此可以把这些提示暂时屏蔽掉,方法如下,进入bashrc文件,进入的方法如下:

vim ~/.bashrc

然后在该文件中加入:

export TF_CPP_MIN_LOG_LEVEL=2

以降低tensorflow的提示等级,然后ESC键:wq  保存退出后,在终端中输入:

source ~/.bashrc

即实现设置生效的作用。再运行上述代码时,即只会出现结果,而不会出现相关的warning的提示信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章