from autoencoder import Encoder, Decoder import torch import numpy as np import matplotlib.pyplot as plt import cv2 image_shape = 256 emb_dim = 768 patch_size = 16 encoder = Encoder(latent_dim=16, image_shape=image_shape, emb_dim=emb_dim, patch_size=patch_size) encoder.load_state_dict(torch.load("encoder16.pt", map_location=torch.device('cpu'))) decoder = Decoder(latent_dim=16, image_shape=image_shape, emb_dim=emb_dim, patch_size=patch_size) decoder.load_state_dict(torch.load("decoder16.pt", map_location=torch.device('cpu'))) image = cv2.imread("test_image.jpg") image = cv2.resize(image, (image_shape, image_shape)) image = torch.tensor(image, dtype=torch.float32, device='cpu').permute(2, 0, 1) / 127.5 - 1.0 image = image.unsqueeze(0) with torch.no_grad(): z = encoder(image) x = decoder(z) plt.imshow(x[0].permute(1, 2, 0).numpy()*0.5 + 0.5) plt.show()