Tensorflow加载与预处理数据详解实现方法
作者:沐兮Krystal 发布时间:2023-01-29 02:57:09
标签:Tensorflow,加载,预处理
数据API
数据集方法不会修改数据集,而是创建新数据集。
可通过调用 map() 方法将转换应用于每个元素:
dataset = dataset.map(lambda x: x * 2)
乱序数据
交织来自多个文件的行
list_files() 函数返回一个乱序的文件路径的数据集。
filepath_dataset = tf.data.Dataset.list_files(train_filepaths, seed=42)
一次读取5个文件,并交织它们的行。
n_readers = 5
dataset = filepath_dataset.interleave(
lambda filepath: tf.data.TextLineDataset(filepath).skip(1),
cycle_length=n_readers)
预处理数据
X_mean, X_std = [...] # 每个特征的均值和标准差
n_inputs = 8 # 对应8个特征
def preprocess(line):
defs = [0.] * n_inputs + [tf.constant([], dtype=tf.float32)] # 包含csv中每一列的默认值的数组
fields = tf.io.decode_csv(line, record_defaults=defs)
# line 是要解析的行,record_defaults 是一个包含CSV文件每一列的默认值的数组
x = tf.stack(fields[:-1])
y = tf.stack(fields[-1:])
return (x - X_mean) / X_std, y
我们在除最后一个(目标值)之外的所有张量上调用 tf.stack() ,从而将这些张量堆叠到一维度组中。然后对目标值执行相同的操作。
合并在一起
def csv_reader_dataset(filepaths, repeat=1, n_readers=5,
n_read_threads=None, shuffle_buffer_size=10000,
n_parse_threads=5, batch_size=32):
dataset = tf.data.Dataset.list_files(filepaths)
dataset = filepath_dataset.interleave(
lambda filepath: tf.data.TextLineDataset(filepath).skip(1),
cycle_length=n_readers, num_parallel_calls=n_read_threads)
dataset = dataset.map(preprocess, num_parallel_calls=n_parse_threads)
dataset = dataset.shuffle(shuffle_buffer_size).repeat(repeat)
return dataset.batch(batch_size).prefetch(1)
来源:https://blog.csdn.net/GW_Krystal/article/details/127885412
0
投稿
猜你喜欢
- 想到一个好玩的,运行如下 javascript :if ('0') alert("'0' is t
- 如下所示:# #### dict中将key相同的字典合并在一个对象里"""a = {"a"
- linux安装mysql服务分两种安装方法:①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容
- 本文实例讲述了Python实现的批量修改文件后缀名操作。分享给大家供大家参考,具体如下:windows和linux下都支持该程序
- 具体代码如下所述:< !DOCTYPE html > <html lang = "en" > &
- 前言嗨喽~大家好呀,这里是魔王呐 ~!在学习Python的过程中需要不断的积累和练习,这样才能够走的更远,今天一起来学习怎么用P
- 先来看看什么是书签查找: 当优化器所选择的非聚簇索引只包含查询请求的一部分字段时,就需要一个查找(lookup)来检索其他字段来满足请求。对
- 切片原型 strs = ‘abcdefg'Strs[start: end:step]切片的三个参数分别表开始,结束,步长第一位下标为
- 如何验证IP地址?sub chkIP(boardid) dim rsIP dim ipAr
- 一、前言首先说,Python中一切皆对象,老生常谈。还有,Python提供了许多特殊方法、元类等等这样的“元编程”机制。像给对象动态添加属性
- 前段时间嗷嗷有发过"好玩的放大镜效果",今天看了下,发现还有简单的方法也能够实现,即利用内外补丁的调整。有兴趣的可以在琢
- 刚刚有人问我二年前写的那个小三角的效果还能作出什么样的效果,我正在看电视,画面上出现了这样一个小灯笼,于是,我就说,可以作个小灯笼玩玩。于是
- 很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。下面我来举几个例子。1. 删除重
- 一、慢查询有什么用?它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进
- 前言观前提醒:因为是代码控制统计,所以操作每一个步骤都很重要,否则就会报错。操作步骤1.将在线编辑文档导入本地。为了方便代码处理,将导出的e
- 前言今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行。例如单个接
- 利用python实现防撤回,对方撤回的消息可在自己的微信文件传输助手中查看。如果想变成可执行文件放在电脑中运行,可用pyinstaller将
- 汉字转为拼音的asp函数,原理:利用多维数组 1.添加索引 2.遍历数组Author: Unknowasp之家测试截图,呵呵不错:<%
- 本文实例讲述了MySQL中USING 和 HAVING 用法。分享给大家供大家参考,具体如下:USING用于表连接时给定连接条件(可以理解为
- 引入先安装三个模块pip install channelspip install channels_redispip install pyw