精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于Celery、Redis和Florence 2實戰異步機器學習推理 原創

發布于 2024-7-30 08:34
瀏覽
0收藏

本文將通過一個最小但功能強大的實例教程,引導你進入異步機器學習推理開發領域。

簡介

大多數機器學習服務教程都專注于實時同步服務的介紹,這允許對預測請求做出即時響應。然而,這種方法可能難以應對流量激增,對于長時間運行的任務來說并不理想。因此,類似于這樣的任務還需要更強大的機器來快速響應;否則,一旦客戶端或服務器發生故障,預測結果通常會丟失。

在本文中,我們將演示如何使用分布式任務調度框架Celery和開源分布式鍵值對數據庫Redis作為異步工作線程來運行機器學習模型。試驗中,我們將使用微軟開源的統一視覺基礎模型Florence 2,這是一種以其令人印象深刻的性能而聞名的視覺語言模型。本教程將提供一個最小但功能強大的示例;當然,您可以根據自己的實戰場景進一步進行調整和擴展。

您可以在下面鏈接處查看該應用程序的演示:

?https://coral-app-qdy8z.ondigitalocean.app/?

總體來看,我們提供的解決方案的核心基于Celery框架,這是一個支持我們實現客戶端/工作線程邏輯的Python庫。它允許我們將計算工作分配給許多工作線程,從而提高機器學習推理應用場景對高負載和不可預測負載的可擴展性。

總體運行流程如下:

  • 客戶端向代理管理的隊列(在我們的示例中為Redis)提交一個帶有一些參數的任務。
  • 由一個(或多個工作線程)持續監控隊列,并在任務到來時接收任務。然后,它執行它們并將結果保存在后端存儲中。
  • 客戶端可以通過輪詢后端或訂閱任務的通道,使用其id獲取任務的結果。

簡化實例

讓我們從一個簡化的例子開始:

基于Celery、Redis和Florence 2實戰異步機器學習推理-AI.x社區

圖片由作者本人提供

首先,通過如下命令運行Redis:

Docker run -p 6379:6379 redis

下面給出的是工作線程代碼:

from celery import Celery
#配置Celery以使用Redis作為代理和后端
app = Celery(
"tasks", broker="redis://localhost:6379/0", backend="redis://localhost:6379/0"
)
# 定義一個簡單的任務
@app.task
def add(x, y):
return x + y
if __name__ == "__main__":
app.worker_main(["worker", "--loglevel=info"])

相應的客戶端代碼如下:

from celery import Celery
app = Celery("tasks", broker="redis://localhost:6379/0", backend="redis://localhost:6379/0")
print(f"{app.control.inspect().active()=}")
task_name = "tasks.add"
add = app.signature(task_name)
print("Gotten Task")
#向工作線程發送一個任務
result = add.delay(4, 6)
print("Waiting for Task")
result.wait()
#得到結果
print(f"Result: {result.result}")

運行上面代碼,將給出了我們期望的結果:“Result: 10”。

實戰案例

下面,我們繼續討論構建一個真正的基于Florence 2模型服務的實用型案例。

具體地說,我們將構建一個多容器圖像字幕應用程序,該應用程序使用Redis進行任務排隊,使用Celery進行任務分發,并使用本地卷或谷歌云存儲實現潛在的圖像存儲。該應用程序的設計包含幾個核心組件:模型推理、任務分配、客戶端交互和文件存儲。

架構概述

基于Celery、Redis和Florence 2實戰異步機器學習推理-AI.x社區

圖片由作者本人提供

各組件分工如下:

  • 客戶端(Client):通過將圖像字幕請求發送給工作線程(通過代理)來發起圖像字幕請求。
  • 工作線程(Worker):接收請求,下載圖像,使用預訓練的模型進行推理,并返回結果。
  • 分布式鍵值對數據庫Redis:充當消息代理,促進客戶端和工作線程之間的通信。
  • 文件存儲:圖像文件的臨時存儲。

接下來,我們進行各組件功能的更具體的剖析。

1.模型推理(Model.py)

首先,實現依賴關系和初始化:

import os
from io import BytesIO
import requests
from google.cloud import storage
from loguru import logger
from modeling_florence2 import Florence2ForConditionalGeneration
from PIL import Image
from processing_florence2 import Florence2Processor
model = Florence2ForConditionalGeneration.from_pretrained(
"microsoft/Florence-2-base-ft"
)
processor = Florence2Processor.from_pretrained("microsoft/Florence-2-base-ft")

上面代碼完成的任務如下:

  • 導入圖像處理、Web請求、谷歌云存儲交互和日志記錄所需的庫。
  • 初始化預訓練的Florence-2模型和處理器以生成圖像字幕。

然后,進行圖像下載(Download_Image):

def download_image(url):
if url.startswith("http://") or url.startswith("https://"):
#處理HTTP/HTTPS URL
#…(從URL下載圖像的代碼)…
elif url.startswith("gs://"):
#處理谷歌云存儲路徑
#…(從GCS下載圖像的代碼)。
else:
#處理本地文件路徑
# ... (code to open image from local path) ...

歸納一下的話,上面代碼完成的任務如下:

  • 從提供的URL下載圖像。
  • 支持HTTP/HTTPS URL、谷歌云存儲路徑(gs://)和本地文件路徑。

接下來,執行推理(run_Inference):

def run_inference(url, task_prompt):
# …(使用donan_image函數下載圖像的代碼)。
try:
# …(打開和處理圖像的代碼)。
inputs = processor(text=task_prompt, images=image, return_tensors="pt")
except ValueError:
#錯誤處理
# …(使用模型生成字幕的代碼)。
generated_ids = model.generate(
input_ids=inputs["input_ids"],
pixel_values=inputs["pixel_values"],
#……(模型生成參數)。
)
#…(解碼生成的字幕的代碼)。
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
#…(后處理生成的字幕的代碼)。
parsed_answer = processor.post_process_generation(
generated_text, task=task_prompt, image_size=(image.width, image.height)
)
return parsed_answer

上面代碼實現了編排圖像字幕的過程,具體實現如下:

  • 使用download_image下載圖像。
  • 為模型準備圖像和任務提示。
  • 使用加載的Florence-2模型生成字幕。
  • 對生成的字幕進行解碼和后處理。
  • 返回最終字幕。

2.任務分配(worker.py)

首先,進行Celery設置:

import os
from celery import Celery
# ... 其他導入...
#從環境變量中獲取Redis URL或使用默認值
REDIS_URL = os.getenv("REDIS_URL", "redis://localhost:6379/0")
# 將Celery配置為使用Redis,作為代理和后端
app = Celery("tasks", broker=REDIS_URL, backend=REDIS_URL)
# ... (Celery配置) ...

這段代碼完成的任務是:將Celery設置為使用Redis作為任務分發的消息代理。

接下來,定義任務(inference_task):

@app.task(bind=True, max_retries=3)
def inference_task(self, url, task_prompt):
#……(日志記錄和錯誤處理)。
return run_inference(url, task_prompt)
上面代碼具體實現了:
l 定義將由Celery工作線程執行的推理任務。
l 此任務從model.py調用run_inference函數。
最后,執行工作線程:
if __name__ == "__main__":
app.worker_main(["worker", "--loglevel=info", "--pool=solo"])

啟動一個監聽并執行任務的Celery工作線程。

3.客戶端交互(Client.py)

首先,實現Celery連接:

import os
from celery import Celery
#從環境變量中獲取Redis URL或使用默認值
REDIS_URL = os.getenv("REDIS_URL", "redis://localhost:6379/0")
#將Celery配置為使用Redis作為代理和后端
app = Celery("tasks", broker=REDIS_URL, backend=REDIS_URL)

使用Redis作為消息代理建立與Celery的連接。

接下來,進行任務提交(send_inference_Task):

def send_inference_task(url, task_prompt):
task = inference_task.delay(url, task_prompt)
print(f"Task sent with ID: {task.id}")
# 等待結果
result = task.get(timeout=120)
return result

上述代碼完成了兩項任務:

  • 向Celery工作線程發送圖像字幕任務(推理任務)。
  • 等待工作線程完成任務并檢索結果。

再接下來,實現Docker集成(Docker compose.yml)。

這一步主要是使用Docker Compose定義多容器設置:

  • redis:運行redis服務器進行消息代理。
  • model:構建和部署模型推理工作線程。
  • app:構建和部署客戶端應用程序。

基于Celery、Redis和Florence 2實戰異步機器學習推理-AI.x社區

此處花朵圖片由RoonZ nl在Unsplash(https://unsplash.com/photos/yellow-and-blue-petaled-flower-vjDbHCjHlEY?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)上提供

  • flower:運行一個基于Web的Celery任務監控工具。

基于Celery、Redis和Florence 2實戰異步機器學習推理-AI.x社區

圖片由作者本人提供

其實,您可以使用以下一句命令運行上面完整的棧操作:

docker-compose up

小結

至此,整個任務完成!歸納一下,我們剛剛探索了使用Celery、Redis和Florence 2構建異步機器學習推理系統的全過程。具體地說,本文演示了如何有效地使用Celery進行任務分配,使用Redis進行消息代理,使用Florence 2模型進行圖像字幕處理。通過采用異步工作流方案,您可以處理大量請求,提高性能,并增強ML推理應用程序的整體彈性。最后,我們提供的Docker Compose設置允許您使用單個命令來自行運行整個系統。

準備好下一步操作了嗎?將本文介紹的這種架構部署到云端可能會遇到一系列挑戰。

項目源碼地址:https://github.com/CVxTz/celery_ml_deploy

項目演示地址: https://coral-app-qdy8z.ondigitalocean.app/

譯者介紹

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。

原文標題:Asynchronous Machine Learning Inference with Celery, Redis, and Florence 2,作者:Youness Mansar

鏈接:??https://towardsdatascience.com/asynchronous-machine-learning-inference-with-celery-redis-and-florence-2-be18ebc0fbab?。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
中文字幕一区二区三区日韩精品 | 欧美色国产精品| 亚洲第一导航| 精品国产av一区二区三区| 亚洲第一黄网| 中文字幕亚洲综合久久| 欧美一区二区三区影院| gay欧美网站| 综合精品久久久| 国产传媒一区二区| 在线免费一区二区| 亚洲激情社区| 日韩中文av在线| 亚洲av无码成人精品国产| 欧美日韩视频免费看| 亚洲18女电影在线观看| 亚洲综合网中心| 凸凹人妻人人澡人人添| 国产一区二区三区香蕉| 日韩美女视频在线观看| 国产午夜精品无码一区二区| 日韩啪啪电影网| 亚洲精品国产福利| 在线免费观看av网| 蜜桃成人精品| 日韩欧美极品在线观看| 成人av在线播放观看| 日本天堂在线观看| 久久尤物电影视频在线观看| 99中文字幕| 一道本无吗一区| 视频一区视频二区在线观看| 久久理论片午夜琪琪电影网| 国产日产精品一区二区三区的介绍| 免费不卡中文字幕在线| 亚洲第一区在线观看| 18深夜在线观看免费视频| 国产亚洲欧美日韩精品一区二区三区 | 国精产品视频一二二区| 在线成人动漫av| 亚洲激情在线观看| 人妻换人妻a片爽麻豆| 动漫一区二区三区| 欧美精品黑人性xxxx| 中文字幕av专区| 在线一区视频观看| 色哟哟欧美精品| 亚洲乱码中文字幕久久孕妇黑人| 2020日本在线视频中文字幕| 亚洲精品国产品国语在线app| 这里只有精品66| 青青青青在线| 亚洲欧美中日韩| 亚洲小说欧美另类激情| 国产美女av在线| 椎名由奈av一区二区三区| 正在播放一区| 国产精品久久久久久福利| 日韩一区在线看| 在线观看视频黄色| 成人黄视频在线观看| 亚洲欧美偷拍另类a∨色屁股| 在线观看免费91| 日本黄色片在线观看| 136国产福利精品导航| 大桥未久一区二区三区| 在线欧美三级| 午夜精品久久一牛影视| 日本免费黄视频| 粉嫩一区二区三区| 欧美色男人天堂| 国产91在线免费观看| 国产成人一二片| 亚洲精品国产精品乱码不99按摩| 精品人妻一区二区三区香蕉| 国产免费播放一区二区| 日韩在线播放一区| 国产亚洲第一页| 中文日韩在线| 91精品久久久久久久久| www.黄色国产| 久久综合九色综合97婷婷女人 | 成人欧美亚洲| 亚洲激情中文1区| 免费观看美女裸体网站| 视频二区不卡| 欧美成人精品二区三区99精品| av黄色一级片| 日韩精品影视| 久久久久久久一区二区| 国产精品免费无遮挡无码永久视频| 蜜臀av性久久久久蜜臀aⅴ| 91成人免费看| 久热av在线| 亚洲男人的天堂在线aⅴ视频| 很污的网站在线观看| 美女网站视频一区| 欧美mv日韩mv亚洲| 国产又黄又粗视频| 亚洲精品欧美| 亚洲aⅴ男人的天堂在线观看| 三级毛片在线免费看| 亚洲欧洲www| 50路60路老熟妇啪啪| 日韩欧美中文在线观看| 影音先锋日韩有码| 国产精品成人久久| 美女国产一区二区| 精品一区二区日本| 在线免费观看a视频| 日本韩国欧美三级| 女性生殖扒开酷刑vk| 日本久久综合| 青青a在线精品免费观看| 99精品久久久久久中文字幕 | 亚洲精品wwww| 欧美日韩激情在线观看| 蜜桃久久久久久久| 欧美1o一11sex性hdhd| 好看的中文字幕在线播放| 欧美日韩在线播| 精品国产av无码| 亚洲麻豆一区| 国产精品9999久久久久仙踪林| 啊v在线视频| 色激情天天射综合网| av电影中文字幕| 久久精品一区二区不卡| 国产精品久久久久久久久影视| 黄色一级大片在线免费看国产一| 亚洲欧洲av在线| 亚洲精品20p| 欧美偷拍自拍| 国产成人精品免高潮费视频| 殴美一级特黄aaaaaa| 亚洲一区二区三区视频在线 | 黄色片视频免费| 9l国产精品久久久久麻豆| wwwwww欧美| 一区二区亚洲视频| 精品中文字幕在线观看| 国产又粗又猛又爽| 17c精品麻豆一区二区免费| 九九九九九国产| 国产精品99一区二区三| 国产精品久久久精品| 国产女人在线视频| 欧美日韩综合不卡| 三级影片在线观看| 国产在线观看一区二区| 青青草影院在线观看| 精品一区二区三区四区五区 | 宅男噜噜99国产精品观看免费| 成人精品国产| 日韩一区二区av| 国产男女无套免费网站| 亚洲人xxxx| 精品人妻人人做人人爽夜夜爽| 亚洲性色视频| 久久综合九色99| 国精产品一区一区三区四川| 中文字幕亚洲欧美日韩在线不卡 | 日韩视频 中文字幕| 亚洲一区电影| 91av视频在线播放| 韩国三级av在线免费观看| 精品视频资源站| 天天干中文字幕| 99精品视频在线播放观看| 国内外成人免费激情视频| 国产一区二区三区四区五区| 国产日产欧美精品| 亚洲小说区图片区都市| 亚洲国产日韩欧美在线99| 99超碰在线观看| 一区在线中文字幕| 五月天丁香社区| 免费视频久久| 天天综合中文字幕| 国产色噜噜噜91在线精品 | 久久午夜a级毛片| 亚洲精品一区二区三区区别| 欧美日韩黄色大片| 貂蝉被到爽流白浆在线观看| 国产丶欧美丶日本不卡视频| 凹凸国产熟女精品视频| 国产精品7m凸凹视频分类| 99三级在线| 欧美黄色网页| 欧美精品一二区| 久蕉依人在线视频| 欧美成人午夜电影| 成年人视频免费| 亚洲图片有声小说| 超薄肉色丝袜一二三| 国产精品亚洲午夜一区二区三区| 欧美日韩中文在线视频| 999久久久精品国产| 精品亚洲第一| 国产一区二区高清在线| 日韩av电影免费观看高清| 97超碰在线公开在线看免费| 亚洲色图狂野欧美| 国模私拍视频在线| 欧美精品日韩一区| 久久久久女人精品毛片九一| 亚洲一区免费在线观看| 国产乱子轮xxx农村| 久久久久国色av免费看影院| 美女日批在线观看| 麻豆国产精品官网| 黄色免费观看视频网站 | 能在线观看的av| 欧美va天堂在线| 亚洲欧美日韩国产成人综合一二三区| 精品资源在线| 国产chinese精品一区二区| 久久久久伊人| 国产成人精品免高潮在线观看 | youjizz在线播放| 亚洲精品久久久一区二区三区| 国产精品女同一区二区| 欧美午夜片在线观看| 综合网在线观看| 亚洲第一在线综合网站| 国产又黄又爽又无遮挡| 国产精品国产自产拍高清av王其| 精品无人区无码乱码毛片国产| 懂色av中文字幕一区二区三区| 日韩一区二区三区久久| 日韩av中文字幕一区二区三区| www一区二区www免费| 在线成人www免费观看视频| 蜜桃网站在线观看| 欧美不卡视频| 国产午夜精品视频一区二区三区| 91精品国产视频| 中日韩在线视频| 日韩亚洲一区在线| 亚洲日本无吗高清不卡| 成人a'v在线播放| 欧美日韩在线高清| 国产一区毛片| 日韩动漫在线观看| 欧美在线电影| 亚洲一区二区四区| 亚洲成人三区| av片在线免费| 亚洲精品一二| 毛片一区二区三区四区| 日韩精品1区2区3区| 超碰在线97免费| 久久精品免费看| 一级网站在线观看| 成人午夜伦理影院| 熟女少妇一区二区三区| 久久久不卡网国产精品一区| 欧美人妻一区二区三区| 国产精品成人免费精品自在线观看| 91狠狠综合久久久久久| 最好看的中文字幕久久| wwwav国产| 午夜欧美一区二区三区在线播放| 日日噜噜噜噜人人爽亚洲精品| 日本高清成人免费播放| 中文字幕一区二区在线视频| 91麻豆精品国产91| 亚洲欧美高清视频| 亚洲精品在线不卡| 自拍视频在线| 久久久久久国产精品三级玉女聊斋| a在线视频v视频| 国产成人av网| 国产日韩中文在线中文字幕| 国产精品12| 成人在线电影在线观看视频| 男女激烈动态图| 日韩一级网站| 91女神在线观看| 成人少妇影院yyyy| 亚洲国产日韩一区无码精品久久久| 中文字幕亚洲区| 日韩成人在线免费视频| 精品视频免费看| 东京干手机福利视频| 国产亚洲精品久久久久久牛牛| 成人国产免费电影| 国产成人免费91av在线| 国产一区二区高清在线| 欧美一区2区三区4区公司二百| 91亚洲国产成人久久精品| 福利视频一二区| 裸体一区二区三区| 国产精品九九视频| 亚洲欧美另类小说视频| 少妇高潮av久久久久久| 91麻豆精品国产91久久久资源速度| 污污视频在线免费看| 久久久国产精彩视频美女艺术照福利| 国产亚洲成av人片在线观看| 成人天堂噜噜噜| 美女网站一区| 日本五级黄色片| 久久精品国产一区二区三区免费看 | 91麻豆国产在线观看| 麻豆亚洲av熟女国产一区二| 欧美性色综合网| 欧美挠脚心网站| 欧美激情国产高清| 国产精品色婷婷在线观看| 欧美综合激情| 国产欧美日韩综合一区在线播放| 国产999免费视频| 国产精品毛片大码女人| 久草手机在线视频| 亚洲精品一线二线三线 | 日韩av电影国产| 牛牛视频精品一区二区不卡| 性生活免费观看视频| 免费在线成人网| 51妺嘿嘿午夜福利| 欧美日韩裸体免费视频| 亚洲毛片在线播放| 美女福利精品视频| 91精品一区| 最新欧美日韩亚洲| 麻豆精品久久精品色综合| 免费福利视频网站| 色94色欧美sute亚洲线路二| 偷拍精品一区二区三区| 性欧美在线看片a免费观看| 99re6热只有精品免费观看| 色哺乳xxxxhd奶水米仓惠香| 久久99国内精品| 男人晚上看的视频| 欧美精品一二三| 麻豆传媒视频在线观看免费| 国产精品自产拍在线观看| 成人久久电影| 免费观看成人网| 国产欧美久久久精品影院| 99超碰在线观看| 亚洲性视频网站| 精品欧美一区二区三区在线观看| 日本免费高清不卡| 日本aⅴ精品一区二区三区| 日韩av片在线| 337p亚洲精品色噜噜噜| 在线国产情侣| 91久久久久久| 欧美 日韩 国产一区二区在线视频| 亚洲天堂国产视频| 亚洲免费看黄网站| 亚洲国产成人在线观看| 国内精品视频一区| 国产99久久久国产精品成人免费 | 一级淫片免费看| 两个人的视频www国产精品| 国产亚洲观看| 欧美视频免费看欧美视频| 99久久精品免费看国产免费软件| 欧美日韩乱国产| 国产亚洲aⅴaaaaaa毛片| 国产精品久久乐| 蜜桃网站在线观看| 91视视频在线观看入口直接观看www | 日韩中文字幕在线看| 视频精品二区| 中文字幕日本最新乱码视频| 久久精品欧美一区二区三区不卡| 中文字幕人妻一区二区三区视频| 久久中文久久字幕| 国产精品videossex| 妓院一钑片免看黄大片| 1024成人网色www| 无码国产精品96久久久久| 国产精品激情av电影在线观看| 天天插综合网| 激情综合丁香五月| 欧美高清视频在线高清观看mv色露露十八 | 一区二区三区成人| 日本福利午夜视频在线| 国产日本欧美在线观看| 最新日韩av| 国产91在线播放九色| 精品国产一区二区亚洲人成毛片| 亚洲深夜视频| 国产精品啪啪啪视频| 26uuu亚洲| 国产成a人亚洲精v品无码| 4p变态网欧美系列| 午夜精品婷婷| 97人妻人人揉人人躁人人| 欧美va亚洲va香蕉在线| 国产第一亚洲| 国产精品裸体瑜伽视频| 中文字幕日韩av资源站| 欧美巨乳在线| 官网99热精品| 久久国产剧场电影|