| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> TensorFlow(2)-数据载入 -> 正文阅读 |
|
[人工智能]TensorFlow(2)-数据载入 |
tensorflow 数据载入1. tf.data.Dataset参考Google官方给出的Dataset API中的类图,Dataset 务于数据读取,构建输入数据的pipeline。 2. dataset 创建数据集的方式2.1 tf.data.Dataset.from_tensor_slices()从tensor中创建数据集,数据集元素以tensor第一维度为划分。
2.2 tf.data.TextLineDataset()读取文件数据创建数据集,数据集元素为文件的每一行 2.3 tf.data.FixedLengthRecordDataset()从一个文件列表和record_bytes中创建数据集,数据集元素是文件中固定字节数record_bytes的内容。文件列表用来做啥? 2.4 tf.data.TFRecordDataset()读TFRecord文件创建数据集,数据集元素是一个TFExample。 3. dateset 迭代操作iteratoriterator是从Dataset对象中创建出来的,用于迭代取数据集中的元素。 3.1 make_one_shot_iterator()dataset.make_one_shot_iterator()–只能从头到尾读取一次dataset。如果一个dataset中元素被读取完了再sess.run()的话,会抛出tf.errors.OutOfRangeError异常。因此可以在外界捕捉这个异常以判断数据是否读取完。
3.2 make_initializable_iterator()dataset.make_initializable_iterator()–支持placeholder dataset 的迭代操作,这可以方便通过参数快速定义新的Iterator。
如果在dataset的构建时,一次性读入了所有的数据,会导致计算图变得很大,给传输、保存带来不便。make_initializable_iterator()支持placeholder 操作,仅在需要传输数据时再取数据。
3.3 reinitializable iterator()dataset.reinitializable iterator() --待补 3.4 feedable iterator()dataset.feedable iterator()–待补 4. dataset的map、batch、shuffle、repeat操作map–接收一个函数,Dataset中的每个元素都会被当作这个函数的输入,并将函数返回值作为新的Dataset。
batch–将多个元素组合成一个batch
shuffle– 打乱dataset中的元素,参数buffersize。打乱的实现机理:从buffer_size 大小的部buffer中随机抽取元素,组成打乱后的数据集。buffer中被抽走的元素由原数据集中的后续元素补位置。 重复‘抽取-补充’这个过程,直至buffer为空。 buffer_size 的大小详见tf.data.Dataset.shuffle(buffer_size)中buffer_size的理解
repeat– 将整个序列重复多次,用来处理机器学习中的epoch,假设原始数据是一个epoch,使用repeat(5)就可以将之变成5个epoch
5. 非eager/eager 模式5.1 非eager模式demo在非Eager模式下,Dataset中读出的一个元素一般对应一个batch的Tensor,我们可以使用这个Tensor在计算图中构建模型。
5.2 eager模式demo在Eager模式下,Dataset建立Iterator的方式有所不同,此时通过读出的数据就是含有值的Tensor,方便调试。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 18:47:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |