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










حدد نوع الكتلة غير المحلية في lib/network.py .
from lib.non_local_concatenation import NONLocalBlock2D
from lib.non_local_gaussian import NONLocalBlock2D
from lib.non_local_embedded_gaussian import NONLocalBlock2D
from lib.non_local_dot_product import NONLocalBlock2D
قم بتشغيل demo_mnist_train.py مع وحدة معالجة الرسومات أو وحدة معالجة الرسومات المتعددة لتدريب الشبكة. ثم سيتم توفير الأوزان في الأوزان/ .
CUDA_VISIBLE_DEVICES=0,1 python demo_MNIST_train.py
# Or train with Automatic Mixed Precision based on pytorch 1.6.0
CUDA_VISIBLE_DEVICES=0 python demo_MNIST_AMP_train_with_single_gpu.py
قم بتشغيل nl_map_save.py لحفظ NL_MAP لعينة اختبار واحدة في NL_MAP_VIS .
CUDA_VISIBLE_DEVICES=0,1 python nl_map_save.py
تعال إلى nl_map_vis/ وقم بتشغيل nl_map_vis.py لتصور nl_map. (نصائح: إذا كان النوع غير المحلي الذي تحدده هو non_local_concatenation أو non_local_dot_product (بدون عملية softmax) ، فقد تحتاج إلى تطبيع NL_MAP في رمز التصور)
python nl_map_save.py
اكتشف كيفية تنفيذ نوع التسلسل ، وأضف الكود إلى lib/ .
إصلاح الخلل في lib/non_local.py (الإصدار القديم) عند استخدام GPU متعددة. يشارك شخص ما السبب معي ، ويمكنك العثور عليه هنا.
إصلاح خطأ التجميع ثلاثي الأبعاد في lib/non_local.py (الإصدار القديم). نقدر البروتين 27 لتوجيهه.
للراحة ، قمت بتقسيم lib/non_local.py إلى أربعة ملفات python ، ونقل الإصدارات القديمة ( lib/non_loca.py و lib/non_local_simple_verse.py ) إلى lib/backup/ .
قم بتعديل الرمز لدعم Pytorch 0.4.1 ، ونقل الكود الذي يدعم Pytorch 0.3.1
إلى non-local_pytorch_0.3.1/ .
اختبر الرمز باستخدام Pytorch 1.1.0 وهو يعمل.
انقل الكود الذي يدعم Pytorch 0.4.1 و 1.1.0 إلى غير local_pytorch_0.4.1_to_1.1.0/ (في الواقع ، أعتقد أنه يمكن أن يدعم أيضًا Pytorch 1.2.0).
من أجل تصور NL_MAP ، تم تعديل بعض التعليمات البرمجية قليلاً. تتم إضافة الكود nl_map_save.py لحفظ NL_MAP (طبقتان غير محليين) من عينة اختبار واحدة. تتم إضافة الكود non-local_pytorch/nl_map_vis.py لتصور nl_map. Beadieds ، الرمز هو دعم Pytorch 1.2.0.
يعمل الرمز أيضًا بشكل جيد في Pytorch 1.4.0 .
يعمل الرمز أيضًا بشكل جيد في Pytorch 1.6.0 . إضافة DEMO_MNIST_AMP_TRAIN_WITH_SINGLE_GPU.PY مع التدريب التلقائي المختلط الدقيق (FP16) ، بدعم من PYTORCH 1.6.0 . يمكن أن تقلل من ذاكرة GPU أثناء التدريب. ما هو أكثر من ذلك ، إذا كنت تستخدم GPU 2080TI (نوى الموتر) ، يمكن زيادة سرعة التدريب. يمكن العثور على مزيد من التفاصيل (مثل كيفية التدريب مع وحدات معالجة الرسومات المتعددة) هنا
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.7.0 .
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.8.1 .
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.9.0 .
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.10.1 .
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.11.0 .
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.12.0 .
قم بإزالة الكود net.train() المتكرر في ملفات رمز التدريب.
تحقق من أن الرمز يعمل بشكل جيد في Pytorch 1.13.0 و 2.0.0 .