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

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,重新运行代码,问题即可解决。

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

  1. 矩池云上安装yolov4 darknet教程

    这里我是用PyTorch 1.8.1来安装的 拉取仓库 官方仓库 git clone https://github.com/AlexeyAB/darknet 镜像仓库 git clone https: ...

  2. 矩池云升级JupyterLab版本教程

    先使用 Xshell 连接矩池云 GPU服务器,可以查看教程. 要在base环境下执行,用下面命令 conda deactivate ps -aux | grep jupyter 我这个进程是616 ...

  3. 矩池云安装/修改 cuda、cudnn、nvcc、tensorRT 教程

    在整个机器学习的过程中,配置环境一直是一个比较复杂的事情,今天介绍几种根据英伟达官方文档来配置环境的方法. 安装方案 https://gitlab.com/nvidia/container-image ...

  4. 矩池云上使用nvidia-smi命令教程

    简介 nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具, ...

  5. 矩池云上安装ikatago及远程链接教程

    https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...

  6. 如何使用 VS Code 远程连接矩池云主机

    Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...

  7. 矩池云 | 高性价比的GPU租用深度学习平台

    矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验.在性价比上,我们以 2080Ti 单卡为例,36 小时折扣后的价格才 55 元,每小时单价仅 1.52 元,属于全网最低价.用户 ...

  8. 矩池云里查看cuda版本

    可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...

  9. 如何使用 PuTTY 远程连接矩池云主机

    PuTTY 是一款开源的连接软件,用来远程连接服务器,支持 SSH.Telnet.Serial 等协议. 矩池云的主机支持 SSH 登录,以下为使用 PuTTY 连接矩池云 GPU 的使用教程. 如您 ...

  10. 矩池云助力科研算力免费上"云",让 AI 教学简单起来

    矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验,和高性价比的GPU集群资源.而且对同学们比较友好,会经常做一些大折扣的活动,最近双十一,全场所有的RTX 2070.Platin ...

随机推荐

  1. 初识VUE响应式原理

    作者:京东零售 吴静 自从Vue发布以来,就受到了广大开发人员的青睐,提到Vue,我们首先想到的就是Vue的响应式系统,那响应式系统到底是怎么回事呢?接下来我就给大家简单介绍一下Vue中的响应式原理. ...

  2. 你知道css3渐变吗线性渐变和径向渐变

    线性渐变 #app { width: 200px; height: 200px; background: linear-gradient(to bottom, red, green); /*从顶部到底 ...

  3. 大数据面试题集锦-Hadoop面试题(二)-HDFS

    你准备好面试了吗?这里有一些面试中可能会问到的问题以及相对应的答案.如果你需要更多的面试经验和面试题,关注一下"张飞的猪大数据分享"吧,公众号会不定时的分享相关的知识和资料. 目录 ...

  4. AspnetCore接入Nacos配置中心

    一.什么是nacos Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现.配置管理 ...

  5. 人工智能自然语言处理:N-gram和TF-IDF模型详解

    人工智能自然语言处理:N-gram和TF-IDF模型详解 1.N-gram 模型 N-Gram 是一种基于统计语言模型的算法.它的基本思想是将文本里面的内容按照字节进行大小为 N 的滑动窗口操作,形成 ...

  6. 7.2 C/C++ 实现动态链表

    动态链表是一种常用的动态数据结构,可以在运行时动态地申请内存空间来存储数据,相比于静态数组和静态链表,更加灵活和高效.在动态链表中,数据元素被组织成一条链表,每个元素包含了指向下一个元素的指针,这样就 ...

  7. 编译Nginx服务部署静态网站

    Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器,并在一个BSD-like协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在 ...

  8. C/C++ 使用CRC检测磁盘文件完整性

    当软件被开发出来时,为了增加软件的安全性,防止被破解,通常情况下都会对自身内存或磁盘文件进行完整性检查,以防止解密者修改程序,我们可以将exe与dll文件同时做校验,来达到相互认证的目的,解密者想要破 ...

  9. C/C++ Qt 使用JSON解析库 [修改篇]

    JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集,使用完全独立于编程语言的文本格式来存储和表示数据,简洁清晰的的层次结构使得JSON成为理想的数据交换语言,Qt库为JSON的 ...

  10. java线程池实现多任务并发执行

    Java线程池实现多任务并发执行 1️⃣ 创建一些任务来落地多任务并发执行 每一个数组里面的数据可以看成任务,或者是需要并发的业务接口, 数组与数组之间,可以看作为他们之间有血缘关系,简单来说就是: ...