tensorflow学习笔记(一)

简介

Tensorflow是一个开源的、基于 Python 的机器学习框架,其前身是谷歌的神经网络算法库,由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护。python

它是基于数据流编程数学运算系统,可部署于服务器、我的pc、网页、Android设备并支持GPU和TPU(Tensor Processing Units)高性能数值计算,除了 Python,TensorFlow 也提供了 C/C++、Java、Go、R 等其它编程语言的接口。算法

清楚了机器学习算法的过程后,本身也能够一步步用numpy把算法写出来,但可能会步骤很麻烦、代码很长、效率不高,而tensorflow等机器学习库将要用到的矩阵操做采用高效的运算方法,封装成API(函数),供咱们方便的调用,这样能使咱们的想法得以快速实现,而没必要从新造轮子。编程

编程模式—数据流编程

tensorflow翻译过来就是张量流,张量能够理解成矩阵的意思,二维张量就是二维矩阵,数据在tensorflow也是以张量(tensor)的类型存在,程序运行也就是张量(数据)在节点中流动的过程。服务器

用tensorflow库写python代码与日常的代码有所不一样,它不是执行一行就得出一行的结果。
它是以有向图的方式执行,每一个变量都是一个节点,数据在节点中流动。好比求c=a+b,先定义a,b三个节点,定义c=a+b,定义好后定义一个会话Session,会话运行变量c,这样数据就会从a和b流向c。网络

这样说着可能跟日常编程同样,看一下下面的程序就清楚数据流编程模式了。框架

第一个程序

程序计算c = a + b机器学习

import tensorflow as tf
a = tf.constant(3)     # 定义a和b为tf常量
b = tf.constant(4)
c = tf.add(a, b)         # 定义c和c的值来源,此行并不会得出c的值,只是定义了c

with tf.Session() as sess:      # 定义一个会话
    print(sess.run(c))    # 在会话中计算c的值并打印

  

程序与日常程序不一样的使第四行并不会得出c的结果,在会话中sess.run(c) 才会计算c=a+b。编程语言

会话Session()运行完须要显示关闭会话,sess.close(),经过with...as... 就能够在计算完成后自动关闭会话。函数

相关文章
相关标签/搜索