生成對抗網絡 (GAN) 是一種深度學習模型,由兩個神經網絡組成:生成器 (Generator) 和鑑別器 (Discriminator)。這兩個網絡在訓練過程中相互競爭,目的是使生成器產生的數據越來越接近真實數據。

  • 生成器 (Generator):負責生成數據。它接收一個隨機噪聲作為輸入,然後輸出一個數據(例如圖片)。

  • 鑑別器 (Discriminator):負責鑑別輸入的數據是真實的還是由生成器生成的。它的目的是對真實數據給出高概率的“真實”標籤,而對生成器生成的數據給出低概率的“真實”標籤。

在訓練過程中,生成器試圖產生越來越逼真的數據,而鑑別器則試圖更好地區分真實數據和生成數據。當 GAN 訓練完成時,生成器可以產生非常逼真的數據。


關於 thispersondoesnotexist.com:

這個網站使用了一種稱為 StyleGAN 的生成對抗網絡模型來生成人臉圖片。每次你訪問該網站,它都會使用該模型生成一個全新的、不存在的人臉圖片。這些圖片都是由機器學習模型生成的,而不是真實存在的人的照片。這個網站展示了 GAN 技術的強大能力,能夠生成高質量、逼真的圖片。


下載人臉圖片程式

這個程式可以從 thispersondoesnotexist.com 下載生成的人臉圖片。該網站使用生成對抗網絡 (GAN) 來創建看起來非常真實的人臉圖片,但這些人事實上並不存在。

功能

  1. 使用 requests 模組進行網頁請求。
  2. 下載 100 張人臉圖片。
  3. 將每張圖片保存為 person_i.jpeg 格式,其中 i 是序號。

如何使用

  1. 確保已安裝所需的模組:
    1
    pip install requests
  2. 執行程式:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import requests
    import shutil

    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
    }
    number=100 # 下載 100 張圖片
    for i in range(number):
    response = requests.get('https://thispersondoesnotexist.com/', stream=True, headers=headers)
    with open(f'person_{i}.jpeg', 'wb') as out_file:
    shutil.copyfileobj(response.raw, out_file)
    del response

注意事項

  • 此程式使用自訂的 User-Agent 來模擬瀏覽器的請求。這可以避免某些網站的反機器人機制。
  • 下載的圖片將保存在當前目錄下。
  • 此程式可能需要一些時間才能完成,可以在本地運行也可以使用 colab。


作者: 微風