您好,登錄后才能下訂單哦!
這篇文章主要介紹了Gradio機器學習模型快速部署工具怎么應用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Gradio機器學習模型快速部署工具怎么應用文章都會有所收獲,下面我們一起來看看吧。
(/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#embedding-with-iframes)
要改為嵌入 IFrame(例如,如果您無法將 javascript 添加到您的網站),請添加此元素:
<iframe src="https://$your_space_host.hf.space"></iframe>
同樣,您可以找到src=
空間嵌入 URL 的屬性,您可以在“嵌入此空間”按鈕中找到它。
您還需要height
手動添加一個固定的以及其他常規的 iframe 屬性。例如:
<iframe src="https://abidlabs-pytorch-image-classifier.hf.space" frameBorder="0" height="900"></iframe>
漸變/你好世界 使用 Gradio構建。 托管在 空間
如果您單擊并打開上面的空間,您將在應用程序的頁腳中看到一個“通過 API 使用”鏈接。
這是記錄用戶可用于查詢函數的 REST API 的頁面Interface
。Blocks
應用程序也可以生成一個 API 頁面,盡管 API 必須為每個事件偵聽器顯式命名,例如
btn.click(add, [num1, num2], output, api_name="addition")
這會將端點記錄/api/addition/
到自動生成的 API 頁面。
注意:對于啟用隊列的Gradio 應用程序,如果用戶向您的 API 端點發出 POST 請求,則可以繞過隊列。要禁用此行為,請api_open=False
在queue()
方法中設置。
您可能希望在您的應用程序前面放置一個身份驗證頁面,以限制誰可以打開您的應用程序。通過方法auth=
中的關鍵字參數launch()
,您可以提供一個包含用戶名和密碼的元組,或者一個可接受的用戶名/密碼元組列表;下面是一個為名為“admin”的單個用戶提供基于密碼的身份驗證的示例:
demo.launch(auth=("admin", "pass1234"))
對于更復雜的身份驗證處理,您甚至可以傳遞一個函數,該函數將用戶名和密碼作為參數,并返回 True 以允許身份驗證,否則返回 False。這可用于向 3rd 方身份驗證服務發出請求等。
下面是一個函數示例,它接受用戶名和密碼相同的任何登錄:
def same_auth(username, password): return username == password demo.launch(auth=same_auth)
為使身份驗證正常工作,必須在您的瀏覽器中啟用第三方 cookie。默認情況下,Safari、Chrome 隱身模式不是這種情況。
當用戶對您的應用做出預測時,您可能需要底層網絡請求,以便獲取請求標頭(例如用于高級身份驗證)、記錄客戶端的 IP 地址或其他原因。Gradio 以類似于 FastAPI 的方式支持這一點:只需添加一個類型提示為的函數參數gr.Request
,Gradio 就會將網絡請求作為該參數傳入。這是一個例子:
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()
注意:如果您的函數是直接調用而不是通過 UI 調用(例如,當示例被緩存時會發生這種情況),那么request
將是None
. 您應該明確處理這種情況,以確保您的應用不會拋出任何錯誤。這就是為什么我們有明確的檢查if request
。
(/assets/img/anchor.svg)]()](https://gradio.app/sharing-your-app/#mounting-within-another-fastapi-app)
在某些情況下,您可能有一個現有的 FastAPI 應用程序,并且您想要為 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 應用程序(http://localhost:8000/gradio
在上面的示例中)。
與他人共享您的 Gradio 應用程序(通過將其托管在 Spaces、您自己的服務器上或通過臨時共享鏈接)會將主機上的某些文件**公開給您的 Gradio 應用程序的用戶。**這樣做是為了讓 Gradio 應用程序能夠顯示由 Gradio 創建或由您的預測功能創建的輸出文件。
特別是,Gradio 應用程序授予用戶訪問三種文件的權限:
Gradio 腳本啟動所在的同一文件夾(或子目錄)中的文件。例如,如果您的 gradio 腳本的路徑是/home/usr/scripts/project/app.py
并且您從 啟動它/home/usr/scripts/project/
,那么您共享的 Gradio 應用程序的用戶將能夠訪問其中的任何文件/home/usr/scripts/project/
。這是必需的,以便您可以輕松地在 Gradio 應用程序中引用這些文件。
Gradio 創建的臨時文件。這些文件是由 Gradio 創建的,作為運行預測功能的一部分。例如,如果你的預測函數返回一個視頻文件,那么 Gradio 會將該視頻保存到一個臨時文件中,然后將臨時文件的路徑發送到前端。
file_directories
您通過中的參數明確允許的文件launch()
。在某些情況下,您可能希望引用文件系統中的其他文件。該file_directories
參數允許您傳入您希望提供訪問權限的其他目錄列表。(默認情況下,沒有其他文件目錄)。
用戶不應該能夠訪問主機上的其他任意路徑。
關于“Gradio機器學習模型快速部署工具怎么應用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Gradio機器學習模型快速部署工具怎么應用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。