OpenAI新作Shap-e算法使用教程

一、知识点

  Shap-e是基于nerf的开源生成3d模型方案。它是由如今热火朝天的Open AI公司(chatgpt,Dell-E2)开发、开源的。Shap-e生成的速度非常快,输入关键词即可生成简单模型(限于简单单体模型)。

二、环境

  • PyCharm2023.1.1
  • Python 3.11.3
  • Blender 3.5
  • Windows11

相关环境、软件的安装、配置就不在此文赘述了,本文核心是shap-e算法的使用。

三、安装和使用

1.拉取项目到本地

git clone https://github.com/openai/shap-e.git

在这里插入图片描述

2.安装相关模块依赖

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindowsPS D:\shap-e-main> .\venv\Scripts\activate	//激活虚拟venv环境,便于打包项目
(venv) PS D:\shap-e-main> python -V			//确认python版本是否为3.11.x
Python 3.11.3
(venv) PS D:\shap-e-main> pip install -e .	//安装shap-e环境,必须可以访问github.com
Obtaining file:///D:/shap-e-mainPreparing metadata (setup.py) ... done
Collecting clip@ git+https://github.com/openai/CLIP.gitCloning https://github.com/openai/CLIP.git to c:\users\mr.wangxk\appdata\local\temp\pip-install-fgr41dyt\clip_e64fda89d6014713a948df91c66d07cfRunning command git clone --filter=blob:none --quiet https://github.com/openai/CLIP.git 'C:\Users\Mr.Wangxk\AppData\Local\Temp\pip-install-fgr41dyt\clip_e64fda89d6014713a948df91c66d07cf'Resolved https://github.com/openai/CLIP.git to commit a9b1bf5920416aaeaec965c25dd9e8f98c864f16Preparing metadata (setup.py) ... done
Requirement already satisfied: filelock in c:\users\mr.wangxk\appdata\local\programs\python\python311\lib\site-packages (from shap-e==0.0.0) (3.12.0)
Collecting PillowDownloading Pillow-9.5.0-cp311-cp311-win_amd64.whl (2.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5/2.5 MB 1.5 MB/s eta 0:00:00
Collecting torchDownloading torch-2.0.1-cp311-cp311-win_amd64.whl (172.3 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 172.3/172.3 MB 3.3 MB/s eta 0:00:00
Collecting fireDownloading fire-0.5.0.tar.gz (88 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.3/88.3 kB 5.2 MB/s eta 0:00:00Preparing metadata (setup.py) ... done
Collecting humanizeDownloading humanize-4.6.0-py3-none-any.whl (109 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 110.0/110.0 kB 3.2 MB/s eta 0:00:00
Collecting requestsDownloading requests-2.30.0-py3-none-any.whl (62 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.5/62.5 kB 3.3 MB/s eta 0:00:00
Collecting tqdmDownloading tqdm-4.65.0-py3-none-any.whl (77 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 4.5 MB/s eta 0:00:00
Collecting matplotlibDownloading matplotlib-3.7.1-cp311-cp311-win_amd64.whl (7.6 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.6/7.6 MB 5.2 MB/s eta 0:00:00
Collecting scikit-image
....

**如果没有科学上网则会报错如下:**
在这里插入图片描述

如上所示显示Successfully环境就安装完成了。

3.安装、配置jupyter notebook

(venv) PS D:\shap-e-main> pip install notebook 

在这里插入图片描述
配置jupyter模型存放路径:

(venv) PS D:\shap-e-main> jupyter notebook --generate-config                                                                       
Overwrite C:\Users\Mr.Wangxk\.jupyter\jupyter_notebook_config.py with default config? [y/N]y
Writing default config to: C:\Users\Mr.Wangxk\.jupyter\jupyter_notebook_config.py

因为我已经生成了所以提示是否覆盖

根据提示的配置文件路径打开jupyter_notebook_config.py配置文件:

# 找到 c.NotebookApp.notebook_dir = 更改路径
...
c.NotebookApp.notebook_dir = 'D:/shap-e-main/models'
...

在这里插入图片描述

保存并重启jupyter即可生效。

4.Shap-e算法使用

  OpenAI不愧是大厂,非常的贴心,在项目目录下已经为我们准备好了代码案例,可直接复制使用。三个代码案例文件说明如下:

  • sample_text_to_3d.ipynb - 对 3D 模型进行采样,以文本提示为条件。
  • sample_image_to_3d.ipynb - 对 3D 模型进行采样,以合成视图图像为条件。为了获得最佳效果,您应该从输入图像中删除背景。
  • encode_model.ipynb - 加载 3D 模型或三网格,创建一批多视图渲染和点云,将它们编码为潜在,然后渲染回来。为此,请安装 Blender 版本 3.3.1 或更高版本,并将环境变量设置为 Blender 可执行文件的路径。BLENDER_PATH
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

说明:

  图中代码左侧的In 1、In 2、In 3...是代码块运行成功的标志,In _为等待运行,且正在运行的代码块地底边框会有蓝色动态光条,每个代码块底部还有执行时间戳、耗时统计。In 3代码块回去下载并加载transmittertext300M模型,大概3GB左右,所以比较费时间,博主为了节省时间已提前下载好,如有需要的伙伴评论留言即可。

load_model含义:

  xm = load_model('transmitter', device=device)这行代码的作用是加载名为 “transmitter” 的模型,并将其放在指定的设备上(例如 CPU 或 GPU)。具体而言,它使用 PyTorch 中的 load_model 函数来加载预先训练好的模型,并返回一个 nn.Module 对象。你可以使用这个对象来进行推理或微调训练。注意,在运行这行代码之前,你需要先定义 device 变量并将其设置为你想要使用的设备。

关键参数:

batch_size:训练模型数量
guidance_scale:模型尺寸
prompt:描述模型形状

由于电脑配置原因训练模型需要四个小时…
在这里插入图片描述
训练完后会在代码块下放显示,也可网页查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RuntimeError: [enforce fail at …\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 47185920 bytes.
由于内存不足无法继续训练其余三个模型了…

别担心,谷歌给我们提供了shap-e测试页面:https://colab.research.google.com/drive/1XvXBALiOwAT5-OaAD7AygqBXFqTijrVf?usp=sharing&pli=1#scrollTo=iSN7AXg2eeW3

5.谷歌Shap-e测试页面使用

我们只需要跟着步骤一步步执行即可
在这里插入图片描述

左侧:测试服务器目录,可以利用测试服务器训练完模型并下载到本地,很方便。
右侧:测试服务器的性能信息实时监控。
中间:代码执行操作以及结果展示区域。

继续训练咱们的shark模型,可以看到训练模型只需要1分钟左右!模型下载也很快!
在这里插入图片描述
以下四个模型训练完毕:
在这里插入图片描述
生成模型文件ply,并下载模型文件
在这里插入图片描述

可以看到谷歌提供的免费shap-e测试环境很棒,37秒完成了我笔记本四个小时训练的效果!(我笔记本8核16G,2G独显)

将文件导入blender
在这里插入图片描述
在这里插入图片描述

导入前选中初始模型安del键将其删除

在这里插入图片描述
在这里插入图片描述
选择旋转功能可拖拽中心球体进行360°旋转查看。(模型不带颜色)
在这里插入图片描述

四、结束语

  本次Shap-e算法的使用教程就到此结束了,后期会给大家带来更深层次应用,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏策划

游戏策划:注意人员安排与时间管控等多方面因素 第一次策划,仅供参考 其他同伴们的更多游戏策划

第四天 游戏策划学习

摸鱼了太久,今天来学习下回合制战斗的乱敏机制的作用和本质 首先什么是乱敏: 就是指敌我双方如果在一个速度区间内,并不是按照速度的绝对高低来决定出手顺序,而且有一定的几率,速度慢的角色会比速度快的角色先出手。…

游戏策划的软件与工具

游戏策划的软件与工具 UXplayer https://www.jianshu.com/p/ceddde705933 gongjutitle.png 本文修改自前公司的一份交接文档,分享了工作中一些常用的软件。 Axure 界面示意图/流程图制作软件 大前提:Windows系统、无法直连外网 Mac系统的话,…

游戏开发团队及工作流程

游戏开发团队构架 游戏制作人: 游戏制作人(Game Producer)主要指全面掌握了从研发到运营整个体系知识的游戏项目的总负责人,在其管理下实现游戏研发运营一体化。目前,国际上最主流,也是最流行的&#xff0c…

游戏开发者如何有效的编写游戏策划文档

在游戏开发过程中,项目开发团队的成员,几乎每天都会和游戏策划文档打交道,但是每个团队、每个人对策划文档的重视程度却各不相同。有的把游戏策划文档奉为游戏开发过程中的圣经,有的却认为使用策划文档,是一种非常低效率的行为。 …

游戏策划学习(一)游戏研发基础

目录 一、游戏研发流程 (一)立项阶段 1.需要完成的工作 2.需要解决的问题 3.最终评审(公司管理层间) 4.原型阶段* 5.demo阶段 6.完全提案 (二)开发阶段 1.基本流程 2.重要人物 (三&…

【游戏运营】【笔记】 谈谈对游戏运营的理解

本篇内容从4个方面介绍了我对游戏运营工作的的理解: 1. 工作指标:追求那些数据的增长 2. 业务范畴:完成那些工作提升数据增长 3. 能力构成:需要什么样的能力完成上述工作 4. 产品周期:不同的周期运营做什么 一、工作…

【游戏设计笔记】游戏开发团队

I think youll find the biggest critics of WoW to be the WoW development team. ——Jeffrey Kaplan(a lead game designer at Blizzard Entertainment) 我想你会发现魔兽世界最大的批评者是魔兽世界开发团队。 ——杰弗里卡普兰(暴雪娱乐公司的首席游戏设计师…

如何开发一款游戏:游戏开发流程及所需工具

本文来自作者 goto先生 在 GitChat 上分享 「如何开发一款游戏:游戏开发流程及所需工具」 编辑 | 哈比 游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分参与其中的人都是以玩家的身份。 他们热爱一款游戏,或是被游戏的…

游戏策划学习(二)---游戏策划与开发方法---常见的游戏类型

目录 1.动作类游戏(ACT-Action Game) 2.策略类游戏(SLG-Strategy Game) 3.角色扮演类游戏(RPG-Role Playing Game) 4.模拟经营类游戏(SIM-Simulation Game) 5.冒险类游戏&#x…

AnyConnect苹果IOS系统Iphone手机的设置教程

AnyConnect IOS系统的使用教程: 1、下载客户端软件 打开App Store应用商店搜索“anyconnect”下载并安装 AnyConnect IOS系统使用教程 2、打开软件,点击"Connections",如图: AnyConnect IOS系统使用教程 3、点击“Add VP N Conn…

【与ChatGPT的有趣对话】什么是Adobe国际认证?

【与ChatGPT的有趣对话】什么是Adobe国际认证? Adobe Certified Professional是由Adobe官方颁发的认证,旨在帮助学习者获得Adobe软件的技能和知识,并验证他们对Adobe软件的掌握程度。

【与ChatGPT的有趣对话】Adobe认证有用吗?

原标题:【与ChatGPT的有趣对话】Adobe Certified Professional 培训认证体系(简称:Adobe认证&Adobe国际认证)有用吗? Adobe认证可以在一定程度上证明您的Adobe软件技能和知识水平,对于某些行业和职业来…

测评自养号优势,亚马逊,速卖通、美客多、Newegg等跨境卖家必看!

随着跨境电商的发展,越来越多有实力的商家加入到跨境电商的行列,导致行业竞争越来越大,成本投入也越来越高,原来的跨境蓝海已经变红海,卖家都不得不靠“烧钱”来提升排名,吸引流量从而维持销量。那么卖家如…

亚马逊又泄露大批卖家信息

近日,亚马逊向一些使用SFP(Seller Fulfilled Prime)的卖家发送了一份报告,但是该报告里面又包含了所有卖家的电子邮箱地址,而不是只针对每一个卖家的自定义报告。 有媒体询问亚马逊此次邮箱地址等信息泄露是由于故障还…

亚马逊卖家问题-01.注册了品牌,但是仍然无法使用Vine和品牌旗舰店功能

这个问题困扰了我5天,开了3个case,其实很好解决,根本不用开case,下面直接上干货: 直接进入卖家后台的Vine菜单里面 其实已经通过了品牌注册,但是这个功能仍然不能使用 这时候需要点击最下方的"了解有关Amazon Vine计划的更多信息" 点开之后,会看到官方对于Vine的…

亚马逊、shopee、Lazada、ebay、速卖通补单不安全?刷单要注意这4点

补单对于跨境电商的卖家来说已经是非常熟悉的了,因为补单能提高排名,增加销量,不补单的排名和流量就一直上不去,产品自然也是很难卖出去的 记得有一位资深卖家说过,想要销量好,排名必须排首页,因…

亚马逊、eBay、敦煌、wish、Lazada、阿里国际卖家有一套自养号测评技术多重要

跨境电商这个话题这几年很热,因为还在风口上,风口上猪都是可以飞起来的,更何况人呢? 很多人做这个短期内,发财了,开始炫富了,于是大家开始羡慕了,也想进来淘金。 不管你现在对测评是…

揭秘亚马逊测评行业的骗局!大家知道这些套路以后!谨防上当受骗!

亚马逊电商平台就像一条滔滔不绝的河流,毕竟亚马逊电商平台的口碑在那儿,它的流量高利润也就不必多言了。我们做测评受到这光辉影响不也挺好,起码有得挣。亚马逊电商平台给了我们赚钱的空间,我们也在很大程度上促进了亚马逊平台的…

亚马逊买家账号被风控甚至被封号,五个问题?或许你已中枪!

大家好,我是泽哥,今天为大家讲讲亚马逊买家账号被风控甚至被封有哪些原因,想要做好账号的认真看看。或许你已中枪! 第一种 环境问题 可能是因为你更换了环境,系统会提示不寻常的活动,比如更换登录设备、更换了收货地…