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
图例说明:
租用机器
选择环境
等待机器启动完成,打开Jupyter notebook
2、配置环境
首先我们要进入终端使用git下载shap-e代码并搭建环境,推荐在home文件夹里操作,在左侧文件列表中进入home之后再打开终端,矩池云会自动识别左侧目前目录并进入。如果终端不在home目录,也可以使用cd home
指令进入到home目录。
从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
根据官方提示安装依赖:首先我们进入下载好的shap-e目录,然后使用pip install -e .
指令即可安装shap-e
cd shap-e
pip install -e .
安装完成:
安装其他依赖:在该镜像中,仍有少数shap-e依赖的包没有预置,因此我们需要补充两个包的安装:
pip install pyyaml
pip install ipywidgets
到目前为止,shap-e的依赖已全部安装完成,下面以运行官方代码示例为例进行演示。
3、demo 演示
进入 /home/shap-e/shap_e/examples 文件夹中,有三个.ipynb文件是官方的演示demo,我们以 sample_text_to_3d 为例,如图:
双击进入notebook:
运行官方例程:
在第三个cell个第四个cell需要下载模型,需要耐心等待
运行第五个cell即可呈现结果,如图所示:
问题汇总
**问题 1: pip 安装时,出现 fatal: unable to access’https://github.com/openai/CLIP.git/ ,如图所示:
问题原因:由于网络访问不稳定,因此出现了连接超时导致失败的问题。
解决方法:一种是在长时间终端无响应后我们使用ctrl+c中断执行,或者出现上图中的错误后,我们多次重试,有几率可以连接上。如果多次尝试失败,可以通过给github链接添加国内源来实现稳定连接和加速,即修改下项目文件夹下的 setup.py 文件,在里面的 clip 链接前加上国内源https://ghproxy.com,具体操作如下:
进入shap-e文件夹
修改第33行的clip地址,加入国内镜像源
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)
ctrl+S 保存修改
回到notebook,重新运行代码,问题即可解决。