[深度學習][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
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
141會員
253內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
螃蟹_crab的沙龍的其他內容
2024/07/27
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
Thumbnail
2024/07/27
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
Thumbnail
2024/07/27
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
2024/07/27
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
2024/07/26
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
2024/07/26
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
AI生成圖片是一個挑戰性的任務,雖然AI能理解文字需求,但仍無法完全想像心中的理想畫面。使用中文描述AI的生成效果約為5成到6成,而加入擬人化的描述可以讓AI更好地理解需求。無論如何,AI生成圖片仍面臨許多挑戰,需要更多的研究與嘗試。
Thumbnail
AI生成圖片是一個挑戰性的任務,雖然AI能理解文字需求,但仍無法完全想像心中的理想畫面。使用中文描述AI的生成效果約為5成到6成,而加入擬人化的描述可以讓AI更好地理解需求。無論如何,AI生成圖片仍面臨許多挑戰,需要更多的研究與嘗試。
Thumbnail
這是一篇介紹如何使用AI來生成貓貓圖片的文章,作者透過幾個軟體的使用經驗,分享了AI生成圖片的效果以及注意事項。文章內容豐富,並且有各種關鍵字和描述,可以吸引潛在讀者。
Thumbnail
這是一篇介紹如何使用AI來生成貓貓圖片的文章,作者透過幾個軟體的使用經驗,分享了AI生成圖片的效果以及注意事項。文章內容豐富,並且有各種關鍵字和描述,可以吸引潛在讀者。
Thumbnail
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
Thumbnail
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
Thumbnail
本文將延續上一篇文章,經由訓練好的GAN模型中的生成器來生成圖片 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 [深度學習][Python]訓練CNN的GAN模型來生成圖片_訓練篇 相較之下CNN的GAN生成的效果比較好,但模型也相對比較複雜,訓練時間花的也比較
Thumbnail
本文將延續上一篇文章,經由訓練好的GAN模型中的生成器來生成圖片 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 [深度學習][Python]訓練CNN的GAN模型來生成圖片_訓練篇 相較之下CNN的GAN生成的效果比較好,但模型也相對比較複雜,訓練時間花的也比較
Thumbnail
這陣子使用AI模型,還有參考國內外一些喜歡玩語言模型的同好發文,一個很有趣的結論就是,有時候把大型語言模型(尤其ChatGPT)當作一個人來溝通,會得到比較好的結果,這的確是非常反直覺的,也就是說很多時候ChatGPT耍懶不肯工作的時候,你用加油打氣,或是情緒勒索的方法,確實是可以得到比較好的結果。
Thumbnail
這陣子使用AI模型,還有參考國內外一些喜歡玩語言模型的同好發文,一個很有趣的結論就是,有時候把大型語言模型(尤其ChatGPT)當作一個人來溝通,會得到比較好的結果,這的確是非常反直覺的,也就是說很多時候ChatGPT耍懶不肯工作的時候,你用加油打氣,或是情緒勒索的方法,確實是可以得到比較好的結果。
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News