พื้นที่เก็บข้อมูลนี้เป็นการนำบทความข้างต้นไปใช้อย่างเป็นทางการ โปรดดูหน้าโครงการหรือเอกสารสำหรับรายละเอียดเพิ่มเติม
ที่นี่เราจะอธิบายการตั้งค่าที่จำเป็นสำหรับการฝึกโมเดลและการประเมินผล
เราตรวจสอบความสามารถในการทำซ้ำภายใต้สภาพแวดล้อมนี้
เราขอแนะนำให้ใช้ Poetry (การตั้งค่าและการขึ้นต่อกันทั้งหมดใน pyproject.toml) Pytorch-geometry มีวงล้อที่สร้างล่วงหน้าอย่างอิสระสำหรับ การผสมผสาน ระหว่างเวอร์ชัน PyTorch และ CUDA (ดูรายละเอียดใน PyG: การติดตั้ง) หากสภาพแวดล้อมของคุณไม่ตรงกับสภาพแวดล้อมข้างต้น โปรดอัปเดตการขึ้นต่อกัน
curl -sSL https://install.python-poetry.org | python3 -
poetry install
wget https://github.com/CyberAgentAILab/layout-dm/releases/download/v1.0.0/layoutdm_starter.zip
unzip layoutdm_starter.zip
ข้อมูลจะถูกแตกออกเป็นโครงสร้างต่อไปนี้:
download
- clustering_weights
- datasets
- fid_weights
- pretrained_weights
สำคัญ : เราพบข้อผิดพลาดร้ายแรงที่ไม่สามารถแก้ไขได้อย่างรวดเร็วเมื่อใช้ GPU หลายตัว โปรดตั้งค่า CUDA_VISIBLE_DEVICES=<GPU_ID>
เพื่อบังคับให้โมเดลใช้ GPU ตัวเดียว
หมายเหตุ: กรอบงานหลักของเราขึ้นอยู่กับไฮดรา สะดวกในการจัดการกับข้อโต้แย้งหลายสิบข้อตามลำดับชั้น แต่อาจต้องใช้ความพยายามเพิ่มเติมหากยังไม่เคยใช้ไฮดรา
โปรดเรียกใช้สมุดบันทึก jupyter ใน notebooks/demo.ipynb คุณสามารถรับและเรนเดอร์ผลลัพธ์ของงานการสร้างเลย์เอาท์หกงานบนชุดข้อมูลสองชุด (Rico และ PubLayNet)
คุณยังสามารถฝึกโมเดลของคุณเองตั้งแต่เริ่มต้นได้ เช่น โดย
bash bin/train.sh rico25 layoutdm
โดยที่อาร์กิวเมนต์ตัวแรกและตัวที่สองระบุชุดข้อมูล (ตัวเลือก) และประเภทของการทดสอบ (ตัวเลือก) ตามลำดับ โปรดทราบว่าสำหรับการฝึกอบรม/การทดสอบ รูปแบบของอาร์กิวเมนต์คือ key=value
เนื่องจากเราใช้ hydra ซึ่งแตกต่างจาก --key value
ยอดนิยม (เช่น argparse)
poetry run python3 -m src.trainer.trainer.test
cond= < COND >
job_dir= < JOB_DIR >
result_dir= < RESULT_DIR >
< ADDITIONAL_ARGS >
<COND>
สามารถเป็น: (ไม่มีเงื่อนไข, c, cwh, บางส่วน, การปรับแต่ง, ความสัมพันธ์)
ตัวอย่างเช่น หากคุณต้องการทดสอบโมเดล LayoutDM ที่ระบุบน C->S+P
คำสั่งจะเป็นดังนี้:
poetry run python3 -m src.trainer.trainer.test cond=c dataset_dir=./download/datasets job_dir=./download/pretrained_weights/layoutdm_rico result_dir=tmp/dummy_results
โปรดดู TestConfig สำหรับตัวเลือกเพิ่มเติมที่มีให้ ด้านล่างนี้คือตัวเลือกยอดนิยมบางส่วนสำหรับ <ADDITIONAL_ARGS>
is_validation=true
: ใช้เพื่อประเมินประสิทธิภาพการสร้างชุดการตรวจสอบแทนชุดทดสอบ ต้องใช้เมื่อปรับไฮเปอร์พารามิเตอร์sampling=top_p top_p=<TOP_P>
: ใช้การสุ่มตัวอย่าง top-p ด้วย p=<TOP_P> แทนการสุ่มตัวอย่างเริ่มต้นpoetry run python3 eval.py < RESULT_DIR >
หากคุณพบว่าโค้ดนี้มีประโยชน์สำหรับการวิจัยของคุณ โปรดอ้างอิงรายงานของเรา:
@inproceedings{inoue2023layout,
title={{LayoutDM: Discrete Diffusion Model for Controllable Layout Generation}},
author={Naoto Inoue and Kotaro Kikuchi and Edgar Simo-Serra and Mayu Otani and Kota Yamaguchi},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2023},
pages={10167-10176},
}