本文介绍了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.Video
。tfds.features.Video
通常与tfds.builder
或tfds.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中视频解码的视频用法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!