from torch.autograd import Variable import torchvision.transforms as transforms img_to_tensor = transforms.ToTensor() from PIL import Image import torchvision.models as models vgg = models.vgg19(pretrained=True).features vgg = vgg.cpu() def make_model(): model = models.vgg19(pretrained=True).features[:12] model = model.eval() return model def extract_feature(model, imgpath): model.eval() img = Image.open(imgpath) img = img.resize((224, 224)) tensor = img_to_tensor(img) result = model(Variable(torch.unsqueeze(tensor, dim=0).float(), requires_grad=False)) #result_npy = result.data.cpu().numpy() return result if __name__ =="__main__": model = make_model() imgpath = 'picture/content_Easy.bmp' tmp = extract_feature(model, imgpath) #tmp = tmp.clamp_(0 ,1) show_img(tmp)
from torchvision import transforms from run_code import run_style_transfer from load_img import load_img, show_img from torch.autograd import Variable style_img = load_img('./picture/star.jpg') # style_img = Variable(style_img).cpu() style_img = Variable(style_img).cuda() content_img = load_img('./picture/tower.jpg') # content_img = Variable(content_img).cpu() content_img = Variable(content_img).cuda() input_img = content_img.clone() out = run_style_transfer(content_img, style_img, input_img, num_epoches=200) print("style_transfer_img is ...") show_img(out.cpu()) save_pic = transforms.ToPILImage()(out.cpu().squeeze(0)) save_pic.save('./picture/star_tower.jpg')
from torchvision import transforms from run_code import run_style_transfer from load_img import load_img, show_img from torch.autograd import Variable style_img = load_img('./picture/style.png') style_img = Variable(style_img) content_img = load_img('./picture/cat.jpg') content_img = Variable(content_img) input_img = content_img.clone() out = run_style_transfer(content_img, style_img, input_img, num_epoches=200) show_img(out) save_pic = transforms.ToPILImage()(out.squeeze(0)) save_pic.save('./picture/saved_picture.png')