亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Gradio機器學習模型快速部署工具接口狀態源碼分析

發布時間:2023-05-09 15:36:43 來源:億速云 閱讀:164 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Gradio機器學習模型快速部署工具接口狀態源碼分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Gradio機器學習模型快速部署工具接口狀態源碼分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1.全局狀態

例子來解釋

import gradio as gr
scores = []
def track_score(score):
    scores.append(score)
    top_scores = sorted(scores, reverse=True)[:3]
    return top_scores
demo = gr.Interface(
    track_score, 
    gr.Number(label="Score"), 
    gr.JSON(label="Top Scores")
)
demo.launch()

如上所述,scores,就可以在某函數中訪問。

  • 多用戶訪問,每次訪問的分數都保存到scores列表

  • 并并返回前三的分數

2.會話狀態

Gradio 支持的另一種數據持久化類型是會話狀態,其中數據在頁面會話中跨多個提交持久化。但是,數據_不會_在模型的不同用戶之間共享。要在會話狀態中存儲數據,您需要做三件事:

  • 將一個額外的參數傳遞到您的函數中,該參數表示界面的狀態。

  • 在函數結束時,返回狀態的更新值作為額外的返回值。

  • 創建時添加'state'輸入和輸出組件'state'``Interface

聊天機器人是一個您需要會話狀態的示例 - 您想要訪問用戶以前提交的內容,但您不能將聊天歷史存儲在全局變量中,因為那樣聊天歷史會在不同用戶之間混亂。

import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
def user(message, history):
    return "", history + [[message, None]]
#     bot_message = random.choice(["Yes", "No"])
#     history[-1][1] = bot_message
#     time.sleep(1)
#     return history
# def predict(input, history=[]):
#     # tokenize the new input sentence
def bot(history):
    user_message = history[-1][0]
    new_user_input_ids = tokenizer.encode(user_message + tokenizer.eos_token, return_tensors='pt')
    # append the new user input tokens to the chat history
    bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)
    # generate a response 
    history = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id).tolist()
    # convert the tokens to text, and then split the responses into lines
    response = tokenizer.decode(history[0]).split("<|endoftext|>")
    response = [(response[i], response[i+1]) for i in range(0, len(response)-1, 2)]  # convert to tuples of list
    return history
with gr.Blocks() as demo:
    chatbot = gr.Chatbot()
    msg = gr.Textbox()
    clear = gr.Button("Clear")
    msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
        bot, chatbot, chatbot
    )
    clear.click(lambda: None, None, chatbot, queue=False)
demo.launch()

讀到這里,這篇“Gradio機器學習模型快速部署工具接口狀態源碼分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳市| 金湖县| 丹东市| 榆树市| 通山县| 衡东县| 建瓯市| 新营市| 桑日县| 平顶山市| 区。| 万宁市| 武夷山市| 汤原县| 蕉岭县| 呼和浩特市| 开平市| 井冈山市| 兴安盟| 襄城县| 龙州县| 科尔| 新闻| 海城市| 罗平县| 西充县| 湟中县| 望都县| 开封市| 铁岭县| 扬州市| 连江县| 彰武县| 菏泽市| 桦川县| 邛崃市| 张家界市| 界首市| 通州区| 阿坝县| 平度市|