人工智能tensorflow的自学之路(1)!
什么是tensorflow?
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
当然入门Python没有好的学习资料怎么行呢?所以小编这里准备了一份Python学习资料,添加小编学习交流群943752371即可。
安装tensorflow
首先请确认电脑上安装了 python 编译环境,这里我用的版本是 python3.6
其次使用安装 tensorflow 库
不明白的参照这个链接
tensorflow术语
在学习tensorflow之前,我们首先要明白几个常用的术语:
(1) op 表示某种抽象计算,它拥有0个或多个「输入/输出」,及其0个或多个「属性」。其中,输入/输出以 Tensor 的形式存在。
(2) 使用图(graphs)表示计算任务
(3)在被称之为会话 Session的 上下文(context)中执行图
(4)使用 tensor 表示数据通过变量(Variable)维护状态
(5)使用 feed 和 fetch 可以为任意的操作复制或者从其中获取数据
简单例子
话不多说,让我们开始吧!
# 调用 tensorflow库importtensorflowastf# 1# 定义两个常量 m1 = tf.constant([[3,3]])# 2m2 = tf.constant([[2], [3]])# 创建一个矩阵乘法op,把m1,m2作为参数传入product = tf.matmul(m1, m2)# 3# 输出productprint(product)
我们一句一句解释:
1,我们调用了 tensorflow 库 ,为了方便,我们使用了 as tf ,以后就 tf 就可以代表 tensorflow这个库的名字了
2,定义了两个常量 m1、m2, 在tensorflow中我们用 tf.constant()这个函数来赋值常量, m1是一个一行两列的矩阵[3, 3], m2是一个两行一列的矩阵[[2], [3]]。
3,我们用 tf.matmul()这个函数来执行一次乘法运算并把 m1,m2作为参数传入
最后我们打印一下结果
Tensor("MatMul:0", shape=(1, 1), dtype=int32)
What fuck?! 剧情不对啊!
在 tensorflow 中 使用计算图的方式来定义计算过程, 执行计算还是要会话 session来操作
我们接着上面的程序继续写
# 定义一个会话sess = tf.Session()# 4# 在会话中执行运算result = sess.run(product)# 5# 打印结果print(result)sess.close()# 6
先看一下结果:
Tensor("MatMul:0", shape=(1, 1), dtype=int32)
[[15]]
第一行是执行 sess.run() 之前的数据,第二行终于得出了矩阵相乘的结果
4,我们定义了一个会话对象 sess
5,执行sess.run()函数,开始了乘法运算
6,关闭会话
由于每次都要定义会话和关闭会话,我们采用with语句来改进一下:
withtf.Session()assess: result = sess.run(product) print(result)
与 4 ~ 6 之中的作用是功能是一样的,这样做可以避免忘记关闭会话带来的不必要开销。
总结:我们用 tensorflow 进行了一次矩阵乘法运算, 初步认识了 tensorflow 的执行过程,这里我们只是使用了常量,下篇文章中我们将介绍变量的使用和运算。
作者:懒人享受生活
链接:https://www.jianshu.com/p/a4f3c5e7d5f4
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。