Compressai ( Compress-ay ) เป็นห้องสมุด Pytorch และแพลตฟอร์มการประเมินผลสำหรับการวิจัยการบีบอัดแบบครบวงจร
Compressai ปัจจุบันให้บริการ:

หมายเหตุ : การสนับสนุนแบบหลาย GPU ตอนนี้กำลังทดลอง
Compressai รองรับ Python 3.8+ และ Pytorch 1.7+
PIP :
pip install compressaiหมายเหตุ : ล้อพร้อมใช้งานสำหรับ Linux และ MacOS
จากแหล่งที่มา :
คอมไพเลอร์ 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 จะเปิดตัวในอนาคต สภาพแวดล้อมของ Conda ไม่ได้รับการสนับสนุนอย่างเป็นทางการ
ตัวอย่างสคริปต์และสมุดบันทึกสามารถพบได้ใน 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 ที่กำหนดเอง
สมุดบันทึก Jupyter ที่แสดงการใช้แบบจำลองที่ผ่านการฝึกอบรมมาก่อนสำหรับการบีบอัดภาพที่เรียนรู้นั้นมีอยู่ในไดเรกทอรี 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 ...ในการพล็อตผลลัพธ์จากการจำลอง Bench/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-Clause Clear
เรายินดีต้อนรับข้อเสนอแนะและการมีส่วนร่วม โปรดเปิดปัญหา GitHub เพื่อรายงานข้อบกพร่องขอการปรับปรุงหรือหากคุณมีคำถามใด ๆ
ก่อนที่จะมีส่วนร่วมโปรดอ่านไฟล์ MD ที่มีส่วนร่วม
หากคุณใช้โครงการนี้โปรดอ้างอิงสิ่งพิมพ์ต้นฉบับที่เกี่ยวข้องสำหรับรุ่นและชุดข้อมูลและอ้างถึงโครงการนี้เป็น:
@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},
}