[深度學習][Python]利用訓練完成的GAN模型來生成圖片_生成篇

更新於 發佈於 閱讀時間約 3 分鐘

本文將延續上一篇文章,經由訓練好的GAN模型中的生成器來生成圖片


[深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇

[深度學習][Python]訓練CNN的GAN模型來生成圖片_訓練篇


相較之下CNN的GAN生成的效果比較好,但模型也相對比較複雜,訓練時間花的也比較長一點。

MLP的GNA模型生成的結果圖

raw-image

VAE生成圖


raw-image

CNN的GNA模型生成的結果圖

raw-image


Python及套件版本

Python version: 3.11.3
NumPy version: 1.24.2
Matplotlib version: 3.7.1
tensorflow version: 2.13.0

生成圖片程式碼

當初訓練模型,設定生成器的輸入維度不一樣,所以要根據載入模型的輸入維度來設定參數d

CNN模型 : 100

MLP模型 : 30

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras
from keras.models import load_model

# 繪製生成圖像用
def plot_multiple_images (images, n=None):
#判斷最后一維度若為 1,則消去最后一維度
if images.shape [-1] == 1:
images = np. squeeze (images, axis=-1)
plt.figure(figsize=(n, 2))

for i in range(n):
plt.subplot(1, int(n/2), i + 1)
plt. imshow (images [i], cmap="binary")
plt.axis ("off")
plt.show ()

# 載入模型
generator = load_model('模型路徑') #載入訓練好的模型 .H5
# 設置隨機種子​
tf.random.set_seed (1)
np.random.seed (1)
# 生成噪聲​
d = 30 # d 是生成器輸入的維度。這些噪聲將作為生成器的輸入,用於生成圖像。
# 30 MLP 100 CNN
noise = tf. random. normal (shape= [10, d]) # 生成一個形狀為 [10, d] 的隨機噪聲張量
# 使用生成器生成圖像
generated_images = generator (noise)
# 顯示生成的圖像
plot_multiple_images (generated_images, 10)


科普

在生成對抗網絡(GAN)中,生成器的輸入維度 d 通常被稱為「潛在空間」或「隱變數空間」的維度。這個潛在空間的向量被稱為「隱變數」或「編碼」(coding)。

以下是「生成器的輸入維度」和「Coding數量」的具體解釋:

生成器的輸入維度 d

生成器的輸入維度 ddd 是指生成器所接受的輸入向量的長度。這個向量是從一個高斯分佈(通常是標準正態分佈)中隨機生成的數據。生成器會將這個隨機向量轉換為一個有意義的數據樣本,例如一張圖片。

Coding數量

Coding數量就是指生成器輸入向量的元素個數。例如,如果 d=30d = 30d=30,這意味著生成器的每個輸入向量都是一個有30個元素的向量。這些隨機生成的向量會通過生成器轉換為新的數據樣本。










avatar-img
128會員
215內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
本文下方連結的文章,利用Stable Diffusion生成512 * 512大小的圖片。 輸入的文字是 dog flying in space,此模型需輸入英文句子才會準確生成。 參考文獻 連結該作者在Hugging Face公開的模型去做使用。 本文是在Colab上執行。
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
本文下方連結的文章,利用Stable Diffusion生成512 * 512大小的圖片。 輸入的文字是 dog flying in space,此模型需輸入英文句子才會準確生成。 參考文獻 連結該作者在Hugging Face公開的模型去做使用。 本文是在Colab上執行。
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文探討了影像生成模型的多種應用,包括文字、圖像和聲音到影片的生成,涵蓋了GAN、Transformer和Diffusion等技術。透過回顧相關研究,分析影像生成技術的未來趨勢與挑戰,為讀者提供全面的理解與啟示。
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在某些情況下,別人提供的 Pretrained Transformer Model 效果不盡人意,可能會想要自己做 Pretrained Model,但是這會耗費大量運
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
VQGAN是一種基於GAN(生成對抗式網路)的生成式模型,可以創造新的、逼真的圖像或修改已有圖像。本論文介紹了改進VQGAN用於StableDiffusion中的新方法架構,並提出了一種新的非對稱式VQGAN,具有更強的解碼器和兩個設計條件解碼器。論文下方另附相關資料連結。
Thumbnail
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
大語言模型能夠生成文本,因此被認為是生成式人工智慧的一種形式。 人工智慧的學科任務,是製作機器,使其能執行需要人類智慧才能執行的任務,例如理解語言,便是模式,做出決策。 除了大語言模型,人工智慧也包含了深度學習以及機器學習。 機器學習的學科任務,是透過演算法來實踐AI。 特別
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
生成式AI(Generative AI)是近年來人工智慧領域中備受矚目的技術之一。它以機器學習為基礎,通過學習大量數據中的模式和關係,能夠生成各種新的內容,涵蓋文字、圖像、音訊等多個領域。本文將深入探討生成式AI的原理、優缺點以及應用範疇。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文探討了影像生成模型的多種應用,包括文字、圖像和聲音到影片的生成,涵蓋了GAN、Transformer和Diffusion等技術。透過回顧相關研究,分析影像生成技術的未來趨勢與挑戰,為讀者提供全面的理解與啟示。
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在某些情況下,別人提供的 Pretrained Transformer Model 效果不盡人意,可能會想要自己做 Pretrained Model,但是這會耗費大量運
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
VQGAN是一種基於GAN(生成對抗式網路)的生成式模型,可以創造新的、逼真的圖像或修改已有圖像。本論文介紹了改進VQGAN用於StableDiffusion中的新方法架構,並提出了一種新的非對稱式VQGAN,具有更強的解碼器和兩個設計條件解碼器。論文下方另附相關資料連結。
Thumbnail
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
大語言模型能夠生成文本,因此被認為是生成式人工智慧的一種形式。 人工智慧的學科任務,是製作機器,使其能執行需要人類智慧才能執行的任務,例如理解語言,便是模式,做出決策。 除了大語言模型,人工智慧也包含了深度學習以及機器學習。 機器學習的學科任務,是透過演算法來實踐AI。 特別
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
生成式AI(Generative AI)是近年來人工智慧領域中備受矚目的技術之一。它以機器學習為基礎,通過學習大量數據中的模式和關係,能夠生成各種新的內容,涵蓋文字、圖像、音訊等多個領域。本文將深入探討生成式AI的原理、優缺點以及應用範疇。