基于Google colab配置ST-GCN环境记录
前言:Google colab为Deep Learning Applications提供了一个免费的服务器平台,虽然存在很多限制,但是对于学习深度学习而缺乏设备的同学来说简直就是雪中送炭【Google colab使用方法自行学习】
最近在学习<Spatial Temporal Graph Convolutional Networks for Skeleton Based Action Recognition>。因此本文记录了在Google colab平台上配置ST-GCN环境的详细过程以及踩过的坑
文章链接:https://arxiv.org/abs/1801.07455
Github 代码:https://github.com/yysijie/st-gcn
一、从github上下载程序包并上传到谷歌云盘
二、配置环境
环境要求 - Python3 (>3.5) - [PyTorch](http://pytorch.org/) - [Openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) **with** [Python API](https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md#python-api). (Optional: for demo only) - Other Python libraries can be installed by `pip install -r requirements.txt` <!-- - FFmpeg (Optional: for demo only), which can be installed by `sudo apt-get install ffmpeg` -->
- Google colab默认使用python3.6.9
查看python版本(python3.6.9符合环境要求)
!python --version
- Google colab默认使用cuda10.0
本环境使用cuda9.0,安装如下
!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb # 安装软件包:dpkg -i <.deb file name>
!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub # 下载的文件添加到本地数据库
!apt-get update
!apt-get install cuda=9.0.176-1
查看cuda版本
!cat /usr/local/cuda/version.txt
- Google colab默认使用pytorch1.5.1
该网络是在pytorch1.0.0基础上训练的,因此需要安装pytorch1.0.0(网上也有要求安装pytorch0.4.0版本,根据要求安装不同版本)
!pip install https://download.pytorch.org/whl/cu90/torch-1.0.0-cp36-cp36m-linux_x86_64.whl
查看pytorch版本
import torch
print(torch.__version__)
安装指定版本的torchvision
!pip install torchvision==0.2.0
以上是pytorch与torchvision对应版本的一个参考,我安装了pytorch1.0.0与torchvision0.2.0
- 安装openpsoe
Google colab上部署和使用openpose可参考该博客:https://blog.csdn.net/yrwang_xd/article/details/103150691
- 安装环境所需的其他python库
!pip install -r requirements.txt
- 安装FFmpeg
!sudo apt-get install ffmpeg
三、安装和下载模型
- Installation
%cd torchlight
!python setup.py install
%cd ..
Google colab进入指定文件夹
import os
os.chdir("drive/My Drive/st-gcn-master") # ()中为具体路径
- Get pretrained models
bash tools/get_models.sh
获取的模型放在./models路径下。也可以通过谷歌云盘或者百度网盘获取模型文件
谷歌云盘:https://drive.google.com/drive/folders/1IYKoSrjeI3yYJ9bO0_z_eDo92i7ob_aF
以上是配置ST-CGN环境的过程,接下来就可以运行示例代码了,运行哪有那么容易成功0.0第一个问题如下
AttributeError: module 'yaml' has no attribute 'FullLoader'AttributeError: module 'yaml' has no attribute 'FullLoader'
答: FullLoader:该类仅在PyyAML 5.1及更高版本中可用.
查看PyyAML版本
import yaml
yaml.__version__
Google colab中PyyAML默认版本为3.1.1,因此需要更新PyyAML版本
!pip install -U PyYAML
解决了上面的小问题后出现了下面的问题(根据我上面的步骤走下来不会看到下面的报错)
答: 训练模型和测试加载模型所使用的环境不一致
这个问题困扰了我很久,网上有的解释到是因为Get pretrained models时使用运行代码获取的不对,换成通过谷歌云盘或者百度网盘下载的就解决了(可是我就是通过谷歌云盘直接下载的模型,还是报错0.0)
在配置这个环境时,参考网上博客说要安装pytorch0.4.0版本,后来我换成了pytorch1.0.0版本,通过这个方法解决了0.0(上面对pytorch版本没有具体要求,这是个坑啊0.0.,可能人家的训练模型就是用了pytorch0.4.0)
最后在运行示例代码时使用了绝对路径报错
!python main.py demo --video 绝对路径 --openpose 绝对路径
Can not find Openpose Python API.
看了看代码
openpose = '{}/examples/openpose/openpose.bin'.format(self.arg.openpose)
parser.add_argument('--video',
default='./resource/media/skateboarding.mp4',
改成相对路径解决了0.0(心累)
额。。。看了上面的过程感觉我配的很轻松?no!no!no!可是足足愁了我一个星期,当然不止上面的问题,比如:
一直处于运行阶段,无法输出结果
这个应该就是Google colab这个服务器平台的问题了,出现这个问题之后重启尝试了4-5遍都不能正常输出,但是第二天重新打开之后这个问题就消失了0.0
通过配置环境真的能学到很多,遇到什么问题解决什么问题这个过程会让你不断成长,当然配置环境如果遇到各种问题也真的很考验心态,感觉别人半天解决的问题,自己却小好几天都没能完成(别人快也是因为之前的积累嘛),不要看了别人的介绍就觉得一定会成功,等你去实践的时候也许会遇到其他的坑,遇到了跳出来就是很大的进步,希望大家不要放弃,共同分享学习交流!