VisioGrid/README_ZH.md
2025-02-17 14:41:03 +08:00

4.0 KiB
Raw Permalink Blame History

VisioGrid

目錄

專案介紹

VisioGrid 是一個使用 Rust 開發的異質性分布式計算平台專注於影像辨識。該項目旨在建立一個高效的分布式系統用於處理大規模影像辨識。通過在多代理環境中並行處理任務VisioGrid 提高了影像辨識的效率和速度。

主要特性

  • 高效率:得益於 Tokio 異步運行時高效的 I/O 處理VisioGrid 能夠快速處理大量影像數據。
  • 穩定性:透過實時監控代理以及主動處理所有錯誤,保證系統運行穩定,避免程序崩潰。
  • 影像辨識:支持多種影像辨識模型,靈活應對不同的應用場景。

技術棧

  • Rust:充分利用 Rust 的高性能和安全特性,確保系統高效運行。
  • Actix Web:提供用戶友好的 Web 管理介面,方便管理和監控系統。
  • Tokio:使用 Tokio 的異步運行時進行性能最佳化,提升 I/O 處理效率。
  • GStreamer:用於處理媒體流和媒體內容,支持多媒體數據的高效處理。
  • Ultralytics:集成 Ultralytics 進行影像辨識,支持多種先進的影像辨識模型。

安裝與運行

系統要求

  • Nvidia GPU:本程序僅能在配備 Nvidia GPU 的機器上運行。

從源代碼編譯

管理節點

  1. 克隆倉庫

     git clone https://github.com/DaLaw2/VisioGrid
     cd VisioGrid
    
  2. 安裝所需套件

     bash Build/ManagementDepend.sh
    
  3. 編譯專案

     cargo build --release --package Management
    
  4. 編輯配置文件

    vim management.toml
    
  5. 運行節點

    cargo run --package Management --release
    

代理節點

  1. 克隆倉庫

    git clone https://github.com/DaLaw2/VisioGrid
    cd VisioGrid
    
  2. 安裝所需套件

    bash Build/AgentDepend.sh
    
  3. 啟動虛擬環境並安裝依賴

    python3 -m venv AgentVenv
    source AgentVenv/bin/activate
    pip3 install -r Build/requirements.txt
    
  4. 編譯專案

    cargo build --release --package Management
    
  5. 編輯配置文件

    vim agent.toml
    
  6. 運行節點

    cargo run --package Agent --release
    

使用 Docker

VisioGrid 提供包含所有必要依賴的 Docker 容器,無需手動安裝。

  1. 創建 Docker 網路
    docker network create VisioGrid
    
  2. 構建管理節點容器
    cd Build
    docker build -t management -f ManagementDockerfile
    
  3. 運行管理節點容器
    docker run -it --rm --gpus all --network VisioGrid -p 8080:8080 management
    
  4. 構建代理容器
    cd Build
    docker build -t agent -f AgentDockerfile
    
  5. 運行代理容器
    docker run -it --rm --gpus all --network VisioGrid agent
    

使用方法

通過瀏覽器訪問 http://localhost:8080,可以查看管理介面。管理介面提供了系統的監控和管理功能,用戶可以查看系統狀態、添加代理節點、查看任務進度等。

  • 首頁提供了系統的總體情況,包括了系統資訊、系統負載、系統日誌。

    圖片描述

  • 代理頁面顯示了所有連接的代理節點,點選代理可以看到更詳細的資訊。

    圖片描述 圖片描述

  • 推理頁面可以創建一個新的推理任務,選擇模型和影像後即可提交。

    圖片描述

  • 任務頁面列出了所有正在處理、成功、失敗的任務,可以查看每一個子任務執行的情況。

    圖片描述 圖片描述

  • 配置頁面提供了系統的配置選項,用戶可以修改系統的配置。

    圖片描述