TensorFlow分布式机器学习:数据加载与训练策略解析
1. 加载Parquet数据到TensorFlow数据集
在机器学习流程中,数据加载是第一步。在TensorFlow里,通常使用 tf.data.Dataset 对象的 load 函数来完成数据加载。TF数据集是实际数据的抽象,无论数据存储在磁盘还是内存中,它都能让我们对分布式数据进行迭代操作,并且可以从多个数据源摄取数据,供任何TF模型使用。
如果单独使用TensorFlow, load 函数就足够了。它会从数据源迭代地获取数据,之后可以将数据预处理成标准格式,同时TF引擎会收集数据的统计信息。预处理完成后,TF可以将数据保存到磁盘,此时数据就可以用于构建模型了。
然而,对于Parquet格式的数据,情况有所不同。TF本身并不直接支持加载Parquet数据。这是因为在实际应用中,我们常常会利用已有的预处理数据,而这些数据很多时候是用Spark预处理并保存为Parquet格式的,TF数据集的 load 函数无法准确加载这类数据。
为了解决这个问题,我们可以使用Petastorm作为框架之间的桥梁。Petastorm有一个 make_petastorm_dataset 函数,它可以利用 petastorm.reader.Reader 实例创建一个 tf.data.Dataset 实例。
创建Petastorm读取器时,我们可以使用 make_batch_reade
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



