網站首頁 編程語言 正文
數據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
相關推薦
- 2022-07-22 Qt鍵盤事件和鼠標事件、定時器小實例詳解
- 2022-05-12 linq中的串聯操作符_實用技巧
- 2022-06-06 Ubuntu系統-FFmpeg安裝及環境配置
- 2022-08-29 Python使用re模塊實現正則表達式操作指南_python
- 2023-02-17 Python去除字符串前后空格的三種方法匯總_python
- 2022-08-05 C#正則表達式Regex用法詳解_C#教程
- 2022-04-01 OpenCV實現簡單錄屏功能_C 語言
- 2023-08-16 el-col內容過長導致出現疊字錯誤
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支