基于TensorFlow的NN: 用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。
张量(Tensor):多维数组(列表)
阶: 张量的维数
n阶 张量 | 名字及例子 |
---|---|
0 | 标量,s=123 |
1 | 向量,v=[1,2,3] |
2 | 矩阵,m=[[1,2,3],[4,5,6],[7,8,9]] |
n | 张量 ,t=[[[…n个 |
张量可以表示0阶到n阶数组(列表)
未来会常用vim编辑器,为了方便,我们先修改vim的配置文件:
vim ~/.vimrc写入:
set ts=4 使tab键等效为4个空格
set nu 使vim显示行号
TensorFlow的数据类型:tf.float32、tf.int32…
import tensorflow as tf 导入tensorflow模块
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)
表示:“节点名:第0个输出”,维度=一维数组长度为2,数据类型
结果截图:
计算图:(Graph)搭建神经网络的计算,只搭建,不运算(只描述运算过程)
y=XW=x1w1+x2w2
import tensorflow as tf
x = tf.constant([[1.0,2.0]]) 两行一列
w=tf.constant([[3.0],[4.0]]) 一行两列
y=tf.matmul(x,w)
print y
显示:
Tensor("matmul:0",shape(1,1),dtype=float32) 结果shape一行一列
结果截图:
以上得到的只是图,不是结果,如果想得到结果就要用到会话了。
会话:(Session)执行计算图中的节点运算。