Boundary Sensitive Network (BSN) 源码运行

BSN论文:https://arxiv.org/abs/1806.02964

BSN源码:https://github.com/wzmsltw/BSN-boundary-sensitive-network.pytorch

步骤:

(参考自 BSN 项目内 README.md

1. 下载源码

$ git clone https://github.com/wzmsltw/BSN-boundary-sensitive-network.pytorch.git

2. 下载Dataset

在复现时,直接应用了作者使用TSN提取后的视频特征,特征文件可以从作者提供的百度云链接下载。然后将特征文件放在 ./data/activitynet_feature_cuhk/ 目录下。

如果使用百度云下载,按照作者提供的方法 cat zip_csv_mean_100.z* > csv_mean_100.zip 在Ubuntu系统下解压 csv_mean_100.zip 只能得到 3992 条数据。如果下载好全部的 6 个分卷压缩文件后,在Windows系统下直接解压 zip_csv_mean_100.zip 文件可以得到完整的 19228 条数据。

3. 配置环境

作者源码的运行环境为: Python 2 PyTorch 0.4.1 tensorboardX

配置环境的教程可以参考:

也可以在现有的 Python 3 PyTorch 1.x 环境中运行 ,需要对代码做一些修改。

  • print
  • 遍历字典 keys() 前先转为list

TypeError: ‘dict_keys’ object does not support indexing

self.video_list = list(self.video_dict.keys())
  • lr_scheduler.step()optimizer.step() 之后使用

UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step(). Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate

for epoch in range(opt["tem_epoch"]):train_TEM(train_loader, model, optimizer, epoch, writer, opt)test_TEM(test_loader, model, epoch, writer, opt)scheduler.step()
  • index 转为整数

TypeError: slice indices must be integers or None or have an index method

    num_videos_per_thread = num_videos // opt["pgm_thread"]video_extend = video_scale // 4 + 10

4. 训练

$ sh bsn.sh # 开始训练# bsn.sh内容:python main.py --module TEM --mode trainpython main.py --module TEM --mode inferencepython main.py --module PGMpython main.py --module PEM --mode trainpython main.py --module PEM --mode inference --pem_batch_size 1python main.py --module Post_processingpython main.py --module Evaluation
$ tensorboard --dir=./runs # 查看训练过程

在执行训练脚本时出现 ImportError :

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found

解决方法可以参考 https://blog.csdn.net/jsk_learner/article/details/102468919

Boundary Sensitive Network (BSN) 源码运行相关推荐

  1. 时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》

    时序动作检测SSAD<Single Shot Temporal Action Detection>_程大海的博客-CSDN博客_时序动作检测 时序动作检测<BSN: Boundary ...

  2. 《Android Studio开发实战 从零基础到App上线》源码运行问题解答

    本书提供了所有章节的完整源码下载,自上市以来陆续收到读者的意见反馈,现将与源码有关的问题汇总归类如下,方便更多的朋友解决源码运行过程中发现的问题: 一.打开本书源码时,出现"Plugin w ...

  3. 博客园HTML源码运行特制js(原创自Zjmainstay)

    canrun 测试运行HTML <html> <head><title>测试博客园HTML源码运行程序</title><meta http-equ ...

  4. 【Java 虚拟机原理】JDK 体系结构 | Java 源码运行原理 | Java 虚拟机内存

    文章目录 一.JDK 体系结构 二.Java 源码运行原理 三.Java 虚拟机内存结构 一.JDK 体系结构 JDK 体系结构 : 下图所有的内容都是 JDK 体系中的组成元素 ; Java Lan ...

  5. Windows 源码运行 ThingsBoard

    首先理一下ThingsBoard所需的环境: 1.jdk1.8 2.maven 3.PostgreSQL 4.nodejs  && npm 5.redis 6.git 7.IDEA(源 ...

  6. 【TensorFlow】人脸识别OpenFace、Face-recognition、Insightface和FaceNet源码运行

    比较人脸识别OpenFace.Face-recognition.Insightface: FaceNet源码运行 https://github.com/davidsandberg/facenet 1. ...

  7. win10下从源码运行Cura——环境配置(二次开发准备工作)

    win10下从源码运行Cura(二次开发准备工作) win10下从源码运行Cura 配置过程(踩坑指南) win10下从源码运行Cura 本人小白一只,近来需要了解Cura,故自己摸爬滚打学习.网上对 ...

  8. ST-GCN源码运行完整版(含OpenPose编译安装)及常见问题

    ST-GCN源码运行完整版(含OpenPose编译安装) -------本文仅为学习笔记,不做任何商业用途------- 下述相关工具包下载链接ST-GCN所需工具,提取码ze36 一.准备工作 1. ...

  9. airflow 源码调试之源码运行(一)

    airflow 源码调试之源码运行(一) 开发环境 windows上的ubuntu16.0虚拟机 Python3.8 调试准备 Pycharm 配置远程连接主机 配置使用远程主机Python解释器 没 ...

最新文章

  1. 关于学习过程中走过的弯路
  2. 用字体在网页中画Icon图标
  3. Mybatis中 Dao接口和XML文件的SQL如何建立关联
  4. 云栖大会上,阿里巴巴重磅发布前端知识图谱!
  5. Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析
  6. 【格局】一张图看懂全球人工智能竞争格局|湾区人工智能
  7. UVA11760 Brother Arif, Please feed us!【bitset】
  8. 计算机网络—数据链路层设备与两种域的区别
  9. 【合集】高等数学随堂笔记-苏德矿老师-部分内容汇总
  10. 如何用甘特图进行项目进度管理
  11. 一文盘点目前免费的云服务器
  12. matlab非齐次线性方程组的解,MATLAB求解非齐次线性方程组
  13. 苹果手机显示服务器返回数据异常,iOS 请求数据 返回-9843 的错误
  14. 微信的dat文件正确打开方式及问题处理
  15. C# 闹钟「定时提醒,整点报时」
  16. 大素数判定以及大整数分解
  17. 使用CRM客户关系管理系统的好处有哪些?
  18. 各种说明方法的例句_十种说明方法造句
  19. GitFlow使用笔记
  20. 【八月总结】回实验室第一个月

热门文章

  1. 万家杨柳青烟里:B+、B- 树的应用场景
  2. Android 短信验证 SDK 接入(Mob SMSSDK)
  3. Flash 全屏代码
  4. 大连理工大学远程与继续教育学院生产实习报告报表
  5. 【福利】2020年通信行业研究报告汇总下载(免费)
  6. 在单链表(带头结点)中的第i个位置前面插入一个新结点的初始化问题
  7. WinRAR压缩解压缩软件命令行参数
  8. 【Web】多读书多看报
  9. Vuex存储公共的数据步骤
  10. AndroidStudio 快捷键大全