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 ...
随机推荐
- 解决leetcode登录报错
1.安装leetcode 2.安装成功后会在拓展下面增在如下图标 点开界面如下 [] 3.点击小地球弹出如下弹窗,选择 启用中国版,可以多点击几次,防止没有选中 4.点击圈出的图标 选择第一个 5.输 ...
- ftp服务无法覆盖同名文件
1.linux修改/etc/pure-ftpd/pure-ftpd.conf的AutoRename yes 重启ftp服务 2.windows server修改 选中ftp站点,选择右侧高级设置,选 ...
- [2004年NOIP提高组] 合并果子
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可以看出,所 ...
- 第一课 基本的DOS命令
常见的DOS命令 1.#切换盘符 F: 2.#查看当前目录下所有文件 dir 3.#切换目录 cd change directory cd ..返回上一级 4.#清理屏幕 cls {clear scr ...
- iOS 为 textView 添加 placeholder
OC : //自定义一个 placeholder 样式的 label UILabel *placeholder = [UILabel new]; placeholder.text = @"请 ...
- SpingBoot面试大汇总
1.什么是SpringBoot? 1)用来优化Spring应用的初始搭建以及开发过程,使用特定的方式来配置(properties和yml文件) 2)嵌入式的内置服务器tomcat无需部署war文件简化 ...
- ARP协议 路由器原理
ARP协议 路由器原理 1 广播与广播域 广播:将广播地址作为目的地址的数据帧 广播域:网络中能够接收到同一个广播所有节点的集合(在这里广播域越小越好) 交换机控制不了广播 路由器可以控制广播 ...
- js实现指定dom节点滚动到可视窗口
const rollDom = document.getElementById('domId') // 获取想要滚动的dom节点 rollDom.scrollIntoView({ block: 'ce ...
- MySql 在 Linux 下的安装与基础配置
使用版本:Mysql (5.7) Linux(CentOS 7.2) 1.安装 1)下载MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/ ...
- 01.数据库基础、JDBC
一.数据库 数据库:用于存储和管理数据的仓库. 数据库的特点 持久化储存数据,数据库就是一个文件系统. 方便储存和管理数据. 使用了统一的方式操作数据库--SQL. 配置 Mysql 服务启动 手动 ...