首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pytorch中加载tfrecord?

问如何在pytorch中加载tfrecord?
EN

Stack Overflow用户
提问于 2019-04-29 09:48:29
回答 4查看 8.3K关注 0票数 4

如何在pytorch中使用tfrecord?

我下载了具有视频级功能的"Youtube8M“数据集,但它存储在tfrecord中。我试图从这些文件中读取一些样本,将其转换为numpy,然后加载到pytorch中。但它失败了。

代码语言:javascript
复制
    reader = YT8MAggregatedFeatureReader()
    files = tf.gfile.Glob("/Data/youtube8m/train*.tfrecord")
    filename_queue = tf.train.string_input_producer(
        files, num_epochs=5, shuffle=True)
    training_data = [
        reader.prepare_reader(filename_queue) for _ in range(1)
    ]

    unused_video_id, model_input_raw, labels_batch, num_frames = tf.train.shuffle_batch_join(
        training_data,
        batch_size=1024,
        capacity=1024 * 5,
        min_after_dequeue=1024,
        allow_smaller_final_batch=True  ,
        enqueue_many=True)

    with tf.Session() as sess:
        label_numpy = labels_batch.eval()
        print(type(label_numpy))

但是这一步没有结果,只是停留了很长一段时间没有任何反应。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-01-13 12:00:59

也许这能帮到你:TFRecord reader for PyTorch

票数 0
EN

Stack Overflow用户

发布于 2020-02-20 23:49:31

一种解决方法是使用TensorFlow1.1* eager模式或tensorflow 2+循环通过数据集(这样您就可以使用var len功能,使用buckets窗口),然后只使用torch.as_tensor(val.numpy()).to(device)在torch中使用。

票数 2
EN

Stack Overflow用户

发布于 2020-01-28 03:28:30

您可以使用DALI库在PyTorch代码中直接加载to记录。

你可以在in their documentation上找到如何做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55896083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档