Model training process / Model eğitim süreci
AI-powered automatic manga panel position prediction and layout generation project.
This project aims to create automatic panel layouts for manga pages using the LayoutGAN++ architecture. It predicts optimal placement for manga pages with different panel counts using deep learning and GAN technology.
- Docker
- NVIDIA GPU (recommended)
- NVIDIA Docker runtime
docker build -t const_layout_image .Download the manga panel dataset from Google Drive and place it in the data/dataset/ folder:
Dataset Link: Manga Panel Dataset
# After downloading the dataset
unzip manga_dataset.zip -d data/dataset/docker run --gpus all -it --name const_layout_container \
-v $(pwd)/output:/app/output \
const_layout_imageNote: The Docker image includes all necessary dependencies. No conda or manual installation required.
If you want to modify the code, mount the entire project:
docker run --gpus all -it --name const_layout_container \
-v $(pwd):/app \
-w /app \
const_layout_imageIn this case, download pretrained models inside the container:
bash download_model.shTraining with manga panel dataset:
python train.py \
--dataset publaynet \
--batch_size 64 \
--iteration 200000 \
--latent_size 4 \
--lr 1e-5 \
--G_d_model 256 \
--G_nhead 4Note: Make sure the dataset is in the
data/dataset/folder before training.
--dataset: Dataset selection (using manga dataset)--batch_size: Batch size (default: 64)--iteration: Total iteration count (default: 200000)--latent_size: Latent vector size (default: 4)--lr: Learning rate (default: 1e-5)--G_d_model: Generator model size (default: 256)--G_nhead: Number of attention heads (default: 4)
Training outputs are saved to the output/ folder:
checkpoint.pth.tar- Latest checkpointmodel_best.pth.tar- Best model- TensorBoard log files
If you want to test without training your own model, use the pretrained model:
Pretrained Model Link: model_best.pth.tar
# After downloading the model
docker run --gpus all -it --name const_layout_container \
-v $(pwd):/app \
-w /app \
const_layout_image
# Inside container
python generate.py model_best.pth.tar \
--num_elements 3 \
--num_save 1 \
--out_path output/test_layout.pklThis command will generate a 3-panel manga page layout and save it to the output/ folder.
python generate.py model_best.pth.tar \
--num_elements 8 \
--num_save 1 \
--out_path output/layouts.pkl--num_elements: Number of panels per layout (default: 10)--num_save: How many layouts to generate (default: 1)--out_path: Output file path
├── train.py # Training script
├── generate.py # Panel layout generation
├── eval.py # Model evaluation
├── metric.py # Metric computation
├── util.py # Utility functions
├── Dockerfile # Docker definition
├── requirements.txt # Python dependencies
├── download_model.sh # Pretrained model downloader
├── image/ # Sample images
│ ├── training.gif
│ ├── 3_panel.png
│ └── 8_panel.png
├── model/ # Model architectures
│ ├── layoutganpp.py # LayoutGAN++ generator & discriminator
│ └── layoutnet.py # LayoutNet (for FID metrics)
└── data/ # Dataset modules
├── __init__.py
├── base.py
└── dataset/ # Manga panel dataset (you need to download)
python generate.py model_best.pth.tar --num_elements 3 --out_path output/manga_3panel.pklpython generate.py model_best.pth.tar --num_elements 8 --out_path output/manga_8panel.pklpython generate.py model_best.pth.tar --num_save 100 --num_elements 6 --out_path output/batch.pklpython train.py --dataset manga --batch_size 32 --iteration 50000 --name quick_test# Stop container
docker stop const_layout_container
# Restart container
docker start -i const_layout_container
# Copy outputs
docker cp const_layout_container:/app/output ./outputThis project uses the following resources:
- MangaZero Dataset: Hugging Face
- Thanks for providing the manga panel data
- LayoutGAN++: GitHub Repository
- For panel layout research
- LayoutGAN++: Paper
- Transformer-based GAN architecture for layout generation
Yapay zeka ile manga panellerinin otomatik konum tahmini ve düzen oluşturma projesi.
Bu proje, LayoutGAN++ mimarisi kullanarak manga sayfaları için otomatik panel düzeni oluşturmayı hedeflemektedir. Derin öğrenme ve GAN teknolojisi ile farklı sayıda panel içeren manga sayfalarının optimal yerleşimini tahmin eder.
- Docker
- NVIDIA GPU (önerilen)
- NVIDIA Docker runtime
docker build -t const_layout_image .Manga panel dataset'ini Google Drive'dan indirin ve data/dataset/ klasörüne yerleştirin:
Dataset Linki: Manga Panel Dataset
# Dataset'i indirdikten sonra
unzip manga_dataset.zip -d data/dataset/docker run --gpus all -it --name const_layout_container \
-v $(pwd)/output:/app/output \
const_layout_imageNot: Docker image'ı tüm gerekli bağımlılıkları içerir. Conda veya manuel kurulum gerekmez.
Kod değişikliği yapmak istiyorsanız tüm projeyi mount edebilirsiniz:
docker run --gpus all -it --name const_layout_container \
-v $(pwd):/app \
-w /app \
const_layout_imageBu durumda container içinde pretrained modelleri indirmeniz gerekir:
bash download_model.shManga panel dataset ile eğitim:
python train.py \
--dataset publaynet \
--batch_size 64 \
--iteration 200000 \
--latent_size 4 \
--lr 1e-5 \
--G_d_model 256 \
--G_nhead 4Not: Eğitim öncesinde dataset'in
data/dataset/klasöründe bulunduğundan emin olun.
--dataset: Dataset seçimi (manga dataset kullanılıyor)--batch_size: Batch boyutu (varsayılan: 64)--iteration: Toplam iterasyon sayısı (varsayılan: 200000)--latent_size: Latent vektör boyutu (varsayılan: 4)--lr: Learning rate (varsayılan: 1e-5)--G_d_model: Generator model boyutu (varsayılan: 256)--G_nhead: Attention head sayısı (varsayılan: 4)
Eğitim çıktıları output/ klasörüne kaydedilir:
checkpoint.pth.tar- Son checkpointmodel_best.pth.tar- En iyi model- TensorBoard log dosyaları
Kendi modelinizi eğitmeden test etmek istiyorsanız, hazır eğitilmiş modeli kullanabilirsiniz:
Eğitilmiş Model Linki: model_best.pth.tar
# Modeli indirdikten sonra
docker run --gpus all -it --name const_layout_container \
-v $(pwd):/app \
-w /app \
const_layout_image
# Container içinde
python generate.py model_best.pth.tar \
--num_elements 3 \
--num_save 1 \
--out_path output/test_layout.pklBu komut 3 panelli bir manga sayfası düzeni oluşturacak ve output/ klasörüne kaydedecektir.
python generate.py model_best.pth.tar \
--num_elements 8 \
--num_save 1 \
--out_path output/layouts.pkl--num_elements: Her layout'taki panel sayısı (varsayılan: 10)--num_save: Kaç layout üretileceği (varsayılan: 1)--out_path: Çıktı dosya yolu
├── train.py # Eğitim scripti
├── generate.py # Panel layout üretme
├── eval.py # Model değerlendirme
├── metric.py # Metrik hesaplama
├── util.py # Yardımcı fonksiyonlar
├── Dockerfile # Docker tanımı
├── requirements.txt # Python bağımlılıkları
├── download_model.sh # Pretrained model indirme
├── image/ # Örnek görseller
│ ├── training.gif
│ ├── 3_panel.png
│ └── 8_panel.png
├── model/ # Model mimarileri
│ ├── layoutganpp.py # LayoutGAN++ generator & discriminator
│ └── layoutnet.py # LayoutNet (FID metrikleri için)
└── data/ # Dataset modülleri
├── __init__.py
├── base.py
└── dataset/ # Manga panel dataset (indirmeniz gerekiyor)
python generate.py model_best.pth.tar --num_elements 3 --out_path output/manga_3panel.pklpython generate.py model_best.pth.tar --num_elements 8 --out_path output/manga_8panel.pklpython generate.py model_best.pth.tar --num_save 100 --num_elements 6 --out_path output/batch.pklpython train.py --dataset manga --batch_size 32 --iteration 50000 --name quick_test# Container'ı durdur
docker stop const_layout_container
# Container'ı yeniden başlat
docker start -i const_layout_container
# Çıktıları kopyala
docker cp const_layout_container:/app/output ./outputBu proje aşağıdaki kaynakları kullanmaktadır:
- MangaZero Dataset: Hugging Face
- Manga panel verilerini sağladıkları için teşekkürler
- LayoutGAN++: GitHub Repository
- Panel düzenleme araştırmaları için
- LayoutGAN++: Paper
- Layout generation için transformer tabanlı GAN mimarisi

