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空間)
沒有留言:
張貼留言