[ICCV 23] DLT: Pembuatan tata letak terkondisi dengan Transformator Tata Letak Difusi Diskrit-Kontinu Bersama
Repositori ini merupakan implementasi resmi dari makalah DLT. Silakan merujuk ke makalah untuk rincian lebih lanjut dan halaman proyek untuk gambaran umum.
Tak bersyarat | Kategori | Kategori + Ukuran |
---|---|---|
Semua persyaratan yang relevan tercantum di environment.yml. Kami merekomendasikan penggunaan conda untuk menciptakan lingkungan yang sesuai dan menginstal dependensi:
conda env create -f environment.yml
conda activate dlt
Silakan unduh kumpulan data publik di halaman web berikut. Taruh di folder Anda dan perbarui ./dlt/configs/remote/dataset_config.yaml
.
Anda dapat melatih model menggunakan skrip konfigurasi apa pun di folder konfigurasi. Misalnya, jika Anda ingin melatih model DLT yang disediakan pada dataset publaynet, perintahnya adalah sebagai berikut:
cd dlt
python main.py --config configs/remote/dlt_publaynet_config.yaml --workdir < WORKDIR >
Silakan lihat bahwa kode tersebut agnostik akselerator. jika Anda tidak ingin mencatat hasil ke tongkat sihir, cukup setel --workdir test
di args.
Untuk menghasilkan sampel untuk evaluasi pada set pengujian, ikuti langkah-langkah berikut:
# put weights in config.logs folder
DATASET = " publaynet " # or "rico" or "magazine"
python generate_samples.py --config configs/remote/dlt_{ $DATASET }_config.yaml \
--workdir < WORKDIR > --epoch < EPOCH > --cond_type < COND_TYPE > \
--save True
# get all the metrics
# update path to pickle file in dlt/evaluation/metric_comp.py
./download_fid_model.sh
python metric_comp.py
di mana
dapat berupa: (semua, seluruh_kotak, loc) - (tanpa syarat, kategori, kategori+ukuran) masing-masing,
adalah nomor zaman model yang ingin Anda evaluasi, dan
adalah jalur ke folder tempat menyimpan bobot model (misalnya rico_final). Sampel yang dihasilkan akan disimpan di folder logs/
jika save
Benar.
Output darinya adalah file acar dengan sampel yang dihasilkan. Anda dapat menggunakannya untuk menghitung metrik.
Folder dengan beban setelah pelatihan memiliki struktur berikut:
logs
├── magazine_final
│ ├── checkpoints
│ └── samples
├── publaynet_final
│ ├── checkpoints
│ └── samples
└── rico_final
├── checkpoints
└── samples
Jika Anda merasa kode ini berguna untuk penelitian Anda, silakan kutip makalah kami:
@misc{levi2023dlt,
title={DLT: Conditioned layout generation with Joint Discrete-Continuous Diffusion Layout Transformer},
author={Elad Levi and Eli Brosh and Mykola Mykhailych and Meir Perez},
year={2023},
eprint={2303.03755},
archivePrefix={arXiv},
primaryClass={cs.CV}
}