91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

嘉祥县| 肃宁县| 潮州市| 临汾市| 道孚县| 镇平县| 子长县| 云和县| 都江堰市| 临武县| 新疆| 西乌珠穆沁旗| 密云县| 镇安县| 阿拉善左旗| 星座| 丰城市| 沐川县| 靖边县| 格尔木市| 安图县| 乌兰浩特市| 禹城市| 泰安市| 扬中市| 静安区| 高碑店市| 阿拉善左旗| 顺昌县| 绥中县| 斗六市| 保山市| 南康市| 青龙| 文昌市| 永嘉县| 龙胜| 星子县| 榕江县| 阿拉善盟| 屯昌县|