2022年8月23日 星期二

在HuggingFace建立Gradio Web App

Gradio建立Web App時,其分享給其他使用者的公開網址只有72小時有效。如果要讓Gradio建立的Web App一直可以分享,可在HuggingFace網站建立空間存放Web App 即可完成。

準備Gradio 所需檔案

以建立手寫數字辨識Gradio為例:首先將主程式置於<app.py>檔中。<app.py>的內容為:

import tensorflow as tf

import gradio as gr


model = tf.keras.models.load_model("mnist-model.h5")


def mnist(image):

    image = image.reshape(1, -1)  #(28,28)轉為(1,784)

    prediction = model.predict(image).tolist()[0]

    return {str(i): prediction[i] for i in range(10)}


out = gr.outputs.Label(num_top_classes=3, label='預測結果')

grobj = gr.Interface(fn=mnist, inputs="sketchpad", outputs=out, title="手寫數字")

grobj.launch()

接著將要安裝的模組置於<requirements.txt>檔,此處內容為:

tensorflow==2.9.1

最後準備Gradio的Web App執行時需要的檔案(若沒有就不需準備):此處為手寫辨識模型檔<mnist-model.h5>。

建立HuggingFace空間

開啟「https://huggingface.co/」網頁,若還沒HuggingFace帳號就先申請一個帳號。登入HuggingFace網站,點選上方「Spaces」,再按「Create new Space」鈕建立一個新空間。

Space name欄位輸入空間名稱(此處輸入mnist),Select the Space SDK欄位點選「Gradio」,核選「Public」,最後按「Create space」建立空間。

點選「Files」頁籤,點選右上方「Add File / Upload file」上傳檔案。

按「Drag file here or click to browse from your computer」區域,選取<app.py>上傳。

一次只能上傳一個檔案,再重複兩次,上傳<mnist-model.h5>及< requirements.txt>檔案。完成後如下圖:

複製「https://huggingface.co/spaces/tsjeng/mnist」網址,在瀏覽器新頁籤開啟此網頁,就可看到執行的Web App。

在瀏覽器按分享鈕,點選「建立 QR 圖碼」產生QRCode。

使用手機QRCode掃描App掃描QRCode,就可在手機執行此Web App。

(為節省網頁流量,此空間已移除,請自行建立HuggingFace空間)


沒有留言:

張貼留言