首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于TensorFlow的大型视频数据集训练神经网络用于人类活动识别

基于TensorFlow的大型视频数据集训练神经网络用于人类活动识别
EN

Data Science用户
提问于 2022-09-15 05:57:02
回答 1查看 85关注 0票数 2

我正在利用深度学习对视频进行人类活动识别,并希望在我的自定义数据集上训练我的神经网络(ConvLSTM & LRCN)。我面临的问题是我的数据集超过50 GB,而且我没有足够的内存直接加载到内存中(16 GB内存和带5 GB VRAM的Nvidia P2000 )。我读到了用于有效加载数据集的TensorFlow flow_from_directory,但我的问题是,我希望为单个标签加载多个图像。

例如,视频中可能有n数目的帧,我从其中提取所需的帧,以训练我的NN。例如,30秒的步行标签视频可能有2000帧,我希望每20帧(20、40、60.2000年)得到一个帧。

现在,如何在使用TensorFlow flow_from_directory时处理这些帧的序列?我有40个关于每个标签的视频(40次步行,40次跑步,40次慢跑等等),我如何告诉TensorFlow,这些n帧属于这个单一的视频(例如步行标签),以及如何将它们立即发送到模型上进行培训?

据我所知,flow_from_directory的默认行为是,如果我们有4个文件夹(猫、狗、斑马和鱼),它会进入每个文件夹并从中获取每一张照片,并指定标签与标签名称相同。但在我的例子中,我有3个文件夹(行走、跑步和慢跑),而在每个文件夹中我有嵌套文件夹(步行视频1、行走视频2等等),每个文件夹中有n个属于该视频标签的帧。我该怎么处理呢?

嵌套文件夹结构

粗体表示文件夹

步行(行走视频1 (n帧属于视频1),步行视频2 (n帧属于视频2)等等)

运行(运行视频1 (n帧属于视频1),运行视频2 (n帧属于视频2)等等)

诸如此类的标签

EN

回答 1

Data Science用户

发布于 2022-09-15 08:34:00

在早期阶段,您不必使用所有的数据,而是构建一个具有合理数据量(例如: 4Gb)的第一个模型,原因有三个: 1-学习时间短得多,因此可以应用快速改进循环。2.必要的硬件更实惠。3-它很容易扩展到50 to。

除此之外,您还可以应用一些预处理技术来压缩数据,降低定义,或者选择具有良好可微性的最有意义的场景。

场景也应该是可比较的,具有相同的频率和相同的帧,这样你的神经网络就可以很容易地在正确的时间找到模式。

帧速率可能较低:现有的模型在15 fps或更少的情况下可以有很好的效果。您可以从15 fps开始,查看结果是否正确,并增加或减少它,直到达到最佳结果。

最后,一旦掌握了具有较小数据集的模型,就可以将其扩展到50 or,定义更小的批,并使用RAM或硬盘内存。否则,您可以购买更好的硬件或租用一个超级GPU在云(cf )。GCloud,AWS或Paperspace),价格实惠。

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

https://datascience.stackexchange.com/questions/114435

复制
相关文章

相似问题

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