查看原文
其他

PyTorch 教程-在PyTorch中进行风格转移

点击关注👉 Python架构师 2024-02-11
整理:python架构师

在这个主题中,我们将实现一个基于深度神经网络的人工系统,它将创建具有高感知质量的艺术图像。该系统将使用神经表示来分离、重新组合任意图像的内容和风格,提供了一个用于创建艺术图像的神经算法。

神经风格转移是一种以另一张图像的风格生成图像的方法。神经风格算法以内容图像(风格图像)作为输入,返回内容图像,就好像它是使用风格图像的艺术风格打印的一样。

资源分享

👉点击领取:最全Python资料合集

神经风格转移算法的工作原理是什么?

在实现此算法时,我们定义两个距离;一个用于内容(Dc),另一个用于风格(Ds)。Dc测量两个图像之间的内容差异,而Ds测量两个图像之间的风格差异。我们将第三张图像作为输入,并对其进行转换,以既减小其与内容图像的内容距离,又减小其与风格图像的风格距离。

所需库

import torch import torch.optim as optim #we will import transforms and models because we will transform our images and we will use pre-trained model VGG-19 from torchvision import transforms, models from PIL import Image import matplotlib.pyplot as plt import numpy as np

初始化VGG-19模型

VGG-19模型类似于VGG-16模型。VGG模型由Simonyan和Zisserman引入。VGG-19在ImageNet数据库上训练了一百多万张图像。该模型是一个有19层深度神经网络,可以将图像分类为1000个对象类别。

在我们的初始化过程中,我们只会导入模型的特征。
#importing model features vgg=models.vgg19(pretrained=True).features #we are using pre-trained model # Maintain parameter constant setting for param in vgg.parameters(): param.requires_grad_(False)

当我们运行此代码时,下载将开始,并且我们的模型特征将被成功下载。

将模型添加到我们的设备

当我们的模型特征被下载并导入时,我们必须将其添加到设备上,可以是CUDA或CPU。torch.device是我们将执行此过程的方法。
#Implementing device device=torch.device("cuda" if torch.cuda.is_available() else "cpu") #Attaching our vgg model to our device vgg.to(device)

当我们运行此代码时,它将给我们预期的输出:


 
热门推荐

继续滑动看下一个

PyTorch 教程-在PyTorch中进行风格转移

点击关注👉 Python架构师
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存