您好,登錄后才能下訂單哦!
這篇文章主要介紹了Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Gradio機器學(xué)習(xí)模型快速部署工具怎么應(yīng)用文章都會有所收獲,下面我們一起來看看吧。
(/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>
漸變/你好世界 使用 Gradio構(gòu)建。 托管在 空間
如果您單擊并打開上面的空間,您將在應(yīng)用程序的頁腳中看到一個“通過 API 使用”鏈接。
這是記錄用戶可用于查詢函數(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=False
在queue()
方法中設(shè)置。
您可能希望在您的應(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 隱身模式不是這種情況。
當(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
。
(/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
在上面的示例中)。
與他人共享您的 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è)資訊頻道。
免責(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)容。