أداة شرح الأصول Objaverse والمستوردة لاستخدامها في THOR.
تثبيت 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).
يجب عليك تثبيت المتطلبات الإضافية annotation
من خلال النقطة، ويجب تثبيت الخلاط على الإعلان، إما بشكل مستقل أو كوحدة نمطية. سيقوم الأمر التالي بإنشاء تعليق توضيحي، عبر 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
المراد معالجتها. output_dir
هو مسار مطلق يشير إلى مكان كتابة مخرجات التحويل. تعد annotations
أمرًا اختياريًا، وهي المسار إلى ملف التعليقات التوضيحية كما تم إنشاؤه بواسطة العملية الموضحة أعلاه.
قم بتشغيل python -m objathor.asset_conversion.pipeline_to_thor --help
للخيارات الأخرى.