生成對抗網絡 (GAN) 是一種深度學習模型,由兩個神經網絡組成:生成器 (Generator) 和鑑別器 (Discriminator)。這兩個網絡在訓練過程中相互競爭,目的是使生成器產生的數據越來越接近真實數據。
生成器 (Generator):負責生成數據。它接收一個隨機噪聲作為輸入,然後輸出一個數據(例如圖片)。
鑑別器 (Discriminator):負責鑑別輸入的數據是真實的還是由生成器生成的。它的目的是對真實數據給出高概率的“真實”標籤,而對生成器生成的數據給出低概率的“真實”標籤。
在訓練過程中,生成器試圖產生越來越逼真的數據,而鑑別器則試圖更好地區分真實數據和生成數據。當 GAN 訓練完成時,生成器可以產生非常逼真的數據。
關於 thispersondoesnotexist.com:
這個網站使用了一種稱為 StyleGAN 的生成對抗網絡模型來生成人臉圖片。每次你訪問該網站,它都會使用該模型生成一個全新的、不存在的人臉圖片。這些圖片都是由機器學習模型生成的,而不是真實存在的人的照片。這個網站展示了 GAN 技術的強大能力,能夠生成高質量、逼真的圖片。
下載人臉圖片程式
這個程式可以從 thispersondoesnotexist.com
下載生成的人臉圖片。該網站使用生成對抗網絡 (GAN) 來創建看起來非常真實的人臉圖片,但這些人事實上並不存在。
功能
- 使用
requests
模組進行網頁請求。 - 下載 100 張人臉圖片。
- 將每張圖片保存為
person_i.jpeg
格式,其中i
是序號。
如何使用
- 確保已安裝所需的模組:
1
pip install requests
- 執行程式:
1
2
3
4
5
6
7
8
9
10
11
12
13import 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。

作者: 微風