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