Studiogan เป็นห้องสมุด Pytorch ที่ให้การใช้งานของเครือข่ายฝ่ายตรงข้ามที่เป็นตัวแทน (GANS) สำหรับการสร้างภาพที่มีเงื่อนไข/ไม่มีเงื่อนไข Studiogan มีจุดมุ่งหมายเพื่อเสนอสนามเด็กเล่นที่เหมือนกันสำหรับ Gans ที่ทันสมัยเพื่อให้นักวิจัยการเรียนรู้ของเครื่องสามารถเปรียบเทียบและวิเคราะห์แนวคิดใหม่ได้อย่างง่ายดาย
ยิ่งไปกว่านั้น Studiogan ยังให้เกณฑ์มาตรฐานที่ไม่เคยเกิดขึ้นมาก่อนสำหรับรุ่นกำเนิด เกณฑ์มาตรฐานรวมถึงผลลัพธ์จาก Gans (Biggan-Deep, Stylegan-XL), โมเดลที่เกิดขึ้นจริงแบบอัตโนมัติ (MaskGit, RQ-Transformer) และรุ่นการแพร่กระจาย (LSGM ++, CLD-SGM, ADM-GU)
| วิธี | สถานที่จัดงาน | สถาปัตยกรรม | GC | DC | การสูญเสีย | EMA |
|---|---|---|---|---|---|---|
| dcgan | arxiv'15 | dcgan/resnetgan 1 | N/A | N/A | วานิลลา | เท็จ |
| คนอินฟ็กโก | nips'16 | dcgan/resnetgan 1 | N/A | N/A | วานิลลา | เท็จ |
| lsgan | iccv'17 | dcgan/resnetgan 1 | N/A | N/A | sqaure น้อยที่สุด | เท็จ |
| กานา | arxiv'17 | dcgan/resnetgan 1 | N/A | N/A | บานพับ | เท็จ |
| WGAN-WC | iclr'17 | resnetgan | N/A | N/A | Wasserstein | เท็จ |
| wgan-gp | nips'17 | resnetgan | N/A | N/A | Wasserstein | เท็จ |
| WGAN-DRA | arxiv'17 | resnetgan | N/A | N/A | Wasserstein | เท็จ |
| acgan-mod 2 | - | resnetgan | CBN | AC | บานพับ | เท็จ |
| Pdgan | iclr'18 | resnetgan | CBN | PD | บานพับ | เท็จ |
| sngan | iclr'18 | resnetgan | CBN | PD | บานพับ | เท็จ |
| คนเจ้าชู้ | icml'19 | resnetgan | CBN | PD | บานพับ | เท็จ |
| Tacgan | Neurips'19 | บิ๊กแกน | CBN | TAC | บานพับ | จริง |
| lgan | icml'19 | resnetgan | N/A | N/A | วานิลลา | เท็จ |
| Biggan ไม่มีเงื่อนไข | iclr'19 | บิ๊กแกน | N/A | N/A | บานพับ | จริง |
| บิ๊กแกน | iclr'19 | บิ๊กแกน | CBN | PD | บานพับ | จริง |
| Biggan-Deep-Comparegan | iclr'19 | Biggan-deep Comparegan | CBN | PD | บานพับ | จริง |
| Biggan-Deep-Studiogan | - | Biggan-Deep Studiogan | CBN | PD | บานพับ | จริง |
| Stylegan2 | CVPR '20 | Stylegan2 | ชาวแคเดน | SPD | โลจิสติก | จริง |
| Crgan | iclr'20 | บิ๊กแกน | CBN | PD | บานพับ | จริง |
| Icrgan | aaai'21 | บิ๊กแกน | CBN | PD | บานพับ | จริง |
| โลแกน | arxiv'19 | resnetgan | CBN | PD | บานพับ | จริง |
| ที่ตรงกันข้าม | Neurips'20 | บิ๊กแกน | CBN | 2C | บานพับ | จริง |
| mhgan | wacv'21 | บิ๊กแกน | CBN | MH | MH | จริง |
| biggan + diffaugment | Neurips'20 | บิ๊กแกน | CBN | PD | บานพับ | จริง |
| stylegan2 + ada | Neurips'20 | Stylegan2 | ชาวแคเดน | SPD | โลจิสติก | จริง |
| Biggan + Lecam | cvpr'2021 | บิ๊กแกน | CBN | PD | บานพับ | จริง |
| เรียล | Neurips'21 | บิ๊กแกน | CBN | D2D-CE | บานพับ | จริง |
| stylegan2 + apa | Neurips'21 | Stylegan2 | ชาวแคเดน | SPD | โลจิสติก | จริง |
| stylegan3-t | Neurips'21 | Stylegan3 | เคน | SPD | โลจิสติก | จริง |
| stylegan3-r | Neurips'21 | Stylegan3 | เคน | SPD | โลจิสติก | จริง |
| adcgan | icml'22 | บิ๊กแกน | CBN | ADC | บานพับ | จริง |
GC/DC ระบุวิธีที่เราฉีดข้อมูลฉลากไปยังเครื่องกำเนิดไฟฟ้าหรือ discriminator
EMA: การอัปเดตค่าเฉลี่ยเคลื่อนที่แบบเลขชี้กำลังไปยังเครื่องกำเนิดไฟฟ้า CBN: การทำให้เป็นมาตรฐานแบบมีเงื่อนไข Cadain: การปรับสภาพอินสแตนซ์แบบปรับตัวแบบมีเงื่อนไข AC: ตัวแยกประเภทเสริม PD: การแยกแยะการฉายภาพ TAC: ตัวแยกประเภทเสริมคู่ SPD: Modified PD สำหรับ Stylegan 2C: การสูญเสียความคมชัดแบบมีเงื่อนไข MH: การสูญเสียหลายครั้ง ADC: ตัวจําแนกแยกประเภทเสริม D2D-CE: Data-to-Data Cross-entropy
| วิธี | สถานที่จัดงาน | สถาปัตยกรรม |
|---|---|---|
| คะแนนเริ่มต้น (คือ) | Neurips'16 | inceptionv3 |
| Frechet Inception ระยะทาง (FID) | Neurips'17 | inceptionv3 |
| ปรับปรุงความแม่นยำและการเรียกคืน | Neurips'19 | inceptionv3 |
| คะแนนความแม่นยำของตัวจําแนก (CAS) | Neurips'19 | inceptionv3 |
| ความหนาแน่นและความครอบคลุม | icml'20 | inceptionv3 |
| FID ภายในคลาส | - | inceptionv3 |
| swav fid | iclr'21 | การสวด |
| ตัวชี้วัดที่สะอาด (คือ, fid, prdc) | cvpr'22 | inceptionv3 |
| ตัวชี้วัดที่เป็นมิตรกับสถาปัตยกรรม (IS, FID, PRDC) | arxiv'22 | ไม่ จำกัด เฉพาะ inceptionv3 |
| วิธี | สถานที่จัดงาน | สถาปัตยกรรมเป้าหมาย |
|---|---|---|
| แช่แข็ง | cvprw'20 | ยกเว้น Stylegan2 |
| การฝึกอบรม Top-K | Neurips'2020 | - |
| DDLS | Neurips'2020 | - |
| Sefa | cvpr'2021 | บิ๊กแกน |
เราตรวจสอบความสามารถในการทำซ้ำของ Gans ที่นำมาใช้ใน Studiogan โดยการเปรียบเทียบ IS และ FID กับเอกสารต้นฉบับ เราระบุว่าแพลตฟอร์มของเราประสบความสำเร็จในการทำซ้ำ GANs ตัวแทนส่วนใหญ่ยกเว้น PD-GAN, Acgan, Logan, Sagan และ Biggan-Deep FQ หมายถึงชุดข้อมูล Flickr-Faces-HQ (FFHQ) ความละเอียดของชุดข้อมูล Imagenet, AFHQV2 และ FQ คือ 128, 512 และ 1024 ตามลำดับ
ก่อนอื่นให้ติดตั้ง Pytorch ประชุมสภาพแวดล้อมของคุณ (อย่างน้อย 1.7):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116จากนั้นใช้คำสั่งต่อไปนี้เพื่อติดตั้งส่วนที่เหลือของไลบรารี:
pip install tqdm ninja h5py kornia matplotlib pandas sklearn scipy seaborn wandb PyYaml click requests pyspng imageio-ffmpeg timmด้วย Docker คุณสามารถใช้ (อัปเดต 14/Dec/2022):
docker pull alex4727/experiment:pytorch113_cuda116นี่คือคำสั่งของเราในการสร้างคอนเทนเนอร์ชื่อ "Studiogan"
docker run -it --gpus all --shm-size 128g --name StudioGAN -v /path_to_your_folders:/root/code --workdir /root/code alex4727/experiment:pytorch113_cuda116 /bin/zshหากเวอร์ชันไดรเวอร์ NVIDIA ของคุณไม่เป็นไปตามข้อกำหนดคุณสามารถลองเพิ่มคำสั่งด้านล่างลงในคำสั่งด้านบน
--env NVIDIA_DISABLE_REQUIRE=true CIFAR10/CIFAR100: Studiogan จะดาวน์โหลดชุดข้อมูลโดยอัตโนมัติเมื่อคุณเรียกใช้งาน main.py
ImageNet, ImageNet หรือชุดข้อมูลที่กำหนดเอง:
data
└── ImageNet, Tiny_ImageNet, Baby ImageNet, Papa ImageNet, or Grandpa ImageNet
├── train
│ ├── cls0
│ │ ├── train0.png
│ │ ├── train1.png
│ │ └── ...
│ ├── cls1
│ └── ...
└── valid
├── cls0
│ ├── valid0.png
│ ├── valid1.png
│ └── ...
├── cls1
└── ...
ก่อนเริ่มต้นผู้ใช้ควรเข้าสู่ระบบ Wandb โดยใช้คีย์ API ส่วนบุคคล
wandb login PERSONAL_API_KEY จากการเปิดตัว 0.3.0 ตอนนี้คุณสามารถกำหนดตัวชี้วัดการประเมินที่จะใช้ผ่านตัวเลือก -metrics ไม่ระบุตัวเลือกค่าเริ่มต้นเพื่อคำนวณ FID เท่านั้น IE -metrics is fid คำนวณเท่านั้นคือและ fid และ -metrics none การข้ามการประเมิน
-t ) และประเมิน IS, FID, PRC, REC, DNS, CVG ( -metrics is fid prdc ) ของแบบจำลองที่กำหนดไว้ใน CONFIG_PATH โดยใช้ GPU 0 CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -metrics is fid prdc -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH--pre_resizer lanczos ) จากนั้นฝึกอบรม ( -t ) และประเมินความเป็นมิตร-เป็นมิตร-หมด, เป็นมิตร-PRC, เป็นมิตร -REC, Friendly-DNS, Friendly-CVG ( -metrics is fid prdc --post_resizer clean ) ของแบบจำลองที่กำหนดไว้ใน CONFIG_PATH โดยใช้ GPU 0 CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -metrics is fid prdc --pre_resizer lanczos --post_resizer clean -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH-t ) และประเมิน FID ของโมเดลที่กำหนดไว้ใน CONFIG_PATH ผ่าน DataParallel โดยใช้ GPU (0, 1, 2, 3) การประเมินผลของ FID ไม่จำเป็นต้องมีการโต้แย้ง ( -metrics )! CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH-t ) และการประเมินข้าม ( -metrics none ) ของแบบจำลองที่กำหนดไว้ใน CONFIG_PATH ผ่าน DistributedDataParallel โดยใช้ GPU (0, 1, 2, 3) , Synchronized batch norm และ Mixed precision export MASTER_ADDR= " localhost "
export MASTER_PORT=2222
CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -metrics none -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -DDP -sync_bn -mpc ลอง python3 src/main.py เพื่อดูตัวเลือกที่มีอยู่
โหลดข้อมูลทั้งหมดในหน่วยความจำหลัก ( -hdf5 -l )
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -t -hdf5 -l -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH DistributedDataparallel (โปรดดูที่นี่) ( -DDP )
# ## NODE_0, 4_GPUs, All ports are open to NODE_1
~ /code>>> export MASTER_ADDR=PUBLIC_IP_OF_NODE_0
~ /code>>> export MASTER_PORT=AVAILABLE_PORT_OF_NODE_0
~ /code/PyTorch-StudioGAN>>> CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -DDP -tn 2 -cn 0 -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH # ## NODE_1, 4_GPUs, All ports are open to NODE_0
~ /code>>> export MASTER_ADDR=PUBLIC_IP_OF_NODE_0
~ /code>>> export MASTER_PORT=AVAILABLE_PORT_OF_NODE_0
~ /code/PyTorch-StudioGAN>>> CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -DDP -tn 2 -cn 1 -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH การฝึกอบรมแบบผสมผสาน ( -mpc )
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -t -mpc -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATHเปลี่ยนสถิติการทำให้เป็นมาตรฐานแบทช์
# Synchronized batchNorm (-sync_bn)
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -t -sync_bn -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH
# Standing statistics (-std_stat, -std_max, -std_step)
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -std_stat -std_max STD_MAX -std_step STD_STEP -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATH
# Batch statistics (-batch_stat)
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -batch_stat -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATHเคล็ดลับการตัดทอน
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py --truncation_factor TRUNCATION_FACTOR -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATH ddls ( -lgv -lgv_rate -lgv_std -lgv_decay -lgv_decay_steps -lgv_steps )
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -lgv -lgv_rate LGV_RATE -lgv_std LGV_STD -lgv_decay LGV_DECAY -lgv_decay_steps LGV_DECAY_STEPS -lgv_steps LGV_STEPS -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATH Freeze Discriminator ( -freezeD )
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -t --freezeD FREEZED -ckpt SOURCE_CKPT -cfg TARGET_CONFIG_PATH -data DATA_PATH -save SAVE_PATH Studiogan รองรับ Image visualization, K-nearest neighbor analysis, Linear interpolation, Frequency analysis, TSNE analysis, and Semantic factorization ผลลัพธ์ทั้งหมดจะถูกบันทึกไว้ใน SAVE_DIR/figures/RUN_NAME/*.png
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -v -cfg CONFIG_PATH -ckpt CKPT -save SAVE_DIR
CUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -knn -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATHCUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -itp -cfg CONFIG_PATH -ckpt CKPT -save SAVE_DIRCUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -fa -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATHCUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -tsne -cfg CONFIG_PATH -ckpt CKPT -data DATA_PATH -save SAVE_PATHCUDA_VISIBLE_DEVICES=0,...,N python3 src/main.py -sefa -sefa_axis SEFA_AXIS -sefa_max SEFA_MAX -cfg CONFIG_PATH -ckpt CKPT -save SAVE_PATHStudiogan สนับสนุนการฝึกอบรม 30 ตัวแทนจาก dcgan ถึง stylegan3-r
เราใช้สคริปต์ที่แตกต่างกันขึ้นอยู่กับชุดข้อมูลและโมเดลและเป็นดังนี้:
CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -hdf5 -l -std_stat -std_max STD_MAX -std_step STD_STEP -metrics is fid prdc -ref " train " -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -mpc --post_resizer " friendly " --eval_backbone " InceptionV3_tf "CUDA_VISIBLE_DEVICES=0 python3 src/main.py -t -hdf5 -l -metrics is fid prdc -ref " train " -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -mpc --post_resizer " friendly " --eval_backbone " InceptionV3_tf "CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -hdf5 -l -sync_bn -std_stat -std_max STD_MAX -std_step STD_STEP -metrics is fid prdc -ref " train " -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -mpc --pre_resizer " lanczos " --post_resizer " friendly " --eval_backbone " InceptionV3_tf " export MASTER_ADDR= " localhost "
export MASTER_PORT=8888
CUDA_VISIBLE_DEVICES=0,1,2,3 python3 src/main.py -t -metrics is fid prdc -ref " train " -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -mpc --pre_resizer " lanczos " --post_resizer " friendly " --eval_backbone " InceptionV3_tf " export MASTER_ADDR= " localhost "
export MASTER_PORT=8888
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python3 src/main.py -t -metrics is fid prdc -ref " train " -cfg CONFIG_PATH -data DATA_PATH -save SAVE_PATH -mpc --pre_resizer " lanczos " --post_resizer " friendly " --eval_backbone " InceptionV3_tf " Studiogan สนับสนุนคะแนนการลงทะเบียนระยะทาง Frechet Inception, ปรับปรุงความแม่นยำและการเรียกคืน, ความหนาแน่นและความครอบคลุม, FID ภายในชั้น, คะแนนความแม่นยำของตัวจําแนก ผู้ใช้สามารถได้รับคะแนน Intra-Class FID, Classifier Accuracy Score โดยใช้ -iFID, -GAN_train, and -GAN_test ตัวเลือกตามลำดับ
ผู้ใช้สามารถเปลี่ยนกระดูกสันหลังการประเมินผลจาก InceptionV3 เป็น Resnet50, Swav, Dino หรือ Swin Transformer โดยใช้ --eval_backbone ResNet50_torch, SwAV_torch, DINO_torch, or Swin-T_torch
นอกจากนี้ผู้ใช้สามารถคำนวณตัวชี้วัดด้วย Resizer ที่สะอาดหรือเป็นมิตรกับสถาปัตยกรรมโดยใช้ตัวเลือก --post_resizer clean or friendly
คะแนนการลงทะเบียน (IS) เป็นตัวชี้วัดในการวัดจำนวน GAN ที่สร้างภาพที่มีความเที่ยงตรงสูงและหลากหลาย การคำนวณนั้นต้องการเครือข่าย Inception-V3 ที่ผ่านการฝึกอบรมมาแล้ว โปรดทราบว่าเราไม่ได้แยกชุดข้อมูลออกเป็นสิบเท่าเพื่อคำนวณคือสิบครั้ง
FID เป็นตัวชี้วัดที่ใช้กันอย่างแพร่หลายเพื่อประเมินประสิทธิภาพของแบบจำลอง GAN การคำนวณ FID ต้องใช้เครือข่าย Inception-V3 ที่ผ่านการฝึกอบรมมาแล้วและวิธีการที่ทันสมัยใช้ FID ที่ใช้ TensorFlow Studiogan ใช้ FID ที่ใช้ pytorch เพื่อทดสอบโมเดล GAN ในสภาพแวดล้อม pytorch เดียวกัน เราแสดงให้เห็นว่าการใช้งาน FID ที่ใช้ Pytorch ให้ผลลัพธ์เกือบเหมือนกันกับการใช้งาน TensorFlow (ดูภาคผนวก F ของกระดาษ contragan)
ปรับปรุงความแม่นยำและการเรียกคืนได้รับการพัฒนาขึ้นเพื่อสร้างข้อบกพร่องของความแม่นยำและการเรียกคืน เช่นเดียวกับ FID การคำนวณความแม่นยำที่ดีขึ้นและการเรียกคืนต้องใช้โมเดล Inception-V3 ที่ผ่านการฝึกอบรมมาก่อน Studiogan ใช้การใช้งาน Pytorch ที่จัดทำโดยนักพัฒนาของคะแนนความหนาแน่นและความครอบคลุม
ความหนาแน่นและการวัดความครอบคลุมสามารถประเมินความจงรักภักดีและความหลากหลายของภาพที่สร้างขึ้นโดยใช้โมเดล Inception-V3 ที่ผ่านการฝึกอบรมมาก่อน ตัวชี้วัดเป็นที่รู้กันว่ามีความแข็งแกร่งต่อค่าผิดปกติและพวกเขาสามารถตรวจจับการแจกแจงที่แท้จริงและปลอมที่เหมือนกัน Studiogan ใช้การใช้งาน Pytorch อย่างเป็นทางการของผู้เขียนและ Studiogan ปฏิบัติตามคำแนะนำของผู้เขียนสำหรับการเลือกไฮเปอร์พารามิเตอร์
เรารายงานสิ่งที่ดีที่สุดคือ FID ปรับปรุงความแม่นยำและการเรียกคืนและความหนาแน่นและความครอบคลุมของ GANS
ในการดาวน์โหลดจุดตรวจสอบทั้งหมดที่รายงานใน Studiogan โปรด คลิกที่นี่ (Hugging Face Hub)
คุณสามารถประเมินจุดตรวจสอบได้โดยเพิ่มตัวเลือก -ckpt CKPT_PATH ด้วยเส้นทางการกำหนดค่าที่สอดคล้องกัน -cfg CORRESPONDING_CONFIG_PATH
ความละเอียดของ CIFAR10, Baby Imagenet, Papa Imagenet, คุณปู่ Imagenet, Imagenet, AFHQV2 และ FQ คือ 32, 64, 64, 64, 128, 512 และ 1024 ตามลำดับ
เราใช้ภาพที่สร้างขึ้นจำนวนเท่ากันกับภาพการฝึกอบรมสำหรับระยะห่างจาก Frechet Inception (FID), ความแม่นยำ, การเรียกคืน, ความหนาแน่นและการคำนวณความครอบคลุม สำหรับการทดลองโดยใช้ ImageNet และ Imagenet Baby/Papa/Grandpa เราใช้ภาพปลอม 50K กับชุดการฝึกอบรมที่สมบูรณ์เป็นภาพจริง
คุณสมบัติและช่วงเวลาทั้งหมดของชุดข้อมูลอ้างอิงสามารถดาวน์โหลดได้ผ่าน คุณสมบัติ และ ช่วงเวลา
ความละเอียดของ Imagenet-128 และ Imagenet 256 คือ 128 และ 256 ตามลำดับ
รูปภาพทั้งหมดที่ใช้สำหรับเกณฑ์มาตรฐานสามารถดาวน์โหลดผ่านไดรฟ์หนึ่งไดรฟ์ (จะอัปโหลดเร็ว ๆ นี้)
-metrics is fid prdc ) ของโฟลเดอร์รูปภาพ (ประมวลผลล่วงหน้าแล้ว) ที่บันทึกไว้ใน DSET1 และ DSET2 โดยใช้ GPUs (0,...,N) CUDA_VISIBLE_DEVICES=0,...,N python3 src/evaluate.py -metrics is fid prdc --dset1 DSET1 --dset2 DSET2-metrics is fid prdc ) ของโฟลเดอร์รูปภาพที่บันทึกไว้ใน DSET2 โดยใช้คุณสมบัติที่ถูกคำนวณล่วงหน้า ( --dset1_feats DSET1_FEATS --dset1_moments DSET1_MOMENTS ช่วงเวลาของ (0,...,N) CUDA_VISIBLE_DEVICES=0,...,N python3 src/evaluate.py -metrics is fid prdc --dset1_feats DSET1_FEATS --dset1_moments DSET1_MOMENTS --dset2 DSET2-metrics is fid prdc --post_resizer friendly ) ของโฟลเดอร์รูปภาพที่บันทึกไว้ใน DSET1 และ DSET2 ผ่าน DistributedDataParallel โดยใช้ GPU (0,...,N) export MASTER_ADDR= " localhost "
export MASTER_PORT=2222
CUDA_VISIBLE_DEVICES=0,...,N python3 src/evaluate.py -metrics is fid prdc --post_resizer friendly --dset1 DSET1 --dset2 DSET2 -DDP[ใบอนุญาต MIT] BatchNorm แบบซิงโครไนซ์: https://github.com/vacancy/synchronized-batchnorm-pytorch
[ใบอนุญาต MIT] โมดูลการดูแลตนเอง: https://github.com/voletiv/self-tentention-gan-pytorch
[ใบอนุญาต MIT] Diffaugment: https://github.com/mit-han-lab/data-efficient-gans
[mit_license] Pytorch ปรับปรุงความแม่นยำและการเรียกคืน: https://github.com/clovaai/generative-evaluation-prdc
[mit_license] ความหนาแน่นและความครอบคลุมของ pytorch: https://github.com/clovaai/generative-evaluation-prdc
[ใบอนุญาต MIT] Pytorch Clean-fid: https://github.com/gaparmar/clean-fid
[ใบอนุญาตซอร์สโค้ด Nvidia] Stylegan2: https://github.com/nvlabs/stylegan2
[ใบอนุญาตซอร์สโค้ด Nvidia] Adaptive Discriminator Augmentation: https://github.com/nvlabs/stylegan222
[ใบอนุญาต Apache] Pytorch FID: https://github.com/mseitzer/pytorch-fid
Pytorch-Studiogan เป็นห้องสมุดโอเพนซอร์ซภายใต้ใบอนุญาต MIT (MIT) อย่างไรก็ตามบางส่วนของห้องสมุดมีความสามารถภายใต้เงื่อนไขใบอนุญาตที่แตกต่างกัน: Stylegan2, Stylegan2-ADA และ Stylegan3 ได้รับใบอนุญาตภายใต้ใบอนุญาตซอร์สโค้ด Nvidia และ Pytorch-Fid ได้รับอนุญาตภายใต้ใบอนุญาต Apache
Studiogan ก่อตั้งขึ้นสำหรับโครงการวิจัยต่อไปนี้ โปรดอ้างอิงงานของเราหากคุณใช้ Studiogan
@article { kang2023StudioGANpami ,
title = { {StudioGAN: A Taxonomy and Benchmark of GANs for Image Synthesis} } ,
author = { MinGuk Kang and Joonghyuk Shin and Jaesik Park } ,
journal = { IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI) } ,
year = { 2023 }
} @inproceedings { kang2021ReACGAN ,
title = { {Rebooting ACGAN: Auxiliary Classifier GANs with Stable Training} } ,
author = { Minguk Kang, Woohyeon Shim, Minsu Cho, and Jaesik Park } ,
journal = { Conference on Neural Information Processing Systems (NeurIPS) } ,
year = { 2021 }
} @inproceedings { kang2020ContraGAN ,
title = { {ContraGAN: Contrastive Learning for Conditional Image Generation} } ,
author = { Minguk Kang and Jaesik Park } ,
journal = { Conference on Neural Information Processing Systems (NeurIPS) } ,
year = { 2020 }
}[1] การทดลองเกี่ยวกับ Imagenet ขนาดเล็กดำเนินการโดยใช้สถาปัตยกรรม ResNet แทน CNN
[2] การดำเนินการใหม่ของ ACGAN (ICML'17) ของเราด้วยการปรับเปลี่ยนเล็กน้อยซึ่งนำการปรับปรุงประสิทธิภาพที่แข็งแกร่งสำหรับการทดลองโดยใช้ CIFAR10