Compressai ( Compress-Aay ) هي مكتبة Pytorch ومنصة التقييم لأبحاث الضغط من طرف إلى طرف.
يوفر Compressai حاليًا:

ملاحظة : دعم متعدد GPU هو الآن تجريبي.
يدعم Compressai Python 3.8+ و Pytorch 1.7+.
PIP :
pip install compressaiملاحظة : العجلات متاحة لـ Linux و MacOS.
من المصدر :
مطلوب أيضًا حزم Python المشتركة (انظر Setup.py للحصول على القائمة الكاملة) A C ++ 17 مترجم ، وهو إصدار حديث من PIP (19.0+) ، وحزم Python الشائعة (انظر setup.py للحصول على القائمة الكاملة).
للبدء محليًا وتثبيت إصدار تطوير Compressai ، قم بتشغيل الأوامر التالية في بيئة افتراضية:
git clone https://github.com/InterDigitalInc/CompressAI compressai
cd compressai
pip install -U pip && pip install -e .للتثبيت المخصص ، يمكنك أيضًا تشغيل أحد الأوامر التالية:
pip install -e '.[dev]'pip install -e '.[tutorials]'pip install -e '.[all]' : قم بتثبيت جميع الحزم الاختياريةملاحظة : سيتم إصدار صور Docker في المستقبل. لا يتم دعم بيئات كوندا رسميًا.
يمكن الاطلاع على أمثلة البرنامج النصي والكمبيوتر المحمول في examples/ الدليل.
لتشفير/فك تشفير الصور مع النماذج المقدمة مسبقًا ، قم بتشغيل codec.py .
python3 examples/codec.py --help يتم توفير برنامج نصي لتدريب الامتحانات مع خسارة معدل في examples/train.py . يمكنك استبدال النموذج المستخدم في البرنامج النصي التدريبي مع النموذج الخاص بك المنفذ داخل Compressai ، ثم تشغيل البرنامج النصي لخط أنابيب تدريب بسيط:
python3 examples/train.py -d /path/to/my/image/dataset/ --epochs 300 -lr 1e-4 --batch-size 16 --cuda --saveملاحظة: يستخدم مثال التدريب بنية ImageFolder مخصصة.
يتم أيضًا توفير دفتر جيبتر يوضح استخدام نموذج تم تدريبه مسبقًا لضغط الصور المستفاد في دليل examples :
pip install -U ipython jupyter ipywidgets matplotlib
jupyter notebook examples/لتقييم نموذج مدرب على مجموعة البيانات الخاصة بك ، يوفر Compressai البرنامج النصي للتقييم:
python3 -m compressai.utils.eval_model checkpoint /path/to/images/folder/ -a $ARCH -p $MODEL_CHECKPOINT ...لتقييم النماذج المقدمة مسبقًا:
python3 -m compressai.utils.eval_model pretrained /path/to/images/folder/ -a $ARCH -q $QUALITY_LEVELS ...للتخطيط نتائج من محاكاة مقاعد البدلاء/eval_model (يتطلب matplotlib افتراضيًا):
python3 -m compressai.utils.plot --helpلتقييم برامج الترميز التقليدية:
python3 -m compressai.utils.bench --help
python3 -m compressai.utils.bench bpg --help
python3 -m compressai.utils.bench vtm --helpبالنسبة للفيديو ، يمكن إجراء اختبارات مماثلة ، يتضمن Compressai فقط SSF2020 في الوقت الحالي:
python3 -m compressai.utils.video.eval_model checkpoint /path/to/video/folder/ -a ssf2020 -p $MODEL_CHECKPOINT ...
python3 -m compressai.utils.video.eval_model pretrained /path/to/video/folder/ -a ssf2020 -q $QUALITY_LEVELS ...
python3 -m compressai.utils.video.bench x265 --help
python3 -m compressai.utils.video.bench VTM --help
python3 -m compressai.utils.video.plot --help إجراء اختبارات مع pytest :
pytest -sx --cov=compressai --cov-append --cov-report term-missing tests يمكن تخطي الاختبارات البطيئة بخيار -m "not slow" .
تم ترخيص Compressai بموجب ترخيص Clear BSD 3
نرحب بالتعليقات والمساهمات. يرجى فتح مشكلة github للإبلاغ عن الأخطاء أو طلب التحسينات أو إذا كان لديك أي أسئلة.
قبل المساهمة ، يرجى قراءة ملف المساهمة.
إذا كنت تستخدم هذا المشروع ، فيرجى الاستشهاد بالنشرات الأصلية ذات الصلة للنماذج ومجموعات البيانات ، واستشهد بهذا المشروع على النحو التالي:
@article{begaint2020compressai,
title={CompressAI: a PyTorch library and evaluation platform for end-to-end compression research},
author={B{'e}gaint, Jean and Racap{'e}, Fabien and Feltman, Simon and Pushparaja, Akshay},
year={2020},
journal={arXiv preprint arXiv:2011.03029},
}
لأي عمل يتعلق بنماذج البت المتغيرة ، يرجى الاستشهاد
@article{kamisli2024dcc_vbrlic,
title={Variable-Rate Learned Image Compression with Multi-Objective Optimization and Quantization-Reconstruction Offsets},
author={Kamisli, Fatih and Racap{'e}, Fabien and Choi, Hyomin},
year={2024},
booktitle={2024 Data Compression Conference (DCC)},
eprint={2402.18930},
}