registros de estiloGAN

prefacio

Recientemente, necesito ver algún trabajo relacionado con gan, así que escriba un blog para registrar y abrir un agujero.

Como no sé cuándo estará terminado, aquí hay una publicación de blog bien escrita. Si tiene prisa, puede continuar y explicar los detalles técnicos de stylegan~stylegan3 desde



estiloGAN v1



estiloGAN v2

blog de práctica styleGANv2-tiny: https://nn.labml.ai/gan/stylegan/index.html


estiloGAN v3

v3 es una optimización de algunos detalles de v2
https://github.com/NVlabs/stylegan3
También hay un modelo styleganv2 en el almacén de código v3.

Probé el entorno que funciona:

python 3.7.6   torch 1.8.0+cu111  torchvision 0.9.0+cu111

puede también ser

Python 3.9.16     torch  1.9.1    torchvision 0.10.1

Este último se puede hacer así.

conda create --name stylegan3 python=3.9.16
conda install pytorch=1.9.1 cudatoolkit=11.1 -c pytorch

Luego pipa algunos paquetes

numpy
requests
click
pillow

Todavía puede haber este problema cuando se ejecuta: torch.utils.cpp extension.loadatascado y sin respuesta
, es posible que deba ir a este directorio para limpiarlo

/home/【用户名】/.cache/torch_extensions

Es posible instalar una versión inferior de setuptools (si no hay AttributeError: module 'distutils' has no attribute 'version'error, no lo use)

pip install setuptools==59.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

Tal vez el servidor sea un poco lento para descargar esta cosa, esta cosa de 233M se colocará /home/【用户名】/.cache/torch/hub/checkpointsaquí .

https://download.pytorch.org/models/alexnet-owt-7be5be79.pth

También hay una
descarga: "https://raw.githubusercontent.com/richzhang/PerceptualSimilarity/master/lpips/weights/v0.1/alex.pth" a /home/【User Name】/.cache/torch/hub /puntos de control/alex.pth


por cierto, registre el uso de dataloader collate_fn

from torch.utils.data import Dataset
from PIL import Image
from utils import data_utils
import torch

class MyInferenceDataset(Dataset):

	def __init__(self, root, opts, transform=None, preprocess=None):
		self.paths = sorted(data_utils.make_dataset(root))
		self.transform = transform
		self.opts = opts

	def __len__(self):
		return len(self.paths)

	def __getitem__(self, index):
		from_path = self.paths[index]
		# print('from_path:', from_path)
		from_im = Image.open(from_path).convert('RGB')
		if self.transform:
			from_im = self.transform(from_im)
		# save_image(from_im, 'tmp/{}_from_path.jpg'.format(from_path))
		return from_im, from_path

	@staticmethod
	def collate_fn(batch):
		# 官方实现的default_collate可以参考
		# https://github.com/pytorch/pytorch/blob/67b7e751e6b5931a9f45274653f4f653a4e6cdf6/torch/utils/data/_utils/collate.py
		images, paths = tuple(zip(*batch))
		# images = batch
		images = torch.stack(images, dim=0)
		# print(images.shape)  # torch.Size([2, 3, 224, 224])
		return images, paths

Preprocesamiento de su propio conjunto de datos: ejecución de prueba del modelo de aprendizaje profundo (trece): stylegan3

Supongo que te gusta

Origin blog.csdn.net/weixin_43850253/article/details/129087972
Recomendado
Clasificación