Spaces:
Sleeping
Sleeping
| from torch.nn.functional import mse_loss | |
| import torch | |
| import dataprepare | |
| from model import VGG16 | |
| def white_noise_img(model, original_image, content_image, epochs = 5): | |
| #FIRST OF ALL REMOVE THE BATCH_SIZE FROM THE IMAGE | |
| original_image = original_image.squeeze(0) | |
| #GENERATE A NEW IMAGE AND TRACK THE PROCESS SO WE CAN PARAMETRIZE COMPUTING GRADIENTS | |
| generated_image = torch.rand_like(original_image,requires_grad=True) | |
| optimizer = torch.optim.Adam([generated_image], lr= 0.01) | |
| for i in range(epochs): | |
| optimizer.zero_grad() | |
| content_result = model(content_image) | |
| #style_result = model(original_image) | |
| generated_result = model(generated_image) | |
| content_loss = sum(mse_loss(generated_result["content"][l], content_result["content"][l]) for l in content_result["content"]) | |
| #style_loss = sum(#mse(gram(generated_image[style][l]), gram(style_image[l])) #for l in style_layers) | |
| result_list = model(generated_image) | |
| print(f"Loss at content type: {content_loss}") | |
| image = dataprepare.image_process('/data/16546923557574.jpg') | |
| content_image = dataprepare.image_process('/data/imagen2.png') | |
| print(image.shape) | |
| print(content_image.shape) | |
| image = image.view(1, image.shape[0],image.shape[1],image.shape[2]) | |
| model = VGG16(num_features=5,num_classes=5) | |
| model = model.to("cpu") | |
| #result_list = model(image) | |
| #style_computing(result_list, model, image) | |
| #view_activations() | |
| white_noise_img(model,image,content_image) |