TensorFlow
基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。
张量
多维数组(列表),用阶表示张量的维数。
维数 | 阶 | 名字 | 例子 |
---|---|---|---|
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=[[[ ... |
计算图
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)
- add:0 :add表示节点名、0表示第0个输出;
- (2,) :只有一个数字说明只有一个维度,是一个长度为2的一位数组;
- float32 :元素类型;
这段简单的代码所描述的就是一个计算过程,就是一张计算图;
从程序的输出可以看出,result只是个张量,并没有实际运算张量具体的值,这就是计算图的本质,它只负责搭建神经网络的计算过程,不计算结果。
会话
执行计算图中的节点运算
import tensorflow as tf
x = tf.constant([[1.0, 2.0]])
w = tf.constant([[3.0], [4.0]])
y = tf.matmul(x, w)
with tf.Session() as sess:
print sess.run(y)
# 程序运行结果
# [[ 11.]]
网友评论