溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用

發(fā)布時間:2023-04-03 11:10:27 來源:億速云 閱讀:169 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用文章都會有所收獲,下面我們一起來看看吧。

1.嵌入 IFrame

     (/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#embedding-with-iframes)

要改為嵌入 IFrame(例如,如果您無法將 javascript 添加到您的網(wǎng)站),請?zhí)砑哟嗽兀?/p>

<iframe src="https://$your_space_host.hf.space"></iframe>

同樣,您可以找到src=空間嵌入 URL 的屬性,您可以在“嵌入此空間”按鈕中找到它。

您還需要height手動添加一個固定的以及其他常規(guī)的 iframe 屬性。例如:

<iframe src="https://abidlabs-pytorch-image-classifier.hf.space" frameBorder="0" height="900"></iframe>

2.API頁面

Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用

漸變/你好世界 使用 Gradio構(gòu)建。 托管在 Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用空間

如果您單擊并打開上面的空間,您將在應(yīng)用程序的頁腳中看到一個“通過 API 使用”鏈接。

Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用

這是記錄用戶可用于查詢函數(shù)的 REST API 的頁面Interface。Blocks應(yīng)用程序也可以生成一個 API 頁面,盡管 API 必須為每個事件偵聽器顯式命名,例如

btn.click(add, [num1, num2], output, api_name="addition")

這會將端點記錄/api/addition/到自動生成的 API 頁面。

注意:對于啟用隊列的Gradio 應(yīng)用程序,如果用戶向您的 API 端點發(fā)出 POST 請求,則可以繞過隊列。要禁用此行為,請api_open=Falsequeue()方法中設(shè)置。

3.驗證

您可能希望在您的應(yīng)用程序前面放置一個身份驗證頁面,以限制誰可以打開您的應(yīng)用程序。通過方法auth=中的關(guān)鍵字參數(shù)launch(),您可以提供一個包含用戶名和密碼的元組,或者一個可接受的用戶名/密碼元組列表;下面是一個為名為“admin”的單個用戶提供基于密碼的身份驗證的示例:

demo.launch(auth=("admin", "pass1234"))

對于更復(fù)雜的身份驗證處理,您甚至可以傳遞一個函數(shù),該函數(shù)將用戶名和密碼作為參數(shù),并返回 True 以允許身份驗證,否則返回 False。這可用于向 3rd 方身份驗證服務(wù)發(fā)出請求等。

下面是一個函數(shù)示例,它接受用戶名和密碼相同的任何登錄:

def same_auth(username, password):
    return username == password
demo.launch(auth=same_auth)

為使身份驗證正常工作,必須在您的瀏覽器中啟用第三方 cookie。默認情況下,Safari、Chrome 隱身模式不是這種情況。

4.直接訪問網(wǎng)絡(luò)請求

當(dāng)用戶對您的應(yīng)用做出預(yù)測時,您可能需要底層網(wǎng)絡(luò)請求,以便獲取請求標(biāo)頭(例如用于高級身份驗證)、記錄客戶端的 IP 地址或其他原因。Gradio 以類似于 FastAPI 的方式支持這一點:只需添加一個類型提示為的函數(shù)參數(shù)gr.Request,Gradio 就會將網(wǎng)絡(luò)請求作為該參數(shù)傳入。這是一個例子:

import gradio as gr
def echo(name, request: gr.Request):
    if request:
        print("Request headers dictionary:", request.headers)
        print("IP address:", request.client.host)
    return name
io = gr.Interface(echo, "textbox", "textbox").launch()

注意:如果您的函數(shù)是直接調(diào)用而不是通過 UI 調(diào)用(例如,當(dāng)示例被緩存時會發(fā)生這種情況),那么request將是None. 您應(yīng)該明確處理這種情況,以確保您的應(yīng)用不會拋出任何錯誤。這就是為什么我們有明確的檢查if request。

5.在另一個 FastAPI 應(yīng)用程序中安裝[![圖片轉(zhuǎn)存失敗,建議將圖片保存下來直接上傳

     (/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#mounting-within-another-fastapi-app)

在某些情況下,您可能有一個現(xiàn)有的 FastAPI 應(yīng)用程序,并且您想要為 Gradio 演示添加一個路徑。您可以使用 輕松地做到這一點gradio.mount_gradio_app()。

這是一個完整的例子:

from fastapi import FastAPI
import gradio as gr
CUSTOM_PATH = "/gradio"
app = FastAPI()
@app.get("/")
def read_main():
    return {"message": "This is your main app"}
io = gr.Interface(lambda x: "Hello, " + x + "!", "textbox", "textbox")
app = gr.mount_gradio_app(app, io, path=CUSTOM_PATH)
# Run this from the terminal as you would normally start a FastAPI app: `uvicorn run:app`
# and navigate to http://localhost:8000/gradio in your browser.

請注意,此方法還允許您在自定義路徑上運行 Gradio 應(yīng)用程序(http://localhost:8000/gradio在上面的示例中)。

6.安全和文件訪問

與他人共享您的 Gradio 應(yīng)用程序(通過將其托管在 Spaces、您自己的服務(wù)器上或通過臨時共享鏈接)會將主機上的某些文件**公開給您的 Gradio 應(yīng)用程序的用戶。**這樣做是為了讓 Gradio 應(yīng)用程序能夠顯示由 Gradio 創(chuàng)建或由您的預(yù)測功能創(chuàng)建的輸出文件。

特別是,Gradio 應(yīng)用程序授予用戶訪問三種文件的權(quán)限:

  • Gradio 腳本啟動所在的同一文件夾(或子目錄)中的文件。例如,如果您的 gradio 腳本的路徑是/home/usr/scripts/project/app.py并且您從 啟動它/home/usr/scripts/project/,那么您共享的 Gradio 應(yīng)用程序的用戶將能夠訪問其中的任何文件/home/usr/scripts/project/。這是必需的,以便您可以輕松地在 Gradio 應(yīng)用程序中引用這些文件。

  • Gradio 創(chuàng)建的臨時文件。這些文件是由 Gradio 創(chuàng)建的,作為運行預(yù)測功能的一部分。例如,如果你的預(yù)測函數(shù)返回一個視頻文件,那么 Gradio 會將該視頻保存到一個臨時文件中,然后將臨時文件的路徑發(fā)送到前端。

  • file_directories您通過中的參數(shù)明確允許的文件launch()。在某些情況下,您可能希望引用文件系統(tǒng)中的其他文件。該file_directories參數(shù)允許您傳入您希望提供訪問權(quán)限的其他目錄列表。(默認情況下,沒有其他文件目錄)。

用戶不應(yīng)該能夠訪問主機上的其他任意路徑。

關(guān)于“Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI