tensorflow基本概念

本文深入探讨了TensorFlow中的关键概念,包括数据流图、张量及其类型、变量的使用及保存方法、操作与会话的工作原理等。此外还介绍了如何利用TensorFlow进行高效的并行与分布式计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tensorflow数据流图

张量和稀疏张量:类似于矩阵和稀疏矩阵

tensforflow数据流图的计算过程就是拓扑排序的原理(数据流图中存在入度和出度概念)

tensorflow数据流图优势

并行计算快(拓扑排序思想和数据依赖)

分布式计算快(CPU GPU TPU)

预编译优化(XLA)

可移植好

tensorflow张量

常量张量是不可以改变的,占位符定义了高维数据的壳,变量张量可以一直保存数据的状态之类信息

tf.rank()可以输出张量的阶数

tensorflow变量

一次训练:前向传播和反向传播

tensorflow变量使用流程实践

tf.train.Saver([v1, v2])没有指定v1在文件中保存时的名字,所以在文件中保存时v1的名字保存为v1的tf.Variable定义的name('v1')。

tf.train.Saver({'v1':v1, 'v2':v2})指定了v1在文件中保存时的名字,即'v1'

save之后生成了3个文件,data保存的时数据实际的值;index保存的是索引,在庞大的网络中通过索引可以快速的查找数据;meta保存的是数据流图的结构

根据前面的计算,b已经是值全部为1的张量,所以assign_add(b,[1,1,1,1])将b更新为了值全部为2的张量,我们可以从保存的文件中恢复b原来的值(因为在保存文件时,b的值是1,所以上图中可以看到b恢复为了值全部为1的张量)。

在复杂的网络中,可能只恢复变量是不够的,也许需要使用tf.train.import_meta_graph来恢复数据流图。

操作(operation)是什么

会话是什么

实际上在底层,估算张量(Tensor.eval)和执行操作(Operation.run)调用的还是session.run()方法

在tensorflow中,可以指定节点执行的设备,如上图input和reshape节点指定在cpu上执行,神经网络部分指定在gpu上执行,当cpu上的节点存在入度为0的节点且Gpu上也存在入度为0的节点则此时可以实现一定的并行计算。

在client由tensorflow api编写代码,然后为了执行将这些代码传输到server(本地设备),然后基于设置的节点的执行设备,将节点在其相应的设备(cpu/gpu)上执行

优化器(optimizer)是什么

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值