首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NVIDIA :无法在NVIDIA管道中使用readers.video加载视频

NVIDIA :无法在NVIDIA管道中使用readers.video加载视频
EN

Stack Overflow用户
提问于 2021-11-18 12:26:36
回答 2查看 286关注 0票数 0

尝试加载用于NVIDIA管道的视频处理,但无法加载.mp4视频。

代码语言:javascript
复制
import os
import numpy as np    
from nvidia.dali import pipeline_def
import nvidia.dali.fn as fn
import nvidia.dali.types as types       

batch_size=2
sequence_length=8
initial_prefetch_size=16 

video_directory=['sintel_trailer-720p_0.mp4']
n_iter=6

print(video_directory)


@pipeline_def
def video_pipe(file_root):
    video, labels = fn.readers.video(device="gpu", file_root=file_root, sequence_length=sequence_length,
                                     random_shuffle=True, initial_fill=initial_prefetch_size)
    return video, labels


pipe = video_pipe(batch_size=batch_size, num_threads=2, device_id=0, file_root=video_directory, seed=12345)
pipe.build()

上面的DALI管道在加载视频时显示了以下问题:

/opt/dali/dali/operators/reader/loader/video_loader.cc:117 RuntimeError:构建管道时的关键错误:构建操作符时的错误:遇到readers__Video :在"dir != nullptr“上的readers__Video断言失败:无法打开目录‘sintel_拖车-720 p_0.mp4’。

我已将NVIDIA DALI公司的文件用于视频处理,但无法解决,

请查阅参考资料:NVIDIA DALI DOCS视频处理

EN

回答 2

Stack Overflow用户

发布于 2021-11-25 10:00:32

file_root参数指向根目录,其中DALI应该搜索视频,而file_list参数应该指向一个列出要加载的所有示例的文件。

但是,从您的示例来看,filenames参数必须更适合您的需要。

您的示例应该可以像预期的那样工作,使用以下管道定义:

代码语言:javascript
复制
@pipeline_def
def video_pipe(file_root):
    video, labels = fn.readers.video(device="gpu", filenames=file_root, labels=[], sequence_length=sequence_length,
                                     random_shuffle=True, initial_fill=initial_prefetch_size)
    return video, labels

我还添加了labels参数。没有它,运算符只返回一个输出。如果您想更好地理解操作员,请查看大理手册

票数 1
EN

Stack Overflow用户

发布于 2021-11-30 12:10:52

经过一些研究和论坛讨论后,NVIDIA得到了这个答案,请参考问题/3503的链接,以获得详细的答案讨论。谢谢

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

https://stackoverflow.com/questions/70019833

复制
相关文章

相似问题

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