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 ...
随机推荐
- etcd 基于ubuntu 20.04 部署集群
Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息,K8S中所有持久化的状态信息都是以Key-Value的形式存储在etcd中,提供分布式协调服务.之 ...
- 064_Js常用的五大事件 onclick nochanger onload onsubmit onblur
事件是电脑输入设备与页面交互的响应. onload加载完成事件:onload事件 是在页面被浏览器加载完成之后.自动触发的响应 onclick单击事件 onblur失去焦点事件 onchange内容发 ...
- freertos 启动任务调度器后卡在svc 0,汇编停在了0x0800014A E7FE B 0x0800014A
分别引导加载程序和应用程序(带有或不带有FreeRTOS)都可以正常工作. 引导加载程序和应用程序(无需FreeRTOS)可以完美运行. 但是,如果我在应用程序中使用freeRTOS并完成两项任务(显 ...
- G6-Editor 编辑器入门使用教程
一.前言 G6-Editor 是 AntV 官方提供的.专注于图可视化编辑器的类库,也是市面上完成度较高的图可视化编辑器.然而令人诟病的是其文档对新手极度不友好,我一度怀疑此文档只有他们自己开发人员才 ...
- sed编辑器
sed sed是一个非交互式的流文本编辑器,可实现增删改查,广泛适用于shell脚本中 工作原理 sed每次只从文本或标准输入中读取一行数据,将其拷贝到一个编辑缓冲区,然后对其如同命令一般处理,并显示 ...
- .Net 6.0服务器环境配置以及IIS发布部署心得
经过长达一个月的时间,对.Net 后端开发后的发布以及服务器域名等网站搭建全部过程留档,也帮助有需要的同志进行学习以及查看 https://www.cnblogs.com/xingmengcode/a ...
- win10版本eclipse安装教程——
第一步:下载jdk,配置环境 见我第二篇博客有说明:点击即可进入 第二步:下载eclipse 点击即可进入官网下载 点击 Download Packages,进入eclipse下载页面.从 Eclip ...
- Nexus5安装PostmarketOS(Alpine Linux)并装上Docker
Postmarket OS是一个基于Alpine Linux.能够安装到手机或其他移动设备上.当然linux deploy也可以使用SSH,但linux deploy运行在容器里.使用上会有些限制 ...
- SourceMap解析
前端发展至今已不再是刀耕火种的年代了,出现了typescript.babel.uglify.js等功能强大的工具.我们手动撰写的代码一般具有可读性,并且可以享受高级语法.类型检查带来的便利,但经过工具 ...
- 方法(Java)
什么是方法? 基本介绍 在其他语言中也叫函数 System.out.println();类名.对象.方法: Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包 ...