精品欧美一区二区三区在线观看 _久久久久国色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?。

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
日韩免费一级视频| 亚洲最大福利视频| 美国精品一区二区| 精品亚洲二区| 粉嫩老牛aⅴ一区二区三区| 国产精品一区二区在线观看 | 色婷婷精品视频| 91黄色免费观看| 50度灰在线观看| 色网站在线免费观看| 青青草97国产精品免费观看无弹窗版| 日韩中文字幕不卡视频| 四虎永久免费观看| 日韩色淫视频| 亚洲香肠在线观看| 亚洲黄色成人久久久| 男人天堂av网| 老司机免费视频一区二区| 欧美激情视频在线观看| 第一次破处视频| 99a精品视频在线观看| 在线观看91精品国产入口| 日韩精品一区二区三区四| 久久伊伊香蕉| 东方欧美亚洲色图在线| 国产精品免费看久久久香蕉| 日产亚洲一区二区三区| 色偷偷综合网| 国产视频精品在线| 日本中文字幕精品| 免费一区二区三区四区| 色综合咪咪久久| 日韩激情视频一区二区| 拍真实国产伦偷精品| 91视频在线观看免费| 亚洲伊人久久综合| 一区二区小视频| 午夜亚洲影视| 欧美日韩成人网| 5566中文字幕| 欧美日韩水蜜桃| 日韩风俗一区 二区| 日本成人在线免费| 在线免费成人| 欧美日韩亚洲综合| 亚洲天堂av线| 久久久成人av毛片免费观看| 精品久久久久久中文字幕| 97在线免费视频观看| 欧美尤物美女在线| 国产精品无人区| 神马欧美一区二区| a√资源在线| 国产欧美一区二区精品婷婷 | 精品国产成人av| 成年人网站国产| 欧美性猛片xxxxx免费中国| 亚洲三级视频在线观看| 在线国产99| 三区四区电影在线观看| 国产精品色呦呦| 亚洲一区二区高清视频| 99免在线观看免费视频高清| 欧美国产一区二区在线观看| 日韩国产欧美精品| 成人免费视频| 中文字幕一区在线观看视频| 中文字幕一区二区三区乱码| 国产欧美久久久久久久久| 成人欧美一区二区三区在线播放| 久久久一二三四| 在线中文字幕电影| 一区二区三区中文字幕| 欧美日韩福利在线| 操人在线观看| 91久久精品网| 日本中文字幕精品—区二区| 疯狂欧洲av久久成人av电影| 日韩欧美中文字幕公布| 日本人添下边视频免费| 欧美一级全黄| 国产一区二区三区视频在线观看| eeuss中文字幕| 亚洲视频在线免费| 国内精品久久久久伊人av | 国产亚洲精品自拍| 日本精品久久久久久久| 中文字幕一区二区久久人妻| 国产一区二区三区美女| 99在线影院| 欧美美女色图| 中文字幕一区二区三区不卡在线| 日韩一级特黄毛片| 少妇视频在线观看| 欧美日韩日日骚| 久久免费精品国产| 精品黄色一级片| 欧美精品在线观看| 国产黄色免费观看| 久99久精品视频免费观看| 国产高清自拍一区| 福利视频在线看| 伊人一区二区三区| 黄色a级片免费| 国产免费区一区二区三视频免费| 亚洲高清免费观看高清完整版| 法国空姐电影在线观看| 欧美ab在线视频| 国产成人福利网站| www.日韩高清| 国产精品视频免费看| 性高湖久久久久久久久aaaaa| 电影亚洲精品噜噜在线观看| 日韩欧美国产一区二区三区| 熟女少妇一区二区三区| 欧美日本不卡| 国产精品亚洲激情| 神马久久久久| 一区二区在线观看av| 国产一级特黄a大片免费| 韩国女主播一区二区三区| 色偷偷偷亚洲综合网另类| 亚洲国产成人无码av在线| 国产精品原创巨作av| 日韩久久不卡| 国产调教在线| 欧美不卡一区二区| 四虎884aa成人精品| 视频一区视频二区中文| 国产女主播一区二区| 国产不卡在线| 欧美日韩一区二区在线观看| 日本黄色录像片| 狠久久av成人天堂| 亚洲bt欧美bt日本bt| 伊人在线视频| 欧美吻胸吃奶大尺度电影| 野花社区视频在线观看| 亚洲激情不卡| 国产精品久久久对白| 成a人片在线观看| 51午夜精品国产| 俄罗斯毛片基地| 日韩国产欧美在线播放| 欧美亚洲国产免费| 电影一区二区三区| 亚洲精品国精品久久99热 | 妺妺窝人体色WWW精品| 国产欧美日韩一区二区三区在线| 高清不卡一区二区三区| 任你弄在线视频免费观看| 日韩一区二区三区精品视频| 日韩福利小视频| 久久99精品国产麻豆婷婷| 亚洲精品中文字幕乱码三区不卡| 粉嫩一区二区| 亚洲视频自拍偷拍| 欧美一区免费看| 欧美国产精品一区二区三区| 最新中文字幕2018| 四季av在线一区二区三区| 国产日韩欧美自拍| 成人在线直播| 精品国精品自拍自在线| 国产无码精品视频| www一区二区| 手机看片福利日韩| 98精品久久久久久久| 91精品啪aⅴ在线观看国产| 粗大黑人巨茎大战欧美成人| 日韩美女一区二区三区| 日韩成人免费观看| 国产视频一区二区三区在线观看| 亚洲一区在线不卡| 欧美 日韩 国产一区二区在线视频| 97操在线视频| 性国裸体高清亚洲| 中文精品99久久国产香蕉| 国产裸体无遮挡| 亚洲午夜日本在线观看| 亚洲国产欧美视频| 久久成人免费网| 成人在线国产视频| 亚洲深夜福利在线观看| 91精品国产综合久久香蕉的用户体验| 蜜桃视频在线观看www社区| 日韩精品一区二区三区在线播放| 久久亚洲天堂网| 欧美韩国日本综合| 韩国三级在线看| 久久精品官网| 亚洲天堂第一区| 亚洲精品进入| 91社区国产高清| 夜鲁夜鲁夜鲁视频在线播放| 色妞欧美日韩在线| 日韩专区第一页| 欧美日韩国产综合一区二区| 久久精品女人毛片国产| 国产亚洲一区字幕| 成年人性生活视频| 久久亚洲欧美| 丁香花在线影院观看在线播放| 国产精品手机在线播放| 91手机在线视频| 欧洲一级精品| 欧美激情一区二区久久久| 国产三级视频在线播放线观看| 日韩欧美综合一区| 在线免费看毛片| 欧美日韩综合视频| 日本黄色小说视频| 国产精品污www在线观看| 国产在线不卡av| 紧缚奴在线一区二区三区| 少妇高潮喷水久久久久久久久久| 亚洲视频电影在线| 亚洲精蜜桃久在线| 国产欧美一区二区精品久久久| 91一区二区三区| 久久精品超碰| 国产成人精品久久二区二区91| 欧美78videosex性欧美| 日韩中文字幕亚洲| 户外极限露出调教在线视频| 亚洲成色www8888| 一级片视频网站| 欧洲一区二区三区在线| 麻豆成人免费视频| 午夜精品爽啪视频| 精国产品一区二区三区a片| 国产精品你懂的在线欣赏| www.久久av| 91丝袜呻吟高潮美腿白嫩在线观看| 男生和女生一起差差差视频| 久久99久久久久久久久久久| 最近免费中文字幕中文高清百度| 日韩午夜一区| www.av蜜桃| 怡红院精品视频在线观看极品| 中国女人做爰视频| 亚洲女同一区| 成年人黄色在线观看| 久久综合88| 亚洲综合av一区| 日本一区二区高清不卡| 日韩免费av一区二区三区| 神马电影久久| 日韩免费电影一区二区| av亚洲在线观看| 亚洲精品高清视频| 欧美丰满老妇| 亚洲精品偷拍视频| 欧美91视频| 五月丁香综合缴情六月小说| 91久久亚洲| 国产精品丝袜久久久久久消防器材| 日韩视频在线一区二区三区 | 国产精品影视网| 欧美性猛交xx| 成人中文字幕在线| 国产精品九九视频| 久久久一区二区| 免费看裸体网站| 国产精品国产三级国产普通话三级| 大吊一区二区三区| 国产精品护士白丝一区av| 51精品免费网站| 亚洲国产视频在线| 国产精品免费av一区二区| 一本到不卡精品视频在线观看 | 日韩一区二区免费高清| 性少妇videosexfreexxx片| 欧美zozo另类异族| 天堂av网在线| 最近免费中文字幕视频2019| 激情影院在线观看| 国内精品久久久久久久| 香蕉视频亚洲一级| 91九色综合久久| 红杏一区二区三区| 日韩精品久久久毛片一区二区| 欧美激情偷拍自拍| 亚洲 欧美 综合 另类 中字| 久久久久久穴| 中文字幕剧情在线观看| 波多野结衣亚洲一区| 日本二区在线观看| 亚洲精品欧美综合四区| 欧美三级一区二区三区| 欧美日韩国产精品成人| 成人爽a毛片一区二区| 亚洲码在线观看| 日p在线观看| 69影院欧美专区视频| 免费成人黄色网| 精品蜜桃一区二区三区| 欧美hentaied在线观看| www插插插无码视频网站| 日本成人中文字幕在线视频| 性感美女一区二区三区| 国产午夜精品一区二区三区四区 | 精产国品自在线www| 91福利视频网| 二区三区精品| 日韩欧美亚洲日产国| 欧美午夜久久| 天堂av8在线| 久久奇米777| 国产一级免费观看| 欧美日韩亚洲丝袜制服| 午夜在线视频观看| 久久综合免费视频| 日韩高清不卡| 久久久99国产精品免费| 永久亚洲成a人片777777| 无码内射中文字幕岛国片| 成人性生交大合| 一起操在线播放| 欧美性猛交一区二区三区精品| 色欲av永久无码精品无码蜜桃| 久久九九亚洲综合| 日本欧美韩国| 久久一区二区三区av| 狠狠88综合久久久久综合网| 亚洲日本黄色片| 国产欧美一区二区精品性色超碰 | 欧美精品1区2区| 国产在线观看免费网站| 91精品国产91久久久久久最新| 视频一区视频二区欧美| 在线视频91| 麻豆精品一二三| 精品无码国产污污污免费网站 | 欧美高清激情视频| 2020国产精品小视频| 日韩免费一区二区三区| 亚洲欧美网站| 成人网站免费观看| 黄色91在线观看| 色呦呦中文字幕| 97香蕉久久超级碰碰高清版| av一级亚洲| 亚洲国产精品无码观看久久| 成人免费精品视频| 久久综合加勒比| 精品成人a区在线观看| 新版中文在线官网| 99re在线观看视频| 欧美国产激情| 国产在线不卡av| 精品毛片网大全| 色播色播色播色播色播在线| 欧美性一区二区三区| 日韩理论电影中文字幕| 男人天堂1024| 久久久91精品国产一区二区三区| 久久精品视频5| 在线观看欧美成人| 国语自产精品视频在线看抢先版结局| 日韩欧美激情一区二区| 丝袜美腿亚洲综合| 影音先锋男人资源在线观看| 91麻豆精品国产91久久久久| 性网站在线观看| 国产一区二区三区四区hd | 中文字幕一区久久| 国产精品成人免费| 国产黄频在线观看| 91精品国产91久久久久| 国产亚洲一区二区三区不卡| 超碰超碰在线观看| 综合久久给合久久狠狠狠97色| 国产jzjzjz丝袜老师水多| 国外成人在线视频| 国产欧美日韩影院| 亚洲综合123| 午夜精品福利一区二区三区蜜桃| 久草在线青青草| 成人乱人伦精品视频在线观看| 欧美黄色精品| av在线网站观看| 欧美高清hd18日本| av福利在线导航| 日韩少妇中文字幕| 国产精品一区二区免费不卡 | 老色鬼精品视频在线观看播放| 最新av电影网站| 亚洲激情在线观看视频免费| 日本中文字幕一区二区| 日韩精品久久一区二区| 久久久久久久久久久久久久久99| 在线观看国产精品入口男同| 欧美黄色片视频| 欧洲福利电影| 久久久久成人精品无码中文字幕| 在线观看日韩国产| 不卡av免费观看| 亚洲精品永久www嫩草| 99久久精品国产网站|