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

樹(shù)莓派小技巧:無(wú)需鍵盤(pán)或顯示器,如何通過(guò)WiFi設(shè)置樹(shù)莓派?

樹(shù)莓派復(fù)古游戲,你會(huì)選哪一個(gè)?

樹(shù)莓派分類(lèi)器:用樹(shù)莓派識(shí)別不同型號(hào)的樹(shù)莓派!

用樹(shù)莓派“揪出”家里的耗電怪獸!

樹(shù)莓派“吉尼斯世界記錄”:將樹(shù)莓派的性能發(fā)揮到極致的項(xiàng)目!

用 樹(shù)莓派 Zero 打造的智能漫游車(chē)!

樹(shù)莓派GUI應(yīng)用開(kāi)發(fā):從零到炫酷的魔法之旅!

樹(shù)莓派+藝術(shù)品,有沒(méi)有搞頭?

評(píng)論