前言
隨著人工智能的不斷發(fā)展,各種智能算法越來越普遍,但是這些算法結(jié)果通常顯示在cmd命令窗口里。有沒有一種方法可以動(dòng)態(tài)展示,更具需要計(jì)算后動(dòng)態(tài)展現(xiàn)?
答案是有!
下面讓我了解一下Gradio庫(kù),只需寥寥幾行代碼就可以展現(xiàn)出chatGPT的對(duì)話窗口,是不是很nice!
一、Gradio是什么?
Gradio是一個(gè)開源的 Python 庫(kù),用于構(gòu)建機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)演示和 Web 應(yīng)用。
官網(wǎng):https://www.gradio.app/
Gradio適用于:
- 演示客戶/合作者/用戶/學(xué)生的機(jī)器學(xué)習(xí)模型。
- 部署通過自動(dòng)共享鏈接快速創(chuàng)建模型,并獲得模型性能反饋。
- 排除故障使用內(nèi)置的操作和解釋工具,在開發(fā)過程中以交互方式處理您的模型。
案例展示:https://huggingface.co/spaces/hysts/insightface-SCRFD
安裝包:https://pypi.org/project/gradio/
Github:https://github.com/gradio-app/gradio
二、使用Gradio構(gòu)建基本的 Web 應(yīng)用
- 安裝gradio庫(kù)
pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
- 簡(jiǎn)單用例:
import gradio as gr
def sayhello(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=sayhello, inputs="text", outputs="text")
demo.launch()
fn:具體調(diào)用的功能函數(shù)
inputs:輸入內(nèi)容格式,比如"text","image"等。
outputs:輸出結(jié)果格式,同inputs
- 運(yùn)行后出現(xiàn)如下窗口即算成功。
- 按提示用瀏覽器打開http://127.0.0.1:7860/
以上是Gradio構(gòu)建Web應(yīng)用的基本展示,下面我們修改一下sayhello函數(shù),改成我們想要的算法。
三、使用Gradio構(gòu)建彩色圖片轉(zhuǎn)灰度圖片的Web 應(yīng)用
- 安裝cv2庫(kù)(安裝庫(kù)名為:opencv-python)
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
- 彩色圖片轉(zhuǎn)灰度圖片的Web 應(yīng)用源代碼
import gradio as gr
import cv2
def color2black(image):
output = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
return output
interface = gr.Interface(fn=color2black, inputs="image", outputs="image")
interface.launch()
- 運(yùn)行后,按提示用瀏覽器打開http://127.0.0.1:7860/。點(diǎn)擊左側(cè)上傳圖片后提交,右側(cè)即可看到轉(zhuǎn)換后的圖片(彩色圖片變灰度圖片)。
結(jié)果如上圖,是不是很簡(jiǎn)單?
四、使用Gradio構(gòu)建驗(yàn)證碼識(shí)別方法驗(yàn)證的Web 應(yīng)用
這里我們使用ddddocr,它是一款專門識(shí)別各類驗(yàn)證碼的庫(kù),具體用法網(wǎng)上很多,我們這里只是展現(xiàn)一下算法的運(yùn)行與結(jié)果展示。
- 先安裝ddddocr庫(kù):
pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple
- 驗(yàn)證碼識(shí)別方法驗(yàn)證的Web 應(yīng)用完整代碼如下:
import gradio as gr
import cv2
import ddddocr
def img2yzm(image):
img = r"C:\yzm.jpg"
cv2.imwrite(img, image)
ocr = ddddocr.DdddOcr()
with open(img, 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print('識(shí)別結(jié)果為:',res)
return res
interface = gr.Interface(fn=img2yzm, inputs="image", outputs="text")
interface.launch()
- 運(yùn)行后如下圖:點(diǎn)擊clear后上傳圖片然后提交,即可在右側(cè)顯示驗(yàn)證碼識(shí)別結(jié)果。
總結(jié)
Gradio 寥寥幾行代碼就能讓原本抽象的算法瞬間變成可視化的交互應(yīng)用,將原本干巴巴的結(jié)果形象地呈現(xiàn)出來,這對(duì)于智能算法的演示和結(jié)果驗(yàn)證非常有用。目前流行的chatGPT結(jié)果展現(xiàn)也是類似這種方式。只需我們把fn函數(shù)改成相應(yīng)的智能算法,并return一下輸出結(jié)果即可。文章來源:http://www.zghlxwxcb.cn/news/detail-614448.html
這篇文章舉例3個(gè)簡(jiǎn)單例子,只是展現(xiàn)一下簡(jiǎn)單用法,后續(xù)還有更多例子可以拿出來展示。讓我們一起期待吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-614448.html
到了這里,關(guān)于【Python小技巧】使用Gradio輕松部署AI算法結(jié)果可視化Web 應(yīng)用(含圖片轉(zhuǎn)換、驗(yàn)證碼識(shí)別完整源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!