Cycle Gan 可以產生不同風格的圖片或是用於材質轉換的一個神經網路,主要用於影像對影像的變換。本例可以將馬轉換成斑馬,可以將斑馬變成馬。
資料集下載
馬及斑馬的資料集下載位置,原本是置於 Tensorflow dataset 網站中的 horse to zebra。要下載裏面的資料需安裝如下套件。
pip install tensorflow_datasets
然後再使用如下指令下載資料集
import tensorflow_datasets as tfds
dataset, metadata=tfds.load('cycle_gan/horse2zebra', with_info=True, as_supervised=True)
train_horses, train_zebras = dataset['trainA'], dataset['trainB']
test_horses, test_zebras = dataset['testA'], dataset['testB']
不過可惜的是,許多地區因為不知原因就是無法下載,台灣亦屬於無法下載的區域。
所以請到 kaggle 的 https://www.kaggle.com/datasets/balraj98/horse2zebra-dataset 下載資料集,解開後置於專案下的 horse2zebra 目錄下。
安裝套件
本模型使用 tensorflow 建模,所以先安裝如下套件。
pip install tensorflow==2.10.1 tqdm
todo
模型訓練
每一個 epoch,訓練時間需要 70分鐘。10 個 epoch 就要 700分鐘。
建模及訓練完整代碼如下
