搞深度学习这东西配环境真的难。总是在达成目标的路上遇到各种错误。
本文仅记录配置环境中的心得。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,具体参考博客,这两个必须要弄好。
然后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天左右训练好一个数据集。