TensorFlow Python API文档
### TensorFlow Python API 文档知识点概览 #### 一、构建图(Building Graphs) 在 TensorFlow 中,计算图是核心概念之一。它定义了数据流图的结构,该图由节点(表示数学运算)和边(表示多维数据数组,即张量)组成。 ##### 1.1 核心图数据结构 - **`tf.Graph` 类**:表示一个数据流图,用于封装一组操作(`Operation`)和张量(`Tensor`)。它还负责管理图内的共享资源。 - **构造函数**:`tf.Graph()` - **获取默认图**:`tf.get_default_graph()` — 返回当前线程的默认图。 - **重置默认图**:`tf.reset_default_graph()` — 清除默认图中的所有操作和张量,并重新创建一个新的空图。 - **`tf.Operation` 类**:代表图中的节点,每个节点执行特定的操作。 - **属性**: - `name`:操作的名称。 - `type`:操作类型(如 "MatMul"、"Add" 等)。 - `inputs`:输入张量列表。 - `outputs`:输出张量列表。 - **`tf.Tensor` 类**:表示数据流图中的边,携带从一个操作到另一个操作的数据。 - **属性**: - `dtype`:张量的数据类型。 - `shape`:张量的维度。 - **张量类型 (`Tensor types`)** - TensorFlow 支持多种数据类型,如整数、浮点数等。 - **`tf.DType` 类**:表示张量的数据类型。 - **转换函数**:`tf.as_dtype(type_value)` — 将类型值转换为 `DType` 对象。 ##### 1.2 实用函数 - **设备分配**:`tf.device(dev)` — 指定操作应在哪个设备上运行。 - **命名空间**:`tf.name_scope(name)` — 创建一个命名范围,便于组织和命名图中的操作。 - **控制依赖**:`tf.control_dependencies(control_inputs)` — 指定某些操作必须先于其他操作执行。 - **数据转换**:`tf.convert_to_tensor(value, dtype=None, name=None, as_ref=False)` — 将 Python 值转换为 `Tensor`。 - **导入图定义**:`tf.import_graph_def(graph_def, input_map=None, return_elements=None, name=None, op_dict=None)` — 将一个 `GraphDef` 协议缓冲区导入当前图。 - **加载操作库**:`tf.load_op_library(library_filename)` — 加载自定义操作的库。 ##### 1.3 图集合 (Graph collections) - **添加到集合**:`tf.add_to_collection(name, value)` — 将值添加到指定集合。 - **获取集合**:`tf.get_collection(key, scope=None)` — 获取与指定键关联的集合。 - **`tf.GraphKeys` 类**:预定义的图集合键列表。 ##### 1.4 定义新操作 - **注册梯度**:`tf.RegisterGradient` — 注册一个操作的梯度实现。 - **无梯度**:`tf.NoGradient(op_type)` — 表示某个操作无需计算梯度。 - **注册形状**:`tf.RegisterShape` — 注册一个操作的输出形状规则。 - **张量形状**:`tf.TensorShape` — 表示张量的维度。 - **维度**:`tf.Dimension` — 表示张量的一个维度。 ##### 1.5 其他功能和类 - **字节**:`tf.bytes` — 字节相关的操作。 - **常量、序列和随机值** - **常量值张量** - `tf.zeros(shape, dtype=tf.float32, name=None)` — 创建一个给定形状的全零张量。 - `tf.zeros_like(tensor, dtype=None, name=None)` — 创建与给定张量相同形状和类型的全零张量。 - `tf.ones(shape, dtype=tf.float32, name=None)` — 创建一个给定形状的全一张量。 - `tf.ones_like(tensor, dtype=None, name=None)` — 创建与给定张量相同形状和类型的全一张量。 - `tf.fill(dims, value, name=None)` — 创建一个给定形状的张量,填充指定值。 - `tf.constant(value, dtype=None, shape=None, name='Const')` — 创建一个具有指定值的张量。 - **序列** - `tf.linspace(start, stop, num, name=None)` — 在一定范围内创建等间距的一维张量。 - `tf.range(start, limit=None, delta=1, name='range')` — 创建一个在一定范围内按步长递增或递减的一维张量。 - **随机张量** - 示例: - `tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)` — 创建一个具有正态分布的随机值的张量。 - `tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)` — 创建一个具有截断正态分布的随机值的张量。 - `tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)` — 创建一个具有均匀分布的随机值的张量。 - `tf.random_shuffle(value, seed=None, name=None)` — 随机排列一个张量中的元素。 - `tf.random_crop(value, size, seed=None, name=None)` — 从给定张量中随机裁剪出一个小的子张量。 - `tf.set_random_seed(seed)` — 设置全局随机种子。 - **变量**:`tf.Variable` — 用于存储模型参数的可训练变量。后续将详细介绍。
剩余544页未读,继续阅读
- 粉丝: 6
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助