|
import torch |
|
import torch.nn as nn |
|
from torchvision import transforms |
|
from PIL import Image |
|
|
|
class PretrainedPipeline(): |
|
def __init__(self): |
|
self.device = torch.device("cpu") |
|
self.generator = Generator() |
|
self.generator.load_state_dict(torch.load("pytorch_model.bin", map_location=self.device)) |
|
self.generator.eval() |
|
|
|
def generate_image(self): |
|
with torch.no_grad(): |
|
noise = torch.randn(1, 128, 1, 1).to(self.device) |
|
generated_image_tensor = self.generator(noise) |
|
generated_image = generated_image_tensor.cpu().detach().squeeze(0) |
|
|
|
generated_image = (generated_image + 1) / 2.0 |
|
pil_image = transforms.ToPILImage()(generated_image) |
|
return pil_image |