شبكة البرنامج المساعد

ملخص

تعد الشبكات والنقاط السحابية من أنواع البيانات المهمة والقوية لتمثيل الأشكال ثلاثية الأبعاد وتمت دراستها على نطاق واسع في مجال الرؤية الحاسوبية والرسومات الحاسوبية. أصبحت البيانات ثلاثية الأبعاد أكثر انتشارًا ويتحدى الباحثون مشاكل جديدة مثل إعادة بناء الهندسة ثلاثية الأبعاد من البيانات ثنائية الأبعاد، والتجزئة الدلالية السحابية ثلاثية الأبعاد، ومحاذاة الكائنات ثلاثية الأبعاد أو تشكيلها وما إلى ذلك. ولذلك، فإن تصور النتائج، خاصة أثناء مرحلة التدريب، أمر بالغ الأهمية لفهم كيفية أداء النموذج بشكل أفضل.

شبكة البرنامج المساعد في TensorBoard {العرض="100%"}

يهدف هذا البرنامج المساعد إلى عرض السحب أو الشبكات النقطية ثلاثية الأبعاد (السحب النقطية المثلثة) في TensorBoard. بالإضافة إلى ذلك، فهو يسمح للمستخدم بالتفاعل مع الكائنات المعروضة.

ملخص واجهة برمجة التطبيقات

يمكن تمثيل السحابة الشبكية أو السحابية النقطية بمجموعة من الموترات. على سبيل المثال، يمكن للمرء رؤية سحابة نقطية كمجموعة من الإحداثيات ثلاثية الأبعاد للنقاط وبعض الألوان المرتبطة بكل نقطة.

from tensorboard.plugins.mesh import summary as mesh_summary
...

point_cloud = tf.constant([[[0.19, 0.78, 0.02], ...]], shape=[1, 1064, 3])
point_colors = tf.constant([[[128, 104, 227], ...]], shape=[1, 1064, 3])

summary = mesh_summary.op('point_cloud', vertices=point_cloud, colors=point_colors)

ملاحظة: يعد موتر colors اختياريًا في هذه الحالة ولكنه قد يكون مفيدًا لإظهار دلالات مختلفة للنقاط.

يدعم البرنامج الإضافي حاليًا الشبكات المثلثة فقط والتي تختلف عن السحب النقطية أعلاه فقط من خلال وجود الوجوه - مجموعة من القمم التي تمثل المثلث على الشبكة.

mesh = tf.constant([[[0.19, 0.78, 0.02], ...]], shape=[1, 1064, 3])
colors = tf.constant([[[128, 104, 227], ...]], shape=[1, 1064, 3])
faces = tf.constant([[[13, 78, 54], ...]], shape=[1, 752, 3])

summary = mesh_summary.op('mesh', vertices=mesh, colors=colors, faces=faces)

يعتبر موتر colors فقط اختياريًا لملخصات الشبكة.

تكوين المشهد

تعتمد طريقة عرض الكائنات أيضًا على تكوين المشهد، أي كثافة مصادر الضوء ولونها، ومواد الكائنات، ونماذج الكاميرا، وما إلى ذلك. يمكن تكوين كل ذلك عبر معلمة إضافية config_dict . قد يحتوي هذا القاموس على ثلاثة مفاتيح عالية المستوى: camera lights material . يجب أن يكون كل مفتاح أيضًا عبارة عن قاموس يحتوي على مفتاح إلزامي cls ، يمثل اسم فئة THREE.js صالحًا.

camera_config = {'cls': 'PerspectiveCamera'}
summary = mesh_summary.op(
    "mesh",
    vertices=mesh,
    colors=colors,
    faces=faces,
    config_dict={"camera": camera_config},
)

يمكن توسيع camera_config من المقتطف أعلاه وفقًا لوثائق THREE.js . سيتم تمرير كافة المفاتيح من camera_config إلى فئة تحمل الاسم camera_config.cls . على سبيل المثال (استنادًا إلى وثائق PerspectiveCamera ):

camera_config = {
  'cls': 'PerspectiveCamera',
  'fov': 75,
  'aspect': 0.9,
}
...

ضع في اعتبارك أن تكوين المشهد ليس متغيرًا قابلاً للتدريب (أي ثابتًا) ويجب توفيره فقط أثناء إنشاء الملخصات.

كيفية التثبيت

يعد المكون الإضافي حاليًا جزءًا من بنية TensorBoard الليلية، لذلك يتعين عليك تثبيته قبل استخدام المكون الإضافي.

كولاب

pip install -q -U tb-nightly

ثم قم بتحميل ملحق Tensorboard وقم بتشغيله، تمامًا كما تفعل في الوحدة الطرفية:

%load_ext tensorboard
%tensorboard --logdir=/path/to/logs

يرجى الرجوع إلى مثال دفتر ملاحظات Colab للحصول على مزيد من التفاصيل.

صالة

إذا كنت تريد تشغيل TensorBoard ليلا محليًا، فستحتاج أولاً إلى تثبيته:

pip install tf-nightly

ثم قم بتشغيله فقط:

tensorboard --logdir path/to/logs