热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

配置STGCN体会

搞深度学习这东西配环境真的难。总是在达成目标的路上遇到各种错误。本文仅记录配置环境中的心得。SpatialTemporalGraphConvolutionalNetworksfo

搞深度学习这东西配环境真的难。总是在达成目标的路上遇到各种错误。

本文仅记录配置环境中的心得。Spatial Temporal Graph Convolutional Networks for Skeleton Based Action Recognition

 论文解读可参考:https://blog.csdn.net/qq_36893052/article/details/79860328

文章链接:https://arxiv.org/abs/1801.07455

Github 代码:https://github.com/yysijie/st-gcn

第一步:你要从github网站上,下载这个包

第二步:配置环境

安装pytorch参考我的这个博客:https://blog.csdn.net/Dongjiuqing/article/details/89417616

安装openpose参考我这个博客:https://blog.csdn.net/Dongjiuqing/article/details/89006405

【注】:openpose要配置caffe和opencv,具体参考博客,这两个必须要弄好。(所以说呢,如果你不需要可视化的openpose界面的话,你不需要看这些博客,也不需要配caffe openpose的环境,你直接下载个pytorch和一些必要的库就可以开始训练和测试了。)

然后FFmpeg和其他依赖项先按照人家给的方法去安装。

第三部:安装和下载模型

到这一步,我都没什么问题,最尴尬的事情来了。从人家的网站上可以看到,这一步之后就是运行示例代码了。然而我卡住了。报了一个很奇怪的错误:看图:

RuntimeError:Errors in loading state_dict for Model:......

百思不得其解。我是直接运行的他的代码:

bash tools/get_models.sh

 这一步卡住了,当时不知道哪里错了。以为是之前的环境配的不对,还是别的什么原因。一头雾水。最后索性直接从头重新配环境,然而到了运行示例代码的时候,还是这个错误。日了。。。于是搁置了一段时间。这个环境就丢在了一遍。过了一周,实在没办法,代码还是要实现 。找了学长的帮助,学长说是模型的问题。于是从下面的百度云盘上下载了那个模型。然后替换掉原来的。这个问题神奇般的解决了!

然而报了下面这么一个错误:

ValueError: No way to determine width or height from video.

我靠!心态崩了啊,有没有,心态崩了啊!一个环境拖了20天还没配好,那个绝望啊。看到报的错误的时候,感觉自己的skvideo或者是ffmpeg有问题。后来查了查,好像确实是有问题。ffmpeg按照github上给的方法安装的版本是1.4,而这个skvideo要求至少是2.8的版本。(一个网站上说的,不知道真的假的。)然后我把用命令安装的ffmpeg卸载了,用源码安装一个4.1.3版本的。具体操作如下。

#卸载github上已安装的版本
pip uninstall ffmpeg

从这个网站上下载了4.1.3版本:https://ffmpeg.org/download.html

解压之后安装,进入到该文件夹后:

./configure
make
make install

第四部:运行Demo

python3 main.py demo --openpose '/home/sues/Desktop/openpose/build' --video '/home/sues/Desktop/st-gcn-master/resource/media/skateboarding.mp4'  --device 0

感人啊,有没有。配了那么久的环境终于搞好了。

===================================================================================================================================分割线========================================================

补充一下,上面的都是为了演示demo才要配caffe和opencv,openpose,如果只想去训练的话,什么都不需要,直接按照github上操作就ok了,环境就是torch0.4.0,然后该装的装一下就好了。配置文件修改一下就可以训练了。一块1080TI,大概1天左右训练好一个数据集。

 


推荐阅读
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
author-avatar
胖子届全国身轻如燕冠军
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有