Action-Net|UCF101数据集上训练测试数据load过程

2023-05-16

Action-Net(CVPR2021)

  • 论文中给出了三个数据集的测试精度,sth-sthV2,jester,egogesture.
    其数据加载方式利用了作者构造的.pkl文件;
  • 要想要在UCF101,HMDB51上训练测试精度,有两种方法:
    (1)改写代码
    (2)构造ucf101和hmdb51数据集的.pkl文件

本文将附上方法(1)的实现步骤及代码,以ucf101为例:

  • 首先,在train.py中,需要在所有涉及到数据加载的地方加上ucf101以及hmdb51的选项;

示例

  • ./ACTION-Net/data/下构造dataset_ucf101.py,函数load_video代码见下,其余部分与其他数据集的加载相同;
root = './datasets/UCF101_org/'#ucf101数据集文件夹,包含annotions,rawframes
annot_path = 'ucf101_splits_101'#包含annotions的文件夹
rawframe_path = '/data1/han_wu/datasets/UCF101_org/ucf101_rawframes'

def load_video(annot_path, mode):
    # mode: train, val, test
    txt_file=os.path.join(annot_path,'ucf101_{}_split_1_rgb.txt'.format(mode))
    video_names =[]
    frame_nums = []
    labels = []
    file = open(txt_file,'r')
    for content in file.readlines():
        video_names.append(content.strip('').split(" ")[0])
        frame_nums.append(content.strip('').split(" ")[1])
        labels.append(content.strip('\n').split(" ")[2])
    #print("video,frames,label:",video_names,frame_nums,labels)
    rgb_samples = []
    for video_name in video_names:
        video_path = os.path.join(rawframe_path,video_name)
        rgb_list = []
        for num in os.listdir(video_path):
            frame_path = os.path.join(video_path,num)
            rgb_list.append(frame_path)
        rgb_samples.append(sorted(rgb_list))
    print('{}: {} videos have been loaded'.format(mode, len(rgb_samples)))
    return rgb_samples, labels
  • 至此,运行action-net训练指令,即可将ucf101作为数据训练模型
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Action-Net|UCF101数据集上训练测试数据load过程 的相关文章

  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 多选DataGridView没有CTRL键没有闪烁?

    我在表单 Form1 vb 上有一个 DataGridView 控件 需要允许用户在不使用 CTRL 键的情况下多选行 没有可用的键盘 他们使用触摸屏 我已启用 mutliselect 属性 并在 Form 类中包含以下代码 我的 Data
  • 检查 SSRS 报告自定义代码中的 Active Directory 组成员资格表单

    我正在构建 SQL Server Reporting Services SSRS 报告 查看报告的最终用户可以选择某些输入参数 在本例中为位置 用户可以选择的位置取决于 Active Directory 组成员身份 因此我尝试在自定义报告功
  • 从 .NET 文本中提取关键字

    我需要计算每个关键字在字符串中重复出现的次数 并按最高次数排序 NET 代码中用于此目的的最快算法是什么 编辑 下面的代码将唯一标记与计数分组 string target src Split new char var results tar
  • 将参数传递给模板类型的 C# 泛型 new()

    添加到列表时 我试图通过其构造函数创建一个 T 类型的新对象 我收到编译错误 错误消息是 T 创建变量实例时无法提供参数 但我的类确实有一个构造函数参数 我怎样才能做到这一点 public static string GetAllItems
  • 有没有办法让 ValidationSummary 与客户端验证器一起使用?

    NET ValidationSummary 控件聚合来自回发时触发的验证器的错误消息 有没有某种方法可以让它也显示来自客户端验证器的错误消息 我正在解决的问题是 在长页面上 可能会单击提交按钮 导致某些客户端验证器失败 但永远不会看到错误消
  • 使用 HttpClient 从 webapi 消费 xml

    我使用 WebClient 从 Restfull 服务 net web api 获取 Xml 对象 一切都运行良好 using WebClient client new WebClient client Encoding UTF8Encod
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • WCF获取证书编码值

    我在 WCF 服务中使用证书 因此在 web Config 中有一个编码值
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 在 SpecFlow 测试中使用 ChromeDriver

    因此 正如我们所知 当您使用 SpecFlow 时 如果您重复使用另一个测试中的步骤 它会自动将其拉入并重复使用 但是 我遇到了一个问题 测试 A 登录我 测试 B 登录并确认主页是正确 但当我开始使用测试 B 时 测试 A 正在初始化 C
  • 性能计数器损坏?

    性能计数器是邪恶的 不要使用它们 if PerformanceCounterCategory Exists ILoveYou is true PerformanceCounterCategory Delete ILoveYou throws
  • 无法加载文件或程序集“Newtonsoft.Json,Version=7.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一

    这个错误让我发疯 我安装了SendGrid我的类库之一中的 NuGet 包名为基础服务 它依赖于Newtonsoft Json v7 0 1 因此它将其安装在我的包文件夹中并引用它 在类库中 我有这个绑定重定向
  • 向客户报告模型状态和应用程序错误的推荐方法是什么?

    我想知道向浏览器报告将显示给用户的应用程序或模型状态错误的最佳实践是什么 你能抛出一个异常并在jquery post的错误处理程序中处理它吗 例如 考虑这个方法 HandlerErrorWithAjaxFilter HttpPost pub
  • 公共交通错误队列正在消耗,但仍然不为空

    我正在使用 Mastransit 3 5 0 和 RabbitMq 如果队列消费者抛出异常 则默认由 MoveExceptionToTransportFilter 处理异常并移至 error 队列 对于 error 队列 我有单独的消费者
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • 计算文本框中换行的行数

    我在文本框中有一行文本 并且换行为多行 如何计算文本框中换行的行数 你可以使用String Split int lineCount txt Text Split new n r StringSplitOptions None Length

随机推荐