用于 THOR 的 Objaverse 资产注释器和导入器。
安装ai2thor:
pip install --extra-index-url https://ai2thor-pypi.allenai.org ai2thor==0+455cf72a1c8e0759a452422f2128fbc93a3cb06b
安装其他依赖项:
pip install objathor[annotation]
这里安装了以下附加功能: annotation
,用于使用 openai 生成注释。另外,对于注释功能,您必须安装nltk
安装 nltk。要在转换管道中生成渲染并转换“glb”模型,您必须安装 Blender 。
来自来源:
pip install -e " .[annotation] "
我们建议使用您的 OpenAI 密钥设置环境变量:
export OPENAI_API_KEY=[Your key]
如果您计划注释我们在 S3 中没有预先生成的视图的对象(请参阅下面注释下的示例),我们还需要安装 Blender 作为额外功能(如上所示)或作为应用程序:
将Blender
作为模块安装:
pip install bpy
将 Blender 作为模块安装,需要 python 3.10
环境。
或将搅拌机安装为应用程序:搅拌机安装说明
如果应用程序不在规范目录中,您可能需要将blender_installation_path
传递给使用 Blender 的脚本。
通过运行以下命令在此提交上安装nltk
:
pip install git+https://github.com/nltk/nltk@582e6e35f0e6c984b44ec49dcb8846d9c011d0a8
在第一次运行期间,NLTK依赖项会自动安装,但我们也可以提前安装它们:
python -c " import nltk; nltk.download('punkt'); nltk.download('wordnet2022'); nltk.download('brown'); nltk.download('averaged_perceptron_tagger') "
假设我们在远程 Linux 服务器上运行,我们可以使用以下命令预先下载 THOR 二进制文件:
python -c " from ai2thor.controller import Controller; from objathor.constants import THOR_COMMIT_ID; c=Controller(download_only=True, platform='CloudRendering', commit_id=THOR_COMMIT_ID) "
( platform='OSXIntel64'
将用于 MacOS 环境)。
您必须通过 pip 安装annotation
额外要求,并安装 Blender,无论是独立的还是作为模块。以下命令将通过 GPT-4 生成注释,并生成有效 THOR 资产的转换。
OUTPUT_DIR=/path/to/output
python -m objathor.main
--uid 0070ac4bf50b496387365843d4bf5432
--output " $OUTPUT_DIR "
从存储库根目录运行:
python
-m objathor.asset_conversion.pipeline_to_thor
--uids=000074a334c541878360457c672b6c2e
--output_dir=<some_absolute_path>
--extension=.msgpack.gz
--annotations=<annotations_file_path>
--live
--blender_as_module
其中uids
是要处理的Objaverse
id 的逗号分隔列表。 output_dir
是一个绝对路径,指示将转换的输出写入的位置。 annotations
是可选的,并且是由上述过程生成的注释文件的路径。
运行python -m objathor.asset_conversion.pipeline_to_thor --help
了解其他选项。