PyTorch 1.0 中文官方教程:使用 PyTorch 進行圖像風格轉換

譯者:bdqforkgit

做者: Alexis Jacqgithub

簡介

本教程主要講解如何實現由Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的 Neural-Style 算法。Neural-Style或者叫Neural-Transfer,能夠讓你使用一種新的風格將指定的圖片進行重構。這個算法使用三張圖片,一張輸入圖片,一張內容圖片和一張風格圖片,並將輸入的圖片變得與內容圖片類似,且擁有風格圖片的優美風格。算法

content1

基本原理

原理很簡單:咱們定義兩個間距,一個用於內容D_C,另外一個用於風格D_SD_C測量兩張圖片內容的不一樣,而D_S用來測量兩張圖片風格的不一樣。而後,咱們輸入第三張圖片,並改變這張圖片,使其與內容圖片的內容間距和風格圖片的風格間距最小化。如今,咱們能夠導入必要的包,開始圖像風格轉換。apache

導包並選擇設備

下面是一張實現圖像風格轉換所需包的清單。url

  • torch, torch.nn, numpy (使用PyTorch進行風格轉換必不可少的包)
  • torch.optim (高效的梯度降低)
  • PIL, PIL.Image, matplotlib.pyplot (加載和展現圖片)
  • torchvision.transforms (將PIL圖片轉換成張量)
  • torchvision.models (訓練或加載預訓練模型)
  • copy (對模型進行深度拷貝;系統包)
from __future__ import print_function

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim

閱讀全文/改進本文spa

相關文章
相關標籤/搜索