本教程將向你展示如何使用DALL-E API從你的Raspberry Pi上生成隨機的AI藝術。
近年來,人工智能(AI)是一個取得了巨大飛躍的領域,這在很大程度上要歸功于OpenAI等團隊的努力。
這些新項目的一個巨大優勢是,其中許多項目允許你以實惠的價格使用它們的網絡來執行各種任務。
由此帶來的一個有趣功能是能夠根據給定的提示生成藝術。有許多API可以實現這一點,但我們將重點關注的是OpenAI的DALL-E。
你可以在你的Raspberry Pi上使用DALL-E AI,根據你給出的提示生成圖像。我們選擇使用DALL-E,因為它的API非常簡單,而且我們在之前的Raspberry PiChatGPT教程中已經探索過它。
當然,DALL-E不是免費使用的,你可以在其網站上查看其定價。雖然價格不是特別貴,但如果你試圖生成大量圖像,費用可能會累積起來。
使用DALL-E API的一個優點是,你可以執行通常需要昂貴圖形處理器(GPU)來生成的AI任務。所有的計算都在他們的云服務器上處理,因此本指南甚至可以在Raspberry Pi Zero W上運行。
從你的Raspberry Pi生成AI圖像的一個潛在用例是擁有一個定期更新的動態藝術顯示屏。
設備
下面是在我們的Raspberry Pi上使用DALL-E生成AI圖像時所使用的設備列表。
推薦設備
Raspberry Pi
Micro SD卡
電源適配器
可選設備
Raspberry Pi保護殼
USB鼠標
USB鍵盤
HDMI線
顯示器
以上設備都可以在在樹莓派開發者和上海晶珩進行購買,本教程最后一次測試是在運行最新版本的Raspberry Pi OS Bookworm 64位的Raspberry Pi 5上進行的。
獲取你的OpenAI API密鑰以使用DALL-E
要在你的Raspberry Pi上使用DALL-E AI生成圖像,你需要一個OpenAI API密鑰。
以下步驟將指導你獲取所需的API密鑰。
1.在生成OpenAI API密鑰之前,你必須注冊一個賬戶。
你可以通過訪問平臺注冊頁面免費創建一個賬戶。如果你已經有了一個賬戶,你可以跳過這一步并登錄。
2.登錄賬戶后,你必須確保點擊“API”選項,而不是“ChatGPT”。
3.進入API部分后,在側邊欄中點擊“API keys”部分。在其折疊狀態下,此選項也由掛鎖圖標表示。
4.現在你的設備已經打開了“API Keys”屏幕,你必須點擊“Create New Secret Key”按鈕。
5.系統將提示你給這個OpenAI密鑰命名(1.)。這有助于在界面中更容易地識別該密鑰。
設置名稱后,點擊“Create Secret key”(2.)按鈕。
6.你的Raspberry Pi生成AI圖像的一個潛在用例是擁有一個定期更新的動態藝術顯示屏。
確保你復制了密鑰,因為它將不會再次顯示。復制密鑰后,你可以繼續本指南。
請記住,OpenAI不是一項免費服務。他們有時會給你一小筆信用額度來試用他們提供的各種AI模型。否則,你必須設置賬單以使用該服務。
在你的Raspberry Pi上使用DALL-E生成圖像
在本部分中,我們將向你展示如何使用AI DALL-E從你的Raspberry Pi上生成圖像。
為了使這項工作能夠完成,我們將編寫一個使用OpenAI庫的簡短腳本。這個庫允許我們用幾行簡短的代碼輕松請求生成的圖像。
準備你的Raspberry Pi
1.在我們可以編寫腳本以使用DALL-E從你的Raspberry Pi上生成圖像之前,我們必須做一些準備工作。你的第一個任務是運行下面的兩個命令來更新包列表和任何過時的包。
sudo apt updatesudo apt upgrade -y
2.升級過程完成后,我們必須安裝Python、其虛擬環境模塊和名為“pip”的包管理器。你可以通過在終端中使用以下命令來安裝這些包。
sudo apt install python3 python3-venv python3-pip
設置Python虛擬環境
3.現在我們已經有了所需的所有包,我們必須為我們的腳本設置一個Python虛擬環境。
這項任務的第一部分是創建一個目錄來存儲我們的腳本和虛擬環境。使用下面的命令,我們使用mkdir命令在你的主目錄中創建一個名為“dalle”的目錄。
https://pimylifeup.com/mkdir-command-linux/
mkdir ~/dalle
4.創建目錄后,你想使用cd命令切換到它。
https://pimylifeup.com/cd-command/
cd ~/dalle
5.在我們可以安裝OpenAI Python庫之前,我們必須創建虛擬環境。在編寫我們的腳本并安裝OpenAI Python庫之前,我們必須創建虛擬環境。
python3 -m venv env
6.現在,我們必須使用以下命令告訴終端使用這個虛擬環境。你必須在之前創建的“dalle”目錄內運行此命令。在使用你的Raspberry Pi的AI圖像生成腳本時,你也必須運行此命令。
安裝OpenAI Python庫
7.現在我們已經在虛擬環境中,我們可以安裝OpenAI Python庫。這個庫將允許我們輕松地使用DALL-E生成AI圖像并將它們保存到我們的Raspberry Pi上。
python3 -m pip install openai
編寫腳本以在Raspberry Pi上使用DALL-E生成圖像
8.一切準備就緒后,我們可以繼續編寫一個Python腳本,該腳本將與DALL-E交互并使用其AI生成圖像。
由于我們之前安裝了庫,這個過程相對簡單。
nano generate.py
編寫Python腳本
9.在這個文件中,你必須輸入以下行。這個腳本相當簡單,但我們將隨著講解每個代碼塊。
導入所需庫
a.這個腳本的第一行將導入OpenAI庫。我們將使用這個庫向DALL-E AI發出請求以生成圖像,并將其結果保存到Raspberry Pi上。
from openai import OpenAI
b.接下來,我們必須導入“urllib”庫。OpenAI以鏈接的形式發送圖像,因此,要將DALL-E生成的AI圖像保存到Raspberry Pi上,我們必須使用此庫的“urlretrieve”函數。
import urllib.request
設置OpenAI庫
c. 我們的下一步是實例化OpenAI庫,并將其引用存儲在我們名為“client”的變中。我們需要傳遞給這個函數的唯一內容是你之前生成的密鑰。請確保將“SECRETKEY”替換為你的OpenAI API密鑰。
client = OpenAI( api_key = 'SECRETKEY')
為DALL-E編寫生成提示
d. 接下來,我們將創建一個名為“generation_prompt”的變量,用于存儲我們對DALL-E AI的提示。這個提示是AI用于生成圖像的內容。在我們的示例中,我們將此變量設置為文本“一只白色的暹羅貓”。
generation_prompt="A white siamese cat"
從你的Raspberry Pi向DALL-E發出API調用
E.一切準備就緒后,我們可以使用OpenAI庫生成一個新的圖像。這個函數調用有幾個不同的參數我們必須指定。
- model: 在本指南中,我們專注于使用DALL-E 3在我們的Raspberry Pi上生成圖像。因此,我們將模型設置為“dall-e-3”。如果你愿意,可以通過將其設置為“dall-e-2”來使用更便宜的舊版本。
- prompt: 此參數允許你告訴DALL-E你想要生成什么圖像、你想要的風格以及其他內容。在我們的示例中,我們傳遞了之前在腳本中設置的“generation_prompt”變量。
- size: 這允許你設置圖像的大小。我們將其設置為“1024x1024”,因為這兩個模型都支持此大小。
- 對于DALL-E 3,支持以下大小:
1024×1024
1792×1024
1024×1792
對于DALL-E 2,支持以下圖像大小:
256×256
512×512
1024×1024
- quality: 僅對于DALL-E 3,你可以指定是想要“standard”還是“hd”質量。HD圖像生成的最終細節質量更好。但是,HD圖像生成的成本更高。
- n: 我們在這里設置的最后一個選項是要為你的提示生成的圖像數量。
- 對于DALL-E 3,此值只能設置為1。如果你想要同一提示的變體,則需要進行多次調用。
- 對于DALL-E 2,你可以將此值設置為1到10之間的任意值。
response = client.images.generate( model="dall-e-3", prompt=generation_prompt, size="1024x1024", quality="standard", n=1)
處理生成的圖像
f. 在收到DALL-E AI圖像生成器的響應后,我們將想要從中獲取URL并將其存儲在我們的“image_url”變量中。我們將使用這個URL在下一個函數調用中下載并保存圖像。
image_url = response.data[0].url
g. 最后,為了結束腳本,我們使用“urllib”庫從DALL-E檢索并保存AI生成的圖像到我們的Raspberry Pi,文件名為“image.png”。
urllib.request.urlretrieve(image_url, "image.png")
最終腳本
10.在添加所有之前的代碼行之后,你應該會得到與我們下面所示類似的內容。
from openai import OpenAIimport urllib.request
client = OpenAI( api_key = 'SECRETKEY')
generation_prompt="A white siamese cat"
response = client.images.generate( model="dall-e-3", prompt=generation_prompt, size="1024x1024", quality="standard", n=1)
image_url = response.data[0].url
urllib.request.urlretrieve(image_url, "image.png")
11.現在,你可以通過按CTRL + X,然后按Y,再按ENTER來保存并退出文件。
測試你的AI圖像生成腳本
12.腳本編寫完成后,我們現在可以運行它來生成AI圖像并將其保存到我們的Raspberry Pi上。腳本將使用你定義的提示向OpenAI請求一個新圖像。
python3 generate.py
13.圖像生成完成后,你將在與腳本相同的目錄中得到一個名為“image.png”的文件。此圖像是由DALL-E生成的并保存到你的Raspberry Pi上的圖像。
下面是一個使用提示“一只白色的暹羅貓”生成的圖像示例。
使用OpenAI的DALL-E生成的圖像
結論
至此,你應該已經很好地了解了如何從你的Raspberry Pi生成AI藝術。為了實現這一點,我們使用了OpenAI的DALL-E。我們選擇使用DALL-E,因為它非常容易接入,并且被認為是較好的圖像生成器之一。
-
AI
+關注
關注
87文章
32960瀏覽量
272684 -
人工智能
+關注
關注
1801文章
48235瀏覽量
243270 -
樹莓派
+關注
關注
118文章
1882瀏覽量
106255
發布評論請先 登錄
相關推薦
樹莓派+藝術品,有沒有搞頭?

評論