tensorflow的学习笔记–初步认识tensorflow
- 2020 年 1 月 21 日
- 筆記
几个概念
TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,由谷歌公司开发并开源免费使用。
在接触到的智能机器中,我们都需要先输入一段抽象的数据(语音,图片等),然后机器识别结果,输出我们想要的内容。
在机器诞生的前期,需要对机器进行训练和学习,使他有能力去认识
识别的样本,然后由样本来预测其他的结果。
在tensorflow
中使用张量
代表数据(可以简单理解为参数),使用计算图来搭建神经网络,使用会话执行计算图,优化对应的权重。
首先我们先介绍张量:
- 张量 多维数组和列表。对于不同维数的张量有不同的名称和表示方法:
标量:
一个数字,比如:1,2,3向量:
一个数组,[1,2,3]矩阵:
二位数组,[[1,2],[1,3],[2,3]]张量:
多维数组
tensorflow
的数据的类型很多,与日常编程的数据类型也有点相似之处,先不一一介绍,先看看怎么使用tensorflow
(使用pip命令安装对应的依赖模块)
import tensorflow as ts a=ts.constant([1.0,2.0])# 定义常数 b=ts.constant([3.0,4.0]) result=a+b print(result)
打印结果:Tensor("add:0", shape=(2,), dtype=float32)
add
表示节点名 0
第0个输出 shape
维度 (2,)
一维数组,长度为2 dtype
数据类型
从上面的打印结果可以看出,result
不是一个具体的结果,而是一个具体的计算过程。
简单的模型
看一个简单的数据模型

其中:Y=XW=w_1x_1+w_2x_2
具体使用tensorflow
实现代码如下:
import tensorflow as ts x=ts.constant([[1.0,2.0]])# 一行两列 w=ts.constant([[3.0],[4.0]]) # 两行一列 y=ts.matmul(x,w) print(y)
打印结果:Tensor("MatMul:0", shape=(1, 1), dtype=float32)
获得运算结果
计算图的值,需要用到sesion
,具体代码:
import tensorflow as ts x=ts.constant([[1.0,2.0]]) w=ts.constant([[3.0],[4.0]]) y=ts.matmul(x,w) with ts.Session() as sess: print(sess.run(y))
打印结果:[[11.]]
具体的执行过程是:(1.02.0)(3.04.0)=1∗3+2∗4=11