gpt4 book ai didi

csv - 何时使用 tensorflow datasets api 与 pandas 或 numpy

转载 作者:行者123 更新时间:2023-12-04 02:11:29 26 4
gpt4 key购买 nike

我在 tensorflow 中看到了许多关于使用 LSTM 处理时间序列的指南,但我仍然不确定当前在读取和处理数据方面的最佳实践——尤其是当一个人应该使用 tf.data.Dataset 时。 API。

在我的情况下,我有一个文件 data.csv和我的features ,并想做以下两个任务:

  • 计算目标 - 时间目标 t是百分比变化
    在某个地平线上的某个列,即
    labels[i] = features[i + h, -1] / features[i, -1] - 1

    我要 h在这里作为一个参数,所以我可以尝试不同的视野。
  • 获取滚动窗口 - 出于培训目的,我需要将我的特征滚动到长度为 window 的窗口中:
    train_features[i] = features[i: i + window]

  • 我非常乐意使用 pandas 构建这些对象或 numpy ,所以我一般不会问如何实现这一点——我的问题是这样的管道在 tensorflow 中应该是什么样子? .

    编辑:我想我也想知道我列出的 2 个任务是否适合数据集 api,或者我是否最好使用其他库来处理它们?

    最佳答案

    首先,请注意您可以将数据集 API 与 pandas 或 numpy 数组一起使用,如 tutorial 中所述。 :

    If all of your input data fit in memory, the simplest way to create a Dataset from them is to convert them to tf.Tensor objects and use Dataset.from_tensor_slices()



    一个更有趣的问题是您是否应该使用 session feed_dict 来组织数据管道。或通过 Dataset方法。如评论中所述,Dataset API 更高效,因为数据绕过客户端直接流向设备。来自 "Performance Guide" :

    While feeding data using a feed_dict offers a high level of flexibility, in most instances using feed_dict does not scale optimally. However, in instances where only a single GPU is being used the difference can be negligible. Using the Dataset API is still strongly recommended. Try to avoid the following:

    # feed_dict often results in suboptimal performance when using large inputs  
    sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})


    但是,正如他们自己所说,差异可能可以忽略不计,普通的 feed_dict仍然可以充分利用GPU。输入。当训练速度不重要时,没有区别,使用任何你觉得舒服的管道。当速度很重要并且您拥有大量训练集时,Dataset API 似乎是更好的选择,尤其是您计划分布式计算。

    数据集 API 可以很好地处理文本数据,例如 CSV 文件,结帐 this section of the dataset tutorial .

    关于csv - 何时使用 tensorflow datasets api 与 pandas 或 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246418/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com