tensorflow学习笔记(一)

简介

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

它是基于数据流编程数学运算系统,可部署于服务器、个人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... 就可以在计算完成后自动关闭会话。

 

posted @ 2020-02-14 17:28  panday  阅读(198)  评论(0编辑  收藏  举报