做網(wǎng)站引流推廣賺錢一個(gè)2元
GPT-4 Vision 系列:
- 翻譯: GPT-4 with Vision 升級(jí) Streamlit 應(yīng)用程序的 7 種方式一
- 翻譯: GPT-4 with Vision 升級(jí) Streamlit 應(yīng)用程序的 7 種方式二
- 翻譯: GPT-4 Vision靜態(tài)圖表轉(zhuǎn)換為動(dòng)態(tài)數(shù)據(jù)可視化 升級(jí)Streamlit 三
- 翻譯: GPT-4 Vision從圖像轉(zhuǎn)換為完全可編輯的表格 升級(jí)Streamlit四
- 翻譯: GPT-4 Vision通過(guò)量身定制的推薦來(lái)增強(qiáng)應(yīng)用的用戶體驗(yàn) 升級(jí)Streamlit五
- 翻譯: GPT-4 Vision征服LLM幻覺(jué)hallucinations 升級(jí)Streamlit六
1.6. 調(diào)試任何應(yīng)用,即使缺少文本日志
作為 Streamlit 的開(kāi)發(fā)倡導(dǎo)者,我花了很大一部分時(shí)間在論壇上,幫助我們的社區(qū)用戶調(diào)試他們的 Streamlit 應(yīng)用程序。
雖然 GPT-4 是一個(gè)非常有效的工具,可以快速查看錯(cuò)誤日志以找到錯(cuò)誤的來(lái)源,但有時(shí),用戶由于各種原因無(wú)法提供錯(cuò)誤日志跟蹤:
- 日志跟蹤可能包含無(wú)法共享的私有數(shù)據(jù)。
- 用戶可能無(wú)法在特定時(shí)間訪問(wèn)日志跟蹤。
我們可能只能從 Streamlit 前端獲得錯(cuò)誤標(biāo)注的屏幕截圖,如下所示:
這可能會(huì)使調(diào)試問(wèn)題變得困難,因?yàn)槲覀儫o(wú)權(quán)訪問(wèn)完整的日志跟蹤。
不要害怕!ChatGPT Vision 仍然可以通過(guò)從屏幕截圖中提取相關(guān)信息來(lái)提供有用的調(diào)試提示來(lái)幫助您。
使用以下提示prompt粘貼上面的圖像:
Give me a clue on the error.
給我關(guān)于錯(cuò)誤的線索。
2. GPT-4 的答案
根據(jù)您提供的截圖,看起來(lái)一個(gè)Streamlit
應(yīng)用程序在執(zhí)行過(guò)程中遇到了ValueError
錯(cuò)誤。錯(cuò)誤源自一個(gè)名為classificacao_com_automl_em_manutencao_pred...
(由于截圖被截?cái)?#xff0c;無(wú)法看到完整文件名)的文件中的modelo.predict(listaValores)
函數(shù)調(diào)用。以下是我們可以推斷的信息:
-
ValueError
:當(dāng)一個(gè)函數(shù)接收到一個(gè)類型正確但值不適當(dāng)?shù)膮?shù),或者當(dāng)存在函數(shù)未設(shè)置處理的條件時(shí),就會(huì)出現(xiàn)這種類型的錯(cuò)誤。 -
LightGBM
與Scikit-learn
集成:回溯顯示錯(cuò)誤發(fā)生在預(yù)測(cè)步驟中,很可能涉及到使用LightGBM(lightgbm/sklearn.py
)的機(jī)器學(xué)習(xí)模型。LightGBM
是一個(gè)使用基于樹(shù)的學(xué)習(xí)算法的梯度提升框架,在這種情況下似乎與Scikit-learn
集成。 -
數(shù)據(jù)輸入問(wèn)題:調(diào)用了
predict
或predict_proba
函數(shù),這表明問(wèn)題可能與傳遞給模型進(jìn)行預(yù)測(cè)的輸入數(shù)據(jù)(listaValores
)有關(guān)。這類錯(cuò)誤的常見(jiàn)原因可能包括:
- 形狀不匹配:模型期望輸入數(shù)據(jù)具有一定的形狀,但
listaValores
與此形狀不匹配。 - 預(yù)處理不匹配:數(shù)據(jù)未按照與訓(xùn)練數(shù)據(jù)相同的方式進(jìn)行預(yù)處理(縮放/標(biāo)準(zhǔn)化/編碼)。
- 數(shù)據(jù)中存在模型無(wú)法處理的缺失值或無(wú)限值。
-
模型期望:錯(cuò)誤可能表明模型對(duì)輸入數(shù)據(jù)有一定的期望,但這些期望沒(méi)有得到滿足。例如,模型可能需要數(shù)值輸入,但它接收到的是需要編碼的分類數(shù)據(jù)。
-
_LGBMCheckArray
函數(shù):這是一個(gè)內(nèi)部LightGBM
函數(shù)調(diào)用,用于驗(yàn)證輸入數(shù)組。accept_sparse=True
和force_all_finite=False
參數(shù)表明模型被設(shè)置為接受稀疏輸入并且不要求所有值都是有限的。然而,如果傳遞給它的數(shù)據(jù)不滿足其他標(biāo)準(zhǔn)(如正確的形狀或類型),它仍然可能引發(fā)ValueError
。
為了調(diào)試此問(wèn)題,您應(yīng)該:
- 檢查
listaValores
的形狀和類型,確保它與模型的訓(xùn)練數(shù)據(jù)匹配。 - 確保對(duì)訓(xùn)練數(shù)據(jù)應(yīng)用的任何預(yù)處理步驟也應(yīng)用于
listaValores
。 - 查看日志中的完整錯(cuò)誤信息,正如
Streamlit
錯(cuò)誤消息所建議的,以獲取關(guān)于ValueError
原因的更具體細(xì)節(jié)。
通常,調(diào)試此類錯(cuò)誤涉及在錯(cuò)誤發(fā)生之前的各個(gè)點(diǎn)打印出或記錄數(shù)據(jù)的形狀和類型,并確認(rèn)輸入數(shù)據(jù)滿足模型的所有假設(shè)。
代碼
https://github.com/zgpeace/pets-name-langchain/tree/develop
參考
https://blog.streamlit.io/7-ways-gpt-4-vision-can-uplevel-your-streamlit-apps/