Generación de imágenes Cálculo de puntaje FID Implementación de python

La puntuación FID (Frechet Inception Distance) es un indicador que se utiliza para medir la similitud entre el modelo generado y el conjunto de datos reales. Se calcula calculando el grado de diferencia entre las muestras generadas y las muestras reales en la representación de características del Inception red. de. Cuanto menor sea la puntuación FID, menor será la diferencia entre las muestras generadas y las muestras reales, y mejor será el rendimiento del modelo generado.

plano 1

import torch
import torchvision
import torchvision.transforms as transforms
from pytorch_fid import fid_score

# 准备真实数据分布和生成模型的图像数据
real_images_folder = 'path_to_real_images'
# generated_images_folder = './FID_app3'
generated_images_folder = 'path_to_generated_images'

# 加载预训练的Inception-v3模型
inception_model = torchvision.models.inception_v3(pretrained=True)

# 定义图像变换
transform = transforms.Compose([
    transforms.Resize(299),
    transforms.CenterCrop(299),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
])

# 计算FID距离值
fid_value = fid_score.calculate_fid_given_paths([real_images_folder, generated_images_folder],
                                                 inception_model,
                                                 transform=transform)
# fid_value = fid_score.calculate_fid_given_paths([real_images_folder, generated_images_folder],batch_size=50, device='cuda', dims=2048, num_workers=0)
print('FID value:', fid_value)

Todavía tengo que prestar atención al pytorch_fid problema de la versión.

Escenario 2

Ejecute el script:

pip install pytorch-fid-0.3.0.tar.gz
python -m pytorch_fid path_to_dataset1 path_to_dataset2 --num-workers 0 --device cuda:0

Esta prueba está disponible y requiere: las formas de las imágenes en los dos conjuntos de datos son consistentes.

Supongo que te gusta

Origin blog.csdn.net/NGUever15/article/details/131002149
Recomendado
Clasificación