windows10中配置mmhuman3d

news2025/3/15 23:04:05

分类:动作捕捉
github地址:https://github.com/open-mmlab/mmhuman3d
所需环境:Windows10,CUDA11.6,conda 4.13.0,Visual Studio 2017

目录

  • 一.新建Pytorch基本环境
    • 1.创建并激活环境
    • 2.安装ffmpeg
    • 3.安装 PyTorch 全家桶
    • 4.从源码安装 PyTorch3D
      • 4.1使用git下载PyTorch3D源码包
      • 4.2手动下载CUB库并解压至本地
      • 4.3修改PyTorch3D的setup.py
      • 4.4安装Pytorch3D
      • 4.5检验是否安装成功
  • 二.安装其他的mmlab
    • 2.1 mmcv(成功)
    • 2.2 mmdetection(成功)
    • 2.3 mmpose(成功)
    • 2.4 mmtrack
  • 三.安装mmhuman3d
  • 参考链接

一.新建Pytorch基本环境

1.创建并激活环境

conda create -n open-mmlab python=3.8 -y
conda activate open-mmlab

2.安装ffmpeg

conda install ffmpeg

3.安装 PyTorch 全家桶

(CUDA与cudnn没安装的话可以采用之前的1安装方式。Pytorch选择以下指令在线安装,这会自动适配CUDA11.6,下载最新的Pytorch版本。新版本会改正很多bug,很好地兼容mmlab全家桶。在下面的安装过程中mmlab全家桶也全下载最新版的,以免出现问题后各种查issue,其实大部分issue都是版本问题引起的。本次不使用torch-1.13.1+cu116-cp38-cp38-win_amd64.whl离线安装。)

安装适配CUDA11.6最新版本的Pytorch全家桶(# 注意:只能下载cpu版本的,gpu的pytorch会存在CUDA依赖问题导致无法编译mmhuman3d和mmtrack,)

d:\anaconda3\envs\test\lib\site-packages\torch\include\pybind11\cast.h(624): error: too few arguments for template template parameter “Tuple”
d:\anaconda3\envs\test\lib\site-packages\torch\include\pybind11\cast.h(717): error: too few arguments for template template parameter “Tuple”

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple

4.从源码安装 PyTorch3D

请参考这个2。其实直接使用pip安装会更方便,源码构建比较麻烦。只是官网这么写的所以我就源码构建了。直接用pip安装的PyTorch3D理论上应该不会影响后续安装,读者可以一试。

4.1使用git下载PyTorch3D源码包

conda install git
git config --global http.proxy http://127.0.0.1:7890# 简单粗暴直接给git命令开代理,避免下载超时。端口号是clash的默认端口
cd D:\WLm_Project\MotionCatch\Openmmlab\Pytorch3D
git clone https://github.com/facebookresearch/pytorch3d.git # 运行此句前需要开启clash,运行完毕后记得退出clash

4.2手动下载CUB库并解压至本地

下载CUB1.10.0

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

设置环境变量-系统变量CUB_HOME,确定三连
在这里插入图片描述

4.3修改PyTorch3D的setup.py

修改Pytorch3D的setup.py 52行:extra_compile_args = {"cxx": ["-std=c++14"]}extra_compile_args = {"cxx": []}
在这里插入图片描述
删除Pytorch3D的setup.py.78行:-std=c++14
在这里插入图片描述

4.4安装Pytorch3D

cd D:\WLm_Project\MotionCatch\Openmmlab\Pytorch3D\pytorch3d
python setup.py install

需要编译好一阵子!
在这里插入图片描述
说明已经安装完毕了
在这里插入图片描述

4.5检验是否安装成功

注意:以下python代码不要本地Pytorch3D路径(Openmmlab\Pytorch3D\pytorch3d)中运行3.以免发生ImportError: cannot import name '_C' from 'pytorch3d'错误。

import pytorch3d
print(pytorch3d.__version__)
from pytorch3d.renderer import MeshRenderer
print(MeshRenderer)
from pytorch3d.structures import Meshes
print(Meshes)
from pytorch3d.renderer import cameras
print(cameras)
from pytorch3d.transforms import Transform3d
print(Transform3d)

在这里插入图片描述

import torch
device=torch.device('cuda')
from pytorch3d.utils import torus
Torus = torus(r=10, R=20, sides=100, rings=100, device=device)
print(Torus.verts_padded())

注意:gpu版本才会出现下图,cpu版本因为无法使用CUDA会报错。
在这里插入图片描述

二.安装其他的mmlab

2.1-2.4都可以直接安装,读者可以尝试官网教程。但是我是直接从源码构建的。

https://github.com/open-mmlab/mmhuman3d/blob/main/docs/install.md

2.1 mmcv(成功)

打开Anaconda的Powershell Prompt4,配置open-mmlab环境的环境变量,输入以下指令:
在这里插入图片描述

conda activate open-mmlab
$env:TORCH_CUDA_ARCH_LIST="7.5" # 显卡算力 2080是7.5
$env:MMCV_WITH_OPS = 1 # mmcv默认没有cuda选项,手动改成使用CUDA
$env:MAX_JOBS = 8  # 基于电脑内核,我是12核,给定最大8线程

在这里插入图片描述

回到Anaconda的Powershell Prompt,安装mmcv5

cd D:\WLm_Project\MotionCatch\Openmmlab\mmcv
# git clone https://github.com/open-mmlab/mmcv.git -b v1.5.3
git clone https://github.com/open-mmlab/mmcv.git # 获取当前版本2.0.1
cd mmcv
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.2 mmdetection(成功)

cd D:\WLm_Project\MotionCatch\Openmmlab\mmdetection
# git clone https://github.com/open-mmlab/mmdetection.git -b v2.25.1
git clone https://github.com/open-mmlab/mmdetection.git# 安装最新版本mmdet3.1.0
cd mmdetection
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.3 mmpose(成功)

cd D:\WLm_Project\MotionCatch\Openmmlab\mmpose
# git clone https://github.com/open-mmlab/mmpose.git -b v0.28.1
git clone https://github.com/open-mmlab/mmpose.git# 安装最新版本mmpose1.1.0
cd mmpose
git config --global --unset http.proxy # 取消之前的git代理设置,不然requirements下载不完全
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

2.4 mmtrack

cd D:\WLm_Project\MotionCatch\Openmmlab\mmtracking
# git clone https://github.com/open-mmlab/mmtracking.git -b v0.13.0
git clone https://github.com/open-mmlab/mmtracking.git# 安装最新版本0.14.0
cd mmtracking
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e .  -i https://pypi.tuna.tsinghua.edu.cn/simple # or "python setup.py develop"

在这里插入图片描述
提示scipy版本冲突,但是mmtrack0.14.0安装上了。冲突问题可暂时不考虑,以后跑代码时出现问题再说。

三.安装mmhuman3d

# !!!!!!!!!!!!!!此部分指令不要输入进conda 这是错的
cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d
git clone https://github.com/open-mmlab/mmhuman3d.git
cd mmhuman3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple  # or "python setup.py develop"

这会出现错误:picklebufobject.obj : error LNK2005: PyPickleBuffer_GetBuffer 已经在 python38.lib(python38.dll) 中定义 build\lib.win-amd64-cpython-38\pickle5\_pickle.cp38-win_amd64.pyd : fatal error LNK1169: 找到一个或多个多重定义的符号 error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\link.exe' failed with exit code 1169

在这里插入图片描述
在这里插入图片描述

这个是没法解决的,我在这里找到了这个issue6。意思是pickle5三年前就没人维护了,建议删除pickle5,因为会阻止mmhuman3d在windows上的安装(pickle5没法编译所以mmhuman3d安装就会中断)。

显然作者团队也已经注意到这个问题7,并且画饼会给出解决方案,然而过去了一年没消息。

这个是找到的修改策略8,是别人的改进方式,但是官方还没有拉到自己仓库中。我直接克隆了这个仓库,尝试后发现可以正常在windows中安装mmhuman3d。相对于官方仓库而言,他改了以下四个文件(直接取消了对pickle5的调用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装指令如下:

cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d
git clone https://github.com/Wei-Chen-hub/mmhuman3d.git# 安装Wei-Chen-hub给出的mmhuman3d-0.11.0修改版本
cd mmhuman3d
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple  # or "python setup.py develop"

成功安装mmhuman3d0.11.0
在这里插入图片描述

升级某个库时,首先pip uninstall将其卸载。然后删掉源码文件夹从新git。重新执行安装requirments的依赖和setup的安装指令。

# git config --global http.proxy http://127.0.0.1:7890
# git config --global --unset http.proxy 
# 试图在windows gpu pytorch上安装MMhuman3d所做的一些尝试:
# 卸载
 pip uninstall torch torchvision torchaudio  -y
 
 # windows cpu pytorch(2.0.1) 无cudatoolkit:完美安装
 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple

 # windows gpu pytorch(1.13.1) 无cudatoolkit:不可安装
 pip install torch-1.13.1+cu116-cp38-cp38-win_amd64.whl
 pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
 
 # windows gpu pytorch(2.0.0) cudatoolkit(11.8):不可安装
 conda install cudatoolkit=11.8
 cd D:\WLm_Project\MotionCatch\Openmmlab
 pip install torch-2.0.0+cu117-cp38-cp38-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117 
 
 # windows gpu pytorch(1.10.1) cudatoolkit(11.3):不可安装
 conda install cudatoolkit=11.3
 pip install torch-1.10.1+cu111-cp38-cp38-win_amd64.whl
 pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html

 # mmhuman3d安装指令
 cd D:\WLm_Project\MotionCatch\Openmmlab\mmhuman3d\mmhuman3d
 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

参考链接

1.win10中CUDA cundnn pytorch环境搭建记录
2.在windows中安装Pytorch3D
3.ImportError: cannot import name ‘_C’ from ‘pytorch3d’
4.Windows10下面安装MMCV全过程图文详解
5.【OpenMMLab全家桶】Win10编译配置教程
6.呼吁移除pickle5
7.pickle5有何作用
8.其他作者fork的代码,但是mmhuman3d团队暂时没有归并到自己repo中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

21、stm32使用LTDC驱动LCD

注:本文基于stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)工程继续开发 本例使用安富莱的H743XIH板子驱动LTDC点亮7寸LCD 硬件接线:RGB888 一、cubemx配置 1、LTDC配置 注意此引脚应于上面的硬件接线图一致 2、配置DMA2D 3、背光引脚和触摸引脚 4、时钟…

cpu使用率,CPU使用率指的是什么

目录 1、cpu使用率CPU使用率指的是什么? 2、cpu利用率100? 3、电脑CPU使用率居高不下? 4、cpu使用率100怎么恢复默认? 5、cpu使用率98? 1、cpu使用率CPU使用率指的是什么? CPU使用率其实就是运行的程…

SQL | 计算字段

7-创建计算字段 7.1-计算字段 存储在数据库中的数据一般不是我们所需要的字段格式, 需要公司名称,同时也需要公司地址,但是这两个数据存储在不同的列中。 省,市,县和邮政编码存储在不同的列中,但是当我们…

B056-Mybatis增强

目录 域对象(domain)之间的关系A 表结构上是如何设计关系的B 实体对象上是如何设计关系的回顾多表查询 结果映射多对一/一对一DomainDepartmentEmployee MapperEmployeeMapperEmployeeMapper_嵌套结果.xml(推荐使用)EmployeeMappe…

(4)各个属性角色分析显示-4

将折线图、数据集、散点图集合在一个html文件中: (1)将折线图、数据集、散点图设置为函数a()、b()、c(), (2)再调用page.add()函数,将三个图片组合在一起 (3)运行page.…

python sqlalchemy 动态设置表名__tablename__,一个model对应多个table

我们在上一篇中说明了,如何在.net core的efcore中动态设置表名。 本文讲述如何在sqlalchemy中动态设置表名,使多个table可以对应到一个model 表如下 code example from sqlalchemy import create_engine,Column,BigInteger,String from sqlalchemy.ext…

Java全开源电影票一站式购买平台程序研发

院线电影票H5用户端一站式订购平台设计 随着移动互联网的普及和快速发展,越来越多的用户开始使用手机端进行在线购票。为了满足用户更加便捷、快速地购买电影票,我们设计了一个院线电影票H5用户端一站式订购平台。该平台集成了多种功能,旨在…

腾讯云服务器地域有什么区别怎么选择?

腾讯云服务器地域有什么区别?怎么选择比较好?地域选择就近原则,距离地域越近网络延迟越低,速度越快。关于地域的选择还有很多因素,地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素…

linux系统的压缩、解压详细用法,附代码举例(感觉别人写的都不够好)

文章目录 zipzip支持的选项有:-A 详细解释-d (对压缩包操作)-e (对压缩文件加密)-f(只更新文件)-g(不显示压缩过程)-r (文件夹必选)-u&#xff08…

ECRS工时分析:什么叫标准化作业管理?为什么要进行作业标准化管理

中国自古就有标准化。《孙子兵法》中,孙子训练射箭,射箭的姿势是“标准化操作”;中国武术中的套路是“标准化”;在中国古诗中,字数甚至被“标准化”来打开中国历史,“标准化”作业的例子数不胜数。 而在工厂…

[C语言]深入浅出,带你构建C语言宏观框架

导言: 本文章会带你基本了解C语言,对他有一个感性的认识,对其有一个框架,后期在对其进行更加细致的补充。 文章目录 C语言第一个函数变量局部变量 与 全局变量常量字符串 与 转义字符 头文件分支 与 循环注释数组关键字操作符宏指…

【学习FreeRTOS】第4章——FreeRTOS任务创建与删除

1.任务创建和删除的API函数 任务的创建和删除本质就是调用FreeRTOS的API函数 动态方式创建任务——xTaskCreate()静态方式创建任务——xTaskCreateStatic()删除任务——vTaskDelete() 动态创建任务:任务的任务控制块以及任务的栈空间所需的内存,均由 F…

美团研究院:2022年剧本娱乐行业发展报告(附下载)

关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 户外赛道本质上迎合了全球共性需求的增长,在全球普遍进入大规模城市化、市场经 随着居民收入水乎提高,中国消费者日益注重精神文化生活,文化娱乐成为人们重要的体闲…

Android的学习系列之Android Studio Setup安装

Android的学习系列之Android Studio Setup安装 [TOC](Android的学习系列之Android Studio Setup安装) 前言Android平台搭建总结 前言 还是项目需要,暂时搭建安卓的运行平台。 Android平台搭建 安装包 双击安装包,进入安装。 下一步 根据自己需求&a…

kinit报错 /etc/host.conf: line 3: bad command `nospoof on‘

kinit报错 /etc/host.conf: line 3: bad command nospoof on’ linux7.5不再支持nospoof命令了, 修改/etc/host.conf注释掉nospoof on即可。

chatGPT小白快速入门培训课程-001

一、前言 本文是《chatGPT小白快速入门培训课程》的第001篇文章,全部内容采用chatGPT和chatGPT开源平替软件生成。完整内容大纲详见:《chatGPT小白快速入门课程大纲》。 本系列文章,参与: AIGC征文活动 #AIGC技术创作内容征文# …

39 printf 的输出到设备层的调试

前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度 然后内核这边 只是到了 write 的系统调用, 并未向下细看 我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的 测试用例…

宋浩线性代数笔记(五)矩阵的对角化

本章的知识点难度和重要程度都是线代中当之无愧的T0级,对于各种杂碎的知识点,多做题复盘才能良好的掌握,良好掌握的关键点在于:所谓的性质A与性质B,是谁推导得谁~

【ultralytics仓库使用自己的数据集训练RT-DETR】

ultralytics仓库使用自己的数据集训练RT-DETR RT-DETR由百度开发,是一款尖端的端到端物体检测器(基于transformer架构),在提供实时性能的同时保持高精度。它利用视觉变换器(ViT)的力量,通过解耦…

MongoDB的下载和安装

一、MongoD下载 下载地址:https://www.mongodb.com/try/download/community 二、安装 因为选择下载的是 .zip 文件,直接跳过安装,一步到位。 选择在任一磁盘创建空文件夹(不要使用中文路径),解压之后把文…