Anotador e importador de ativos Objaverse para uso em THOR.
Instale o ai2thor:
pip install --extra-index-url https://ai2thor-pypi.allenai.org ai2thor==0+455cf72a1c8e0759a452422f2128fbc93a3cb06b
Instale outras dependências:
pip install objathor[annotation]
Aqui estão instalados os seguintes extras: annotation
para usar openai para gerar anotações. Além disso, para funcionalidade de anotação, você deve instalar nltk
Instale o nltk. Para gerar renderizações e converter modelos 'glb' no pipeline de conversão você deve instalar o Blender.
Da fonte:
pip install -e " .[annotation] "
Recomendamos definir uma variável de ambiente com sua chave OpenAI:
export OPENAI_API_KEY=[Your key]
Se você está planejando anotar objetos para os quais não temos visualizações pré-geradas no S3 (veja um exemplo em Anotação abaixo), também precisamos instalar o blender como um extra (como mostrado acima) ou como um aplicativo:
Instalando o Blender
como módulo:
pip install bpy
A instalação do Blender como um módulo requer um ambiente python 3.10
.
Ou instalando o liquidificador como um aplicativo: Instruções de instalação do Blender
Se a aplicação não estiver nos diretórios canônicos você pode precisar passar blender_installation_path
para scripts que usam o Blender.
Instale nltk
neste commit executando:
pip install git+https://github.com/nltk/nltk@582e6e35f0e6c984b44ec49dcb8846d9c011d0a8
Durante a primeira execução, as dependências do NLTK são instaladas automaticamente, mas também podemos instalá-las adiante:
python -c " import nltk; nltk.download('punkt'); nltk.download('wordnet2022'); nltk.download('brown'); nltk.download('averaged_perceptron_tagger') "
Supondo que estejamos executando em um servidor Linux remoto, podemos pré-baixar os binários do THOR com:
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'
seria usado para um ambiente MacOS).
Você deve instalar o requisito extra annotation
através do pip, e ter o liquidificador instalado, independente ou como um módulo. O comando a seguir irá gerar anotação, via GPT-4, e também gerar a conversão para um ativo THOR válido.
OUTPUT_DIR=/path/to/output
python -m objathor.main
--uid 0070ac4bf50b496387365843d4bf5432
--output " $OUTPUT_DIR "
Na raiz do repositório, execute:
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
Onde uids
é uma sequência de lista separada por vírgulas de IDs Objaverse
a serem processados. output_dir
é um caminho absoluto que indica onde escrever a saída da conversão. annotations
é opcional e é o caminho para um arquivo de anotações gerado pelo processo descrito acima.
Execute python -m objathor.asset_conversion.pipeline_to_thor --help
para outras opções.