window10下openpose和pyopenpose的配置

window10下配置pyopenpose

    • 扯一扯
    • 项目整体思路
    • 详细说明其中的坑仅供大家参考

扯一扯

原本是一个只会windows的小白,后来由于会遇到各种各样的研究课题的原因开始接触各类各样的开源项目,开始尝试到Ubuntu下面去做尝试,现在已经习惯了命令行界面带给我的快感,windows倒是变得极其陌生。可是天有不测风云,来了个项目,必须用windows跑代码,不得已,又要开始烦躁而复杂的window配置。不扯了,进入正题。

项目整体思路

  1. 首先我们要明确的一个问题就是pyopenpose的配置过程一定要在openpose的基础上进行,而pyopenpose只是利用python去调用openpose。
  2. 安装openpose以及pyopenpose需要cmake的支持,在cmake中生成build文件。所以对于cmake的安装和使用要有一定的了解。
  3. 对于openpose和pyopenpose需要在Visual Studio(我是2015)中生成对应的文件,并将生成的文件拷贝到build文件中。
  4. 另外对于python的版本来说,我有个大坑需要说明一下。由于我ubuntu习惯了,对于python的安装非常喜欢用anaconda去安装多版本的python,用终端去切换Python的版本。但是我在安装openpose和pyoepnpose后,我的python编译器都在anaconda的虚拟环境路径下,导致当我安装好openpose和pyopenpose后,他们俩的路径和我的python编译器路径不一致,无法调用,程序也就无法运行成功(猜测:这里我在想其实可以将openpose和pyopenpose安装在anaconda路径下的虚拟环境中,实际上操作应该也不会太复杂),我就直接在我电脑base环境下直接装一个python3.7,这样加载编译器的之后就能直接调用pyopenpose。
  5. 声明:这篇博客只是我个人的一个小小的经历记录过程,专业性很低,因此,为了把最好的东西传递给大家,先mark另两个重要的视频链接,相信只要按照视频的步骤一步步尝试,就可以顺利的在windows上跑我们的pyopenpose代码了。
    (windowGPU)B站:Openpose的编译和PyOpenpose的基本使用
    (windowCPU)B站:OpenPose编译(Win10; Python; Cpu_Only)

详细说明其中的坑仅供大家参考

##第一个坑cmake
window10下openpose和pyopenpose的配置_第1张图片
上图中我们在进行cmake编译之前,我们的optional platform一定要选择x64,我就是懒,当着这个选项空着,结果系统就默认了选择win32,导致我在generate时候,cmake由于系统的问题报错。

##第二个坑
第二个就是python编译器和我们的openpose以及pyopenpose安装的位置不一致导致的import pyopenpose失败的问题。最直接的方法就是放弃anaconda的python安装,在base环境下去安装我们的python3.7,这样,当我们用jupyter或者pycharm打开含有pyopenpose的code,就可以选定base环境下的编译器,顺利的执行code。当然,我们可以将openpose和pyopenpose安装在anaconda环境下的各个虚拟环境中。

##第三个坑
准确的来说,这也不是一个坑,就是cmake中有很多要下载的内容,打开下载文件,找到对应的下载链接,利用迅雷手动下载好之后,复制到对应文件夹中就可以。

##第四个坑##
我们cmake成功后,打开Visual Studio2015,需要将所有的可编译项目调整到2015下,当然这个操作只是针对于同时安装了多个版本的Visual Studio,如果像我一样只安装了一个版本的,就会默认使用当前版本。
window10下openpose和pyopenpose的配置_第2张图片
##第五个坑##
我们需要将以下几个红线文件进行编译。
window10下openpose和pyopenpose的配置_第3张图片
然后生成一下几个文件。
window10下openpose和pyopenpose的配置_第4张图片
window10下openpose和pyopenpose的配置_第5张图片
最后将以上红色标注的文件全部拷贝到bin文件中就可以。为了保证python编译器能够找到openpose和pyopenpose,我直接把python文件或者jupyter文件放在bin文件中,这样肯定能import pyopenpose成功。

你可能感兴趣的:(深度学习,tensorflow)