基于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的提示信息。