【Python与机器学习 7-4】TensorFlow框架及使用

本文详细介绍了TensorFlow的安装过程,包括普通版本和GPU版本,并深入讲解了TensorFlow的三种模式:计算图、张量和会话。讨论了计算图的概念和TF程序的两个阶段,同时阐述了张量的属性和用途。此外,还探讨了会话的运行模式,以及如何使用占位符和变量进行数据传递和模型训练。最后,通过线性回归模型的实现进一步解释了TensorFlow的基本用法。
摘要由CSDN通过智能技术生成

TensorFlow安装

普通版本

pip install tensorflow

GPU版本

pip install tensorflow-gpu
其它步骤参考https://www.tensorflow.org/install

TensorFlow中的三种模式

首先我们看一下TensorFlow,把它分开就是Tensor和Flow。
这个Tensor为多维或高维矩阵,TensorFlow的框架里数据都是以tensor的形式存储的。Flow 数据根据制定的计算图进行流转。

计算模式—计算图(Computation Graph)

什么是计算图

TensorFlow是一个通过计算图的形式表示计算的编程系统,TensorFlow中的所有计算都会被转化为计算图上的节点,节点之间的边描述了计算之间的依赖关系。
如下图就是一个加法计算图,圆圈就是tensor,箭头就是Flow。
这里写图片描述

TF程序的两个阶段

TensorFlow不是像我们之前写Python的代码一样,想到什么写什么,而是要提前把所有的计算定义好,把规则制定好,也就是画好计算图。画好完整的图以后才能执行计算。
即TF程序通常分两个阶段:
1. 定义计算图中所有的计算;
2. 执行计算

获取TF自动维护的默认计算图

TF程序自动维护一个默认的计算图,可通过tf.get_default_graph函数获取

tf.get_default_graph
或者a.graph(如果没有特殊声明,a.graph返回其所属的计算图,即默认的计算图)

资源共享

TensorFlow中不同计算图上的张量和运算不共享,那么我们需要共享时应该如何操作呢?
一个计算图中可以通过collection管理不同类别的资源
①将资源加入集合中

tf.add_to_collection

②获取集合里的所有资源

tf.get_collectoin

数据模式—张量(Tensor)

张量是什么

Tensor是TF管理数据的形式,可简单地理解为多维数组。
张量主要保存三个属性:名字(name)、维度(shape)、类型(dtype)

张量是得到数据的过程,并未保存数据

TF中的张量并没有真正保存数据,而是如何得到这些数据的过程

举个例子就明白了:

a = tf.constant([1.0, 2.0], name='a') #定义一个常量,命名为a
b = tf.constant([2.0, 3.0], name='b') #定义一个常量,命名为b
result = tf.add(a, b, name='add') #定义一个计算模式,命名为add

print(result) #结果是Tensor("add:0", shape=(2,), dtype=float32),而不是求和后的值,这就表明我们只是定义了计算模式,还未运行

tf.Session().run(result) #加了这一步就会得到运行结果array([3., 5.], dtype=float32)

张量的用途

  1. 作为中间计算结果的引用,提高程序的可读性
  2. 通过张量获得计算结果,即真实的数据

方法为

tf.Session().run()

运行模式—会话(Session)

通过上面

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值