矩池云教程|体验 OpenAI 最近推出的 3D 生成模型 Shap-E!

news/2024/7/5 2:03:16

Shap-E 是由 OpenAI 最近推出的3D生成模型,使用者可以通过简单的文字或图像进行三维模型的生成,OpenAI 认为相比于点云的生成模型Point-E,Shap-E的收敛更快。本文将展示如何在矩池云上体验3D模型生成。

  • Shap-E:https://github.com/openai/shap-e
  • 矩池云:https://matpool.com/

1、安装环境

选择环境时要选择Python版本大于等于3.9,否则代码无法正常运行,推荐基础镜像为使“Pytorch 1.12.1 ” 。硬件则推荐显存不小于12G,在官方demo给的示例中,则至少需要13G的显存才能成功运行。

推荐配置如下:

镜像名称: Pytorch 1.12.1

预装: Ubuntu20.04, Python 3.9, Pytorch1.12.1, CUDA 11.3, cuDNN 8, NVCC, VNC

推荐显卡: RTX 3090

图例说明:

租用机器
1.png

选择环境

2.png

等待机器启动完成,打开Jupyter notebook

3.png

4.png

2、配置环境

首先我们要进入终端使用git下载shap-e代码并搭建环境,推荐在home文件夹里操作,在左侧文件列表中进入home之后再打开终端,矩池云会自动识别左侧目前目录并进入。如果终端不在home目录,也可以使用cd home指令进入到home目录。

5.png

6.png

从git上下载shap-e,如果速度很慢或者下载失败,可以通过在git网址之前加入镜像网址,详情参考矩池云教程-如何加速GitHub下载?

git clone https://github.com/openai/shap-e.git
# 镜像地址:
git clone https://ghproxy.com/https://github.com/openai/shap-e.git

7.png

根据官方提示安装依赖:首先我们进入下载好的shap-e目录,然后使用pip install -e .指令即可安装shap-e

cd shap-e
pip install -e .

8.png

安装完成:

9.png

安装其他依赖:在该镜像中,仍有少数shap-e依赖的包没有预置,因此我们需要补充两个包的安装:

pip install pyyaml
pip install ipywidgets

10.png

到目前为止,shap-e的依赖已全部安装完成,下面以运行官方代码示例为例进行演示。

3、demo 演示

进入 /home/shap-e/shap_e/examples 文件夹中,有三个.ipynb文件是官方的演示demo,我们以 sample_text_to_3d 为例,如图:

11.png

双击进入notebook:

12.png

运行官方例程:

13.png

在第三个cell个第四个cell需要下载模型,需要耐心等待

14.png

运行第五个cell即可呈现结果,如图所示:

15.gif

问题汇总

**问题 1: pip 安装时,出现 fatal: unable to access’https://github.com/openai/CLIP.git/ ,如图所示:

16.png

问题原因:由于网络访问不稳定,因此出现了连接超时导致失败的问题。

解决方法:一种是在长时间终端无响应后我们使用ctrl+c中断执行,或者出现上图中的错误后,我们多次重试,有几率可以连接上。如果多次尝试失败,可以通过给github链接添加国内源来实现稳定连接和加速,即修改下项目文件夹下的 setup.py 文件,在里面的 clip 链接前加上国内源https://ghproxy.com,具体操作如下:

进入shap-e文件夹

17.png

18.png

修改第33行的clip地址,加入国内镜像源

19.png

ctrl+S 保存修改

回到终端,重新运行pip install -e.即可解决问题

问题 2:模型下载时候报错 connect error 104

详细错误信息:

问题原因: 模型下载使用的request包访问下载地址,error = 104错误表明在对一个对端socket已经关闭的的连接调用write或send方法,在这种情况下,调用write或send方法后,对端socket便会向本端socket发送一个RESET信号,在此之后如果继续执行write或send操作,就会得到error为104,错误描述为 connection reset by peer。

解决方法: 在调用request方法做一个小的延迟等待,以防在上一个socket还没打开时调用write或send方法。

进入修改 /home/shape-e/shape-e/models/download.py 文件, 第 67 行之前加 time.sleep(0.1)

20.png

21.png

22.png

ctrl+S 保存修改

回到notebook,重新运行代码,问题即可解决。


http://lihuaxi.xjx100.cn/news/1149880.html

相关文章

ubuntu 18.04安装docker

from:Install Docker Engine on Ubuntu | Docker Documentation Install from a package If you can’t use Docker’s apt repository to install Docker Engine, you can download the deb file for your release and install it manually. You need to download a new fil…

【计算机组成原理】实验二

文章目录 实验二 运算器实验一、实验目的二、实验原理三、运算器功能编码四、设置初始状态任务一 算术运算任务二 逻辑运算任务三 移位运算任务四 进位控制与零标志 实验二 运算器实验 一、实验目的 完成算术、逻辑、移位运算实验,熟悉ALU运算类型的控制位运用。…

一文带你了解移动入库指南(详细版)

​ 移动入库认证周期: 常规为 4-6 周 中国移动是一家基于 GSM、TD-LTE、FDD-LTE 制式网络的移动通信运营商。日前已建成 5G 基站近 39 万个,并且全面推动 SA 网络,同时和中国广电共同发展 5G 网络。作为全球 5G 网络覆盖广、用户规模大的通信…

JavaWeb-FilterListener的学习

Filter&Listener 1,Filter 1.1 Filter概述 Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。Servlet 我们之前都已经学习过了,Filter和Listener 我们今天都会进行学习。 过滤器可以把对资源的请求拦截下来&a…

人工智能之超分辨率算法详解

超分辨率算法是一种基于机器学习和深度学习的技术,能够将低分辨率图像(LR)增强到高分辨率图像(HR),从而实现图像的超分辨率(SR),提升图像清晰度的能力。本文将对超分辨率…

Fuzzing Configurations of Program Options

摘要: 尽管许多真实世界的项目都附带配置启用/禁用功能,fuzz大多被用于测试单配置这些项目。在这项工作中,我们首先进行实证研究,以了解程序配置影响起毛性能。我们发现限制竞选一个配置会导致未能覆盖大量的代码。我们还观察到不同的项目配置贡献不同的大量的代码覆盖率,挑战…

面了一位5年的测试,真的很失望......

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。 在沟通中发现,由…

没有域名,一个服务器Nginx怎么部署多个前端项目

因为没有域名,所以用路径来作区分, 主项目:直接根路由访问该项目,与正常配置无任何差别从项目:此处设置/new路径,为从项目,所有从项目访问路径均要加上/new ①修改Nginx配置文件 Nginx 配置文…