首页 > 系统相关 >一步步教学在 Windows 下面安装 pytorch3d 来部署 xuniren 这个项目

一步步教学在 Windows 下面安装 pytorch3d 来部署 xuniren 这个项目

时间:2023-06-09 18:26:18浏览次数:50  
标签:下面 xuniren 编译 项目 Windows pytorch3d torch3d 虚拟环境 安装

对于这篇教程打算上个星期就准备写了,无奈一直在跑产品和参加行业活动,始终迟迟未能和大家见面。这个项目主要是小郭总开源的 Fay 虚拟人控制器然后看到有这么一个真人 2D 的项目——xuniren,激发了我部署项目的好奇心。从而有了一些经验(踩了很多坑),顺利在几台电脑上跑通,而且远程也帮了一位朋友部署成功。所以趁热打铁,我写下这篇文章来给感兴趣的小伙伴分享下心得,希望大家顺顺利利地部署 pytorch, torch3d, 这些项目。顺便说一句,这些项目在 Linux, macOS 部署都很简单,可惜 Windows 下面确实需要折腾很久。

我这里安装的版本先罗列一下。pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 cub_home=1.11.0  torch3d==0.7.1  为了方便大家我先把下载链接一并放出。接下来就进入我们的正式安装环境。从0到1的开始。然后所需要的C++ 编译工具是Visual Studio 2019 的版本。版本号如下:

然后就是安装Mingw的c++编译工具,这个安装包可以上网下载,也可以私信我来取。

 

通过conda 新建一个虚拟环境

conda create -n torch3d python=3.9

激活虚拟环境

conda activate torch3d

接下来就可以执行pytorch安装命令了。

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

安装好之后,可以看到下面这张图。

然后我们进入虚拟环境里执行下面两段代码

import torch
print (torch.cuda.is_available())

验证一下我们安装的 cuda 是否为 True

这里顺便插播 CUDA_TOOLKIT 和 CUB_HOME 安装过程。cuda_toolkit 可以直接通过我上面的链接进行下载安装,直接一路 Next 安装就可以了,cub_home 也是下载完之后,在系统的环境变量里面进行设置如下图。

看到这些我们就可以把 torch3d 的文件进行下载,编译安装了。我这里是把 torch3d 的项目放到虚拟环境里面的 site-packages 里面,这里每个人的虚拟环境安装不同可以找一下。我这里是在C盘下面的 anaconda 下面。如下图

然后需要把 pytorch3d 里的 setup.py 文件77行里的 -std=c++14 参数注释掉。如下图:

 这样的我们就可以以管理员身份打开 VC++ 的编译工具了。如下图:

然后找到刚才的虚拟环境里的 pytorch3d 的文件路径,激活虚拟环境之后,需要输入下面两个命令就可以执行安装了。执行顺序依次为:

set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1

经过长时间漫长的等待,中间不出错误的话,可以看到下面这张图片。

这样我们就成功编译了 torch3d 这个项目,接下来就是我们把 xuniren 这个项目 clone 下来,激活我们刚才创建的 torch3d 这个虚拟环境。在这个项目的 ReadMe 文档里有说到要用 VC ++ 编译器去编译 freqencoder, gridencoder, raymarching shencoder 这几个项目,其实这是 Nerf 项目所依赖的第三方库,如果后面用到数据训练的话,这些是必须要安装的。接下来我就演示一下如何编译这些文件。我是一个一个进行编译了,没有执行批处理命令。这里需要注意的两点就是需要把四个文件的 setup.py 文件里的代码,按照下面的格式进行修改。

 cmdclass 里的 build_ext 加上 use_ninja=False, 然后把 ‘-03’, '-std=c++14' 注释掉,如下图:

 这样就可以继续在 VC ++ 2019 的编译器下面进行逐个安装。需要在 xuniren 这个项目里对应的文件夹下面执行安装命令:

conda activate torch3d
set DISTUTILS_USE_SDK=1
python setup.py install

依次执行完之后就可以得到这四个依赖库安装成功的界面了。我这里当时过于激动只截了一张图,给大家看看。

进行到这里的时候,应该会提示有些库有冲突了,我这里是pillow,我重新安装之后就可以了。这个项目用到了ffmpeg,Windows 系统下载一个即可,然后在环境变量配置一下即可。我安装的是ffmpeg-5.1.2 这个版本。

pip install pillow==9.0.0

如果你能进行到这里,那么你离这个项目 Run 起来就咫尺之遥了。接下来我们就可以执行项目中说的命令了。

python fay_connect.py

经过漫长的模型下载,就可以看到下面的这个运行窗口了。

 不过不要高兴太早,每个令人兴奋的项目在最后的关键时刻总会有个小问题站出来,让你看不到心中的亮光。我们需要在fay_connect.py 这个文件里做一个小修改。把原来的方法 convert_mp3_to_wav("/" + old_path, new_path)  改成下面的就可以看到虚拟人张嘴,听到虚拟人说话了。当然你是需要把 Fay 控制器打开,才可以进行互动交流哦。

 整个安装过程就是这样的,这里遇到最多的问题就是 C++ 编译的问题,找了很多资料都没有把这个虚拟人项目部署说得精准的,所以这篇文章就应运而生了,解决大家在部署过程中遇到的难题。对于训练自己的数字人,我这边也已经部署成功,只不过训练出来的数字人播报,远没有 metahuman 有意思。如果大家也有疑问,就给我留言吧。

 

标签:下面,xuniren,编译,项目,Windows,pytorch3d,torch3d,虚拟环境,安装
From: https://www.cnblogs.com/dm521/p/17469967.html

相关文章

  • vc6,windows 7 x64 调试 (IS2120@BG57IV3)
    //z2012-12-2416:31:[email protected]在windows7x64上调试vc6console程序时,按了shift+f5,程序并不结束。解决方法:替换这个文件TLLOC.dllwww.dr-hoiby.com/TLLOC.dll//z2012-12-2416:31:[email protected]......
  • 利用云服务器实现内网穿透(frp),开启个人电脑(windows)可远程桌面访问
     前言:利用微软自带的远程桌面进行访问,但无奈没有固定的公网地址,使用其他三方软件免费使用会有网络延迟等问题,因此需要一个相对稳妥的方式,那便是配合frp内网穿透实现远程访问个人电脑前提:有一台云服务器(需要公网ip,最好是国内的,延迟会较低) 教程步骤:1.下载frpfrp分为客......
  • Windows证书管理器 && SSL certification && WSL-Docker: curl: (60) SSL certificat
    深入浅出certmgr——Windows证书管理器https://www.fke6.com/html/91605.html计算机安全是当前社会的一个重要议题,证书是一种重要的安全机制,负责证明数据、软件或者人的身份和信誉。certmgr(即“证书管理器”)是Windows中专门用于证书管理的工具。本文将从多个方面对certmgr进行深......
  • 有什么Windows电脑上好用地记笔记软件
    当你每天的工作事项非常多时,就会有很多事情需要记住,面对繁琐复杂的各种事项,很多人的记忆力都是有限的,很容易就会忘记工作事项,这应该怎么办呢?其实随着工作量的增加,想要快速、准确的记住琐碎的工作信息,借助一款记笔记软件可以起到事半功倍的作用。一般大多数上班族使用的办公设备都......
  • windows系统上安装与使用Android NDK r5
     很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单的android  一:什么是NDKNDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk      ......
  • windows安装git和用法
    1、windows下载gitgit官网地址:https://git-scm.com/download/win/国内下载地址:https://registry.npmmirror.com/binary.html?path=git-for-windows/ 选择所需要的版本,进行下载。2、下载完成之后,双击下载好的exe文件进行安装。 3、默认是C盘,推荐修改一下路径(非中文并......
  • windows 10 wsl 环境 docker 无法正常启动 -The system cannot find the file specif
    错误信息:errorduringconnect:inthedefaultdaemonconfigurationonWindows,thedockerclientmustberunwithelevatedprivilegestoconnect:Get"http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json":open//./pipe/docker_engine:Thesy......
  • 一次windows下使用cmake遇到的问题
    背景在windows下的cmake和mingw提供的make,在windows环境下进行了简单尝试,结果发现make的时候失败:#include<iostream>intmain(){std::cout<<"Hello,makefile."<<std::endl;return0;}CMakeList如下:project(test)add_executable(testtest.cpp)非常......
  • Windows服务器如何查看服务器端口是否开放?
    在工作中处理服务器故障问题的时候,经常需要检测一下Windows的服务器业务端口是否开放,是否能正常与外面通讯。今天我与大家分享一下如何在windows环境下检测服务器端口是否开放,方法很简单。1、以Windows2008系统为例,先检查是否有安装telnet功能,有的服务器默认没有telnet功能,运行-cm......
  • .NET Core 实现 Windows 系统 Development、Staging、Production 三种环境的无感部署
    阅读目录〇、前言一、配置文件二、程序读取配置1.配置文件信息读取实现2.关于本机测试三、Windows服务器配置回到顶部〇、前言日常开发中,程序的环境切换是相当频繁的了,如果不同环境中的某些参数不同,那就需要每次编辑之前手动进行修改,比较麻烦,效率低下。本文......