Google colab复现openpose+st-gcn的心路历程
Google colab复现openpose+st-gcn的心路历程:
因为本人的大致研究方向为动作识别,加上自己的笔记本比较菜鸡,没有牛皮的显卡,所以采用了google的colab。在网上查了三天,最后发现只有两个老哥的笔记比较靠谱,其他人基本上都是复制粘贴他们的博客,这两个老哥写的也比较简陋,可能是针对他们的基础写的,有些地方没写清楚,对于小白有点不太友好,本人的技术也很菜,站在之前的那两位老哥的肩膀上过来的,一共重新配置了8次才成功,花了两天时间,每一次都要从头开始各种bug都碰到过,换了三个谷歌账号才完成(因为colab的gpu是限时的!)。
这里给出两个靠谱的笔记地址:
(25条消息) 配置ST-GCN环境记录【Google colab】_Gary_ghw的博客-CSDN博客
(26条消息) ST-GCN复现以及配置环境遇到的问题(Colab)_Niki173的博客-CSDN博客
1、装载google云端硬盘

2、上传在github上下载的st-gcn代码到mydrive并解压到content目录下。
传送门在这:github:https://github.com/1zgh/st-gcn
3、导入openpose的代码:
import os
from os.path import exists, join, basename, splitext
git_repo_url = 'https://github.com/CMU-Perceptual-Computing-Lab/openpose.git'
project_name = splitext(basename(git_repo_url))[0]
if not exists(project_name):
# see: https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/949
# install new CMake becaue of CUDA10
!wget -q https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz
!tar xfz cmake-3.13.0-Linux-x86_64.tar.gz --strip-components=1 -C /usr/local
# clone openpose
!git clone -q --depth 1 $git_repo_url
!sed -i 's/execute_process(COMMAND git checkout master WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\/3rdparty\/caffe)/execute_process(COMMAND git checkout f019d0dfe86f49d1140961f8c7dec22130c83154 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\/3rdparty\/caffe)/g' openpose/CMakeLists.txt
# install system dependencies
!apt-get -qq install -y libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev opencl-headers ocl-icd-opencl-dev libviennacl-dev
# install python dependencies
!pip install -q youtube-dl
# build openpose
!cd openpose && rm -rf build || true && mkdir build && cd build && cmake .. && make -j`nproc`
from IPython.display import YouTubeVideo
编译成功之后如下:

4、安装cuda9.0,colab上默认是10.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
!cat /usr/local/cuda/version.txt # 查看cuda版本

5、安装torch1.0.0加torchvision0.2.1 这里再安装torch1.0.0的时候报错了。(!!!!这个鬼东西搞了我一整天,重新弄了三次,最后经测试后才发现是在使用了!git clone st-gcn代码。。。命令之后就不能用pip了,我也不知道啥原因。所以尽量先把代码下载到本地在上传到谷歌云硬盘上解压。)

6、安装一些配置环境
!pip install -r requirements.txt
!sudo apt-get install ffmpeg
%cd /content/st-gcn-master/torchlight
!python setup.py install
%cd ..
!bash /content/st-gcn-master/tools/get_models.sh # 如果这个不管用就去上面我给的老哥的文章中找到模型,下载再上传到对应的位置(在st-gcn-master下的models里)。
7、运行demo
!python main.py demo --video /content/st-gcn-master/resource/media/cuk2.mp4 --openpose /content/openpose/build
这里我报了一个yaml的错误

意思是在io.py文件里面的load()函数缺少Loader参数,那咱就给他加上去。

或者是把load函数改为safe_load()函数。

到这我就跑通了。
但是在这里我发现一个问题,我看了github上star最多的那个st-gcn代码,他的源码的io.py文件里面是没有我上面这个load函数的错误的,但是他那个代码我运行一直会报Can not find python API的错。解决不了,然后我就改用另外一个老哥提供的代码了,除了这个load函数之外,其他的没问题。能跑通。但是最后存下来的.mp4文件。我下载到本地之后,播放是一片漆黑的。这个原因我还没处理。

最后祝大家也能早日复现,本人也是受尽了磨难才弄完。本人的大致研究发现是动作识别,如有兴趣,可以加好友一起讨论,本人微信是:captainsunsun
最后把我过程中用到的所有脚本总结一下:
import os
from os.path import exists, join, basename, splitext
git_repo_url = 'https://github.com/CMU-Perceptual-Computing-Lab/openpose.git'
project_name = splitext(basename(git_repo_url))[0]
if not exists(project_name):
# see: https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/949
# install new CMake becaue of CUDA10
!wget -q https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz
!tar xfz cmake-3.13.0-Linux-x86_64.tar.gz --strip-components=1 -C /usr/local
# clone openpose
!git clone -q --depth 1 $git_repo_url
!sed -i 's/execute_process(COMMAND git checkout master WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\/3rdparty\/caffe)/execute_process(COMMAND git checkout f019d0dfe86f49d1140961f8c7dec22130c83154 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}\/3rdparty\/caffe)/g' openpose/CMakeLists.txt
# install system dependencies
!apt-get -qq install -y libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev opencl-headers ocl-icd-opencl-dev libviennacl-dev
# install python dependencies
!pip install -q youtube-dl
# build openpose
!cd openpose && rm -rf build || true && mkdir build && cd build && cmake .. && make -j`nproc`
from IPython.display import YouTubeVideo
!unzip "/content/drive/MyDrive/st-gcn/st-gcn.zip" -d "/content/" # 这个是解压我自己上传到云盘上的st-gcn.zip
!pip install torch==1.0.0 torchvision==0.2.1
!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
!cat /usr/local/cuda/version.txt # 查看cuda版本
import torch
torch.__version__
%cd st-gcn-master
!pip install -r requirements.txt
!sudo apt-get install ffmpeg
%cd /content/st-gcn-master/torchlight
!python setup.py install
%cd ..
!bash /content/st-gcn-master/tools/get_models.sh
!pip install -U PyYAML
!python main.py demo --video /content/st-gcn-master/resource/media/clean_and_jerk.mp4 --openpose /content/openpose/build
Google colab复现openpose+st-gcn的心路历程的更多相关文章
- Google Colab Free GPU Tutorial【转载】
转自:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d 1.Google Cola ...
- 使用GOOGLE COLAB训练深度学习模型
使用 谷歌提供了免费的K80的GPU用于训练深度学习的模型.而且最赞的是以notebook的形式提供,完全可以做到开箱即用.你可以从Google driver处打开.或者这里 默认创建的是没有GPU的 ...
- Google Colab 基本操作
## 上传 from google.colab import files uploaded = files.upload() for fn in uploaded.keys(): print('Use ...
- Google Colab Notebook 的外部文件引用配置
Google Colab Notebook 的外部文件引用配置 Reference: How to upload the file and read Google Colab 先装工具:google- ...
- Google Colab 免费GPU服务器使用教程
Google免费GPU使用教程(亲测可用) 今天突然看到一篇推文,里面讲解了如何薅资本主义羊毛,即如何免费使用Google免费提供的GPU使用权. 可以免费使用的方式就是通过Google Cola ...
- Google免费GPU使用教程(Google Colab Colaboratory)
参考: https://www.234du.com/1154.html https://mp.weixin.qq.com/s/TGTToLYSQJui94-bQC4HIQ 注册gmail时遇到手机号无 ...
- Google Colab 免费的谷歌GPU for deep learning
Who wants to use a free GPU for deep learning?Google Colab is a free cloud service and now it suppor ...
- 在Google Colab中导入一个本地模块或.py文件
模块与单个.py文件的区别,模块中含有__init__.py文件,其中函数调用使用的是相对路径,如果使用导入.py文件的方法在Google Colab中导入模块 会报错:Attempted relat ...
- Google Colab调用cv2.imshow奔溃
当我在Google Colab运行如下代码 import cv2 import numpy as np image = cv2.imread('a.jpg') cv2.imshow('original ...
- Google Colab的一些注意事项
1.执行命令行前面加! 当我们使用python解释器时,我们需要不停地在命令行和IDE 之间切换,当我们需要使用命令行工具时.不过,Jupyter Notebook给了我们在notebook中运行sh ...
随机推荐
- 计算2-expr命令举例
一.expr命令 1.语法和功能 只能用于整数运算和字符串长度.匹配等运算处理 expr 2 + 2 expr 2 - 2 expr 2 \* 2 expr 2 / 2 i=5;i=`expr $1 ...
- FFmpeg 命令行
FFmpeg命令行帮助 #>ffmpeg -h #>ffmpeg -h long #>ffmpeg -h full 将视频按照指定的宽高输出 #>ffmpeg -i input ...
- ssh-add
ssh-add -l https://www.jianshu.com/p/0c6719f33fb9 添加秘钥,而不是公钥
- noi 1.1 4 保留三位的浮点数
描述 输入一个单精度浮点数,保留3位小数输出这个浮点数. 输入 只有一行,一个单精度浮点数. 输出 也只有一行,输入的单精度浮点数. 样例输入 12.34521 样例输出 12.345 题意 就是输入 ...
- Leetcode本地阅读器开发--01界面设计二
返回项目声明及目录:Leetcode本地阅读器开发--总声明 继续上一节内容: 1.第一个内容是左边第一行的功能,读取默认路径和修改路径.此路径为本地阅读器的搜索题目的主目录. 为了整个程序都能读取工 ...
- sourceTree工具使用方法
https://www.cnblogs.com/tian-xie/p/6264104.html
- postgresql--column must appear in the group by clause or be used in an aggregate function
我想得到大于男女平均年龄的人 原表: 在gauss200下执行以下语句: SELECT stname,age,gender,AVG(age) FROM att_test01 GROUP BY gend ...
- 【Android异常】关于静态注册BroadcastReceiver接收不到自定义广播的问题
Android 8.0以上需要setComponent()来指定包名和类名,第1个参数是指接收广播类的包名,第2个参数是指接收广播类的完整类名.静态广播1.先使用Android Studio创建一个广 ...
- 查看Linux 日志
# 直接定位到第100行 less +100g xx.log # 定位到最后一行 less +GG xx.log # 定位到第100个字节的位置 less +100P xx.log # 直 ...
- nrm ls报错及npm镜像站点测速、切换
报错截图: 解决方法: 1.win键,搜索powershell,点击"以管理员身份运行" 2.粘贴下面命令,回车,敲y,回车 set-ExecutionPolicy RemoteS ...