几行代码即可高效创建数据集,谷歌开源 TFRecorder
在訓(xùn)練計(jì)算機(jī)視覺機(jī)器學(xué)習(xí)模型時(shí),數(shù)據(jù)加載常常會(huì)成為性能瓶頸,導(dǎo)致在等待將數(shù)據(jù)加載到模型中時(shí) GPU 或 TPU 資源的利用率不足。以 TFRecord 格式存儲(chǔ)數(shù)據(jù)集是一個(gè)行之有效的方法,然而,創(chuàng)建 TFRecord通常需要大量的復(fù)雜代碼。
于是,谷歌近期開源了 TensorFlow Recorder(即 TFRecorder)項(xiàng)目,旨在簡(jiǎn)化TFRecord 的創(chuàng)建流程。TFRecord 是一種二進(jìn)制文件格式,處理數(shù)據(jù)相對(duì)高效,但要將其他數(shù)據(jù)轉(zhuǎn)為 TFRecord 較為麻煩,通常需要編寫一個(gè)數(shù)據(jù)管道來解析結(jié)構(gòu)化數(shù)據(jù),從存儲(chǔ)中加載圖像,然后再將結(jié)果序列化為 TFRecord 格式。而此次開源的TFRecorder 能夠直接從 Pandas dataframe 或 CSV 等格式寫入 TFRecords,無需再編寫復(fù)雜的代碼。
使用 TFRecorder 創(chuàng)建 TFRecord 只需要幾行代碼,運(yùn)行方式如下:
import pandas as pdimport tfrecorderdf = pd.read_csv (...) df.tensorflow.to_tfrecord (output_dir="gs://my/bucket")
TFRecorder期望寫入的數(shù)據(jù)與 Google AutoML Vision 的格式相同,也就是類似 pandas dataframe 或 CSV 的格式,例如:
| split | image_uri | label |
| TRAIN | gs://my/bucket/image1.jpg | cat |
目前,TFRecorder 支持的數(shù)據(jù)格式還很有限,將來會(huì)進(jìn)一步擴(kuò)展,以支持使用任何格式的數(shù)據(jù)。
對(duì)于更龐大的數(shù)據(jù)集,TFRecorder 還提供了與 Google Cloud Dataflow 的連接性,擴(kuò)展到 DataFlow 僅需要多幾行代碼配置。
關(guān)于 TFRecorder 的更多信息,可查看谷歌開源博客的介紹:https://opensource.googleblog.com/2020/08/introducing-tensorflow-recorder.html
總結(jié)
以上是生活随笔為你收集整理的几行代码即可高效创建数据集,谷歌开源 TFRecorder的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 豆角包饺子怎么做好吃呢?
- 下一篇: 阿里健康:按每股20.05港元完成4.9