本文介绍了Tfds.Features.TensorFlow 2中视频解码的视频用法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用tfds.Feature.Video对TensorFlow 2中的视频进行解码,以便使用以下代码输出"tf.uint8类型的tf.张量器和形状[Num_Frames,Height,Width,Channels]":

import numpy as np
import pandas as pd
import tensorflow as tf
import tensorflow_datasets as tfds
df_trains= pd.DataFrame()
df_trains['video_files']= ['aa.mp4']

files_ds = tf.data.Dataset.from_tensor_slices(df_trains.video_files)

video_class = tfds.features.Video(shape=(None, 1080, 1920,3), encoding_format='png', ffmpeg_extra_args=())

a= video_class.decode_example(files_ds)
但是,它会生成以下错误:"AssertionError: Feature Video can only be decoded when defined as top-level feature, through info.features.decode_example()"

我无法解决它,请在这方面帮助我。

推荐答案

您不能那样使用tfds.features.Videotfds.features.Video通常与tfds.buildertfds.load一起使用。

所以当您使用tfds_download_dataset时,您会感觉很舒服,但很难使用自定义数据集。

features = tfds.features.FeaturesDict({
    'video': tfds.features.Video(shape=(None, 1080, 1920,3)),
})
tfds.load(..., decoders=features, ...)

但是tfds.features.Video可以通过使my_dataset包含数据来使用。

然而,这是非常恼人的。所以cv2比那个好。

这篇关于Tfds.Features.TensorFlow 2中视频解码的视频用法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-19 02:41