最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Visual ChatGPT(可處理圖片的對話系統(tǒng))原理簡介和環(huán)境搭建

2023-03-13 21:09 作者:璃花晝  | 我要投稿

????????visual-chatgpt可以通過對話讓AI對圖片進行分析和處理,對圖片進行解釋、按文字生成或修改圖片等操作。本質(zhì)上其實是ControlNet+ChatGPT,并不是一個能夠直接對圖片進行處理的多模態(tài)語言模型,而是ChatGPT在現(xiàn)有的AI圖片處理技術(shù)上的一個應(yīng)用。

? ? ? ??完整將模型全部加載要幾十G的顯存,但其實沒有必要,每次只要加載需要用到的部分即可,通過修改代碼可以在十幾G的顯存上運行。


原理簡介

原理圖

參數(shù)介紹

User Query,符號Qi,用戶第i輪提問,可以是文字或者圖片

Ouput,符號Ai,模型第i輪回答

Prompt Manager,符號M,提示詞管理器,將圖片信息轉(zhuǎn)換為文本,使得ChatGPT能夠理解

Visual Foundation Models,符號F,視覺基礎(chǔ)模型,簡寫VFM

System Principle,符號P,系統(tǒng)的基本規(guī)則,例如,如果發(fā)現(xiàn)了輸入內(nèi)容是圖片的文件名,此時應(yīng)該使用VFM來處理圖片,而不是根據(jù)聊天記錄生成文本

History of Dialogue,符號H<i,對話歷史,第i輪對話之前的問題答案對的串聯(lián),并且會用最大長度進行截斷

History of Reasoning,符號Ri(<j),推理歷史,第j輪之前之前的推理歷史(即右邊的中間過程)

Intermediate Answer,符號Ai(j),第j輪中間的回答,Visual ChatGPT會通過邏輯調(diào)用不同的VFM逐步回答


圖片左邊是示例對話,分為三輪:

1、用戶發(fā)送一張圖片。

模型:收到。

2、用戶:將圖片中的沙發(fā)換成桌子,并使用水彩畫的風格

模型返回兩張照片,第一張是將沙發(fā)換成桌子,第二張是換成水彩畫風格

3、用戶:圖片中的墻是什么顏色(這里的圖片應(yīng)該是指處理后的圖片)

模型:圖片中的墻是藍色


圖片中間的部分是處理流程,核心是Prompt Manager部分,負責接收參數(shù)后,整理成合適的提示詞,然后送給ChatGPT,讓ChatGPT決定:是否需要用到圖片模型、使用什么樣的模型、以及最終的輸出。

如果不需要用到VFM,則M接收P、F、H<i,Qi四個參數(shù);如果需要用到VFM,則M額外接收Ri(<j)和Ai(j)兩個參數(shù)。


圖片右邊的部分,是對需要用到VFM的第二輪對話的中間流程示例,也就是將六個參數(shù)通過M送給ChatGPT的處理結(jié)果。這里推理共有三步:

1、ChatGPT認為需要用VFM,并且使用【Replace Something From The Photo】這個模型,然后將圖片中的一個部分替換掉,即把沙發(fā)換成桌子,生成一張新照片。

2、ChatGPT認為需要用VFM,并且使用【Instruct Image Using Text】這個模型,然后將圖片的風格進行轉(zhuǎn)換,即把風格換成水彩畫,生成一張新照片。

3、ChatGPT認為不需要用VFM,輸出圖片。


下圖示Prompt Manager的原理圖,簡單概括就是設(shè)定各種各樣的規(guī)則,使得輸入的內(nèi)容能夠讓ChatGPT看懂:

Prompt Manager


環(huán)境搭建

測試過Windows和Linux兩個系統(tǒng),Linux是在Docker中的,都可以搭建,只是有些許差別。

1、安裝git

Linux系統(tǒng):

1)apt update

2)apt install git

3)apt install git-lfs

4)git lfs install?

Windows系統(tǒng):

1)官網(wǎng)下載windows版本并安裝git:https://git-scm.com/

2)官網(wǎng)下載windows版本并安裝git-lfs:https://github.com/git-lfs/git-lfs/releases

3)控制臺執(zhí)行:git lfs install?


2、下載代碼

這里有兩個倉庫都叫ControlNet,重名了,先在兩個目錄下載,然后把兩個ControlNet文件夾一起復制到visual-chatgpt目錄下即可。(第三個倉庫包含了一些模型,需要多下載一些時間。)

git clone https://github.com/microsoft/visual-chatgpt

git clone https://github.com/lllyasviel/ControlNet

git clone https://huggingface.co/lllyasviel/ControlNet


3、下載模型,共42.5G

linux系統(tǒng):

1)執(zhí)行 ./download.sh即可

linux系統(tǒng)目錄結(jié)構(gòu)

windows系統(tǒng):

1)將ControlNet中的annotator、cldm、ldm三個目錄復制到visual-chatgpt

2)創(chuàng)建image目錄

3)手動把download.sh中的8個pth文件下載下來,并放到ControlNet/models目錄下


windows系統(tǒng)目錄結(jié)構(gòu)


4、安裝python環(huán)境

1)根據(jù)操作系統(tǒng)下載并安裝anaconda:https://www.anaconda.com/

2)創(chuàng)建環(huán)境:conda create -n visgpt python=3.8

3)激活環(huán)境:conda activate visgpt

4)安裝依賴:pip install -r requirement.txt

如果運行的時候報錯:openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))

原因是urllib3的版本1.26.0以上可能會導致無法連接api.openai.com,安裝一個低版本的即可,例如pip install urllib3==1.25.11。


5、設(shè)置環(huán)境變量

在系統(tǒng)中將openai的api_key加入環(huán)境變量:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxx


6、修改代碼

????????將visual_chatgpt.py的如圖這兩個部分全部注釋掉,需要用的時候再打開。如果只有一個顯卡的話,將cuda:x全部改成cuda:0,多顯卡可以根據(jù)個人配置增加。

注釋1
注釋2

? ? ? ? ?取消注釋的時候,上面的模型取消了,下面的tools部分也要相應(yīng)取消注釋。例如這里開啟了edit和i2t兩個模型,則tools中也要將這兩個模型對應(yīng)的部分注釋取消。

????????如果不知道需要用到什么模型,可以先把流程跑通,到時候ChatGPT判斷出需要什么模型但沒有的時候會有報錯提示,再把對應(yīng)的打開即可。


7、啟動程序

python visual_chatgpt.py

注意:初次執(zhí)行時,可能會從huggingface下載模型,可以先把代理關(guān)了,等服務(wù)完全啟動后,需要訪問到api.openai.com,再開啟代理。

成功啟動


8、瀏覽器訪問

打開http://127.0.0.1:7860/,如果端口號沖突,代碼最后一行可以改這個端口號。

然后就可以上傳圖片并進行操作了,例如我這里上傳了我現(xiàn)在的頭像,上傳圖片后控制臺的輸出:

上傳圖片后

然后輸入提示詞讓他描述一下這個人:Describe the person??刂婆_輸出如下圖:

輸出控制臺

網(wǎng)頁上的情況:

done

????????這里我只加載了edit和i2t模型,沒有加載t2i模型(即text to image),并不能生成圖片,只是將流程走通(測試的這臺機器只有11G顯存不夠了,要換另一臺顯存大的)。如果需要加載別的模型只要把相應(yīng)的注釋去掉即可。


????????小結(jié)一下,只是看官網(wǎng)演示的話,會覺得這個很神奇,但是其實就是已經(jīng)有了一大堆圖片模型后,讓ChatGPT幫我們選擇模型進行處理。即使沒有ChatGPT,也可以做這些事情,人工去選擇模型而已。目前最大的問題在于,模型占用的顯存太大,如果能優(yōu)化到全部模型只占10G以內(nèi),那還是很不錯的。

????????不過多模態(tài)版的ChatGPT很快也要出了,這些AI圖片處理技術(shù)會不會逐漸被替代,也未可知。

Visual ChatGPT(可處理圖片的對話系統(tǒng))原理簡介和環(huán)境搭建的評論 (共 條)

分享到微博請遵守國家法律
贡觉县| 长寿区| 江安县| 庆阳市| 滦南县| 乌审旗| 石楼县| 固镇县| 于田县| 枣强县| 永兴县| 清水河县| 太和县| 汉寿县| 赣州市| 罗源县| 陆丰市| 呼图壁县| 长海县| 黔江区| 凉城县| 肇庆市| 岳阳县| 南靖县| 佛山市| 乌拉特前旗| 岗巴县| 海安县| 遂溪县| 当涂县| 鄢陵县| 台北市| 无极县| 东乌| 疏附县| 竹北市| 晋城| 伊宁县| 信丰县| 曲麻莱县| 合阳县|