用於具有 UI 的機器學習的分散式有向無環圖框架
MLComp 的目標是以快速、易於管理的方式提供訓練、推理、創建複雜管道(尤其是電腦視覺)的工具。
MLComp 相容:Python 3.6+、Unix 作業系統。
催化劑生態系的一部分。項目清單。
特徵
令人驚嘆的使用者介面
催化劑支持
分散式訓練
控制運算資源的主管
程式碼和資料同步
資源監控
UI 上暫停並繼續的完整功能
自動控制需求
程式碼轉儲(UI 上有語法高亮)
Kaggle 集成
分層日誌記錄
網格搜尋
實驗對比
自訂佈局系統
內容
截圖
安裝
使用者介面
用法
文件和範例
環境變數
達格斯
電腦
報告
程式碼
圖形
更多截圖
安裝 MLComp 套件
sudo apt-get install -y libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev libavfilter-dev pip 安裝 mlcomp MLcomp初始化 MLComp 遷移
設定您的環境。請考慮環境變數部分
運行 db、redis、mlcomp-server、mlcomp-workers:
變體 1:最小(如果您有 1 台計算機)
運行所有必需的(mlcomp-server、mlcomp-workers、redis-server),它使用 SQLITE:
mlcomp 伺服器啟動 --daemon=True
變體 2:完整
一個。更改環境變數以使用 PostgreSql
b.在每台工作電腦上安裝 rsync
sudo apt-get install rsync
確保每台電腦均可透過 SSH 協定使用您在環境變數檔案中指定的 IP/連接埠。
rsync 將執行以下命令:
上傳
rsync -vhru -e "ssh -p {target.port} -o StrictHostKeyChecking=no" {folder}/ {target.user}@{target.ip}:{folder}/ --perms --chmod=777
下載
rsync -vhru -e "ssh -p {source.port} -o StrictHostKeyChecking=no" {source.user}@{source.ip}:{資料夾}/ {資料夾}/ --perms --chmod=777
c.安裝 apex 進行分散式學習
d.若要執行 postgresql、redis-server、mlcomp-server,請在伺服器電腦上執行:
cd ~/mlcomp/configs/ docker-compose -f server-compose.yml up -d
e.在每台工作計算機上執行:
mlcomp-worker 啟動
網站位於 http://{WEB_HOST}:{WEB_PORT}
預設情況下,它是http://localhost:4201
前端是用AngularJS建構的。
如果您想更改它,請考慮前面的自述文件頁面
跑步
mlcomp dag PATH_TO_CONFIG.yml
該命令將目錄中的檔案複製到資料庫中。
然後,伺服器考慮空閒資源來調度DAG。
有關更多信息,請考慮文檔
API 文件和庫概述可以在此處找到
您可以在儲存庫的範例資料夾中找到進階教學課程和 MLComp 最佳實務。
FileSync教學介紹資料同步機制
用於設定電腦環境的單一檔案位於 ~/mlcomp/configs/.env
ROOT_FOLDER - 儲存 MLComp 檔案的資料夾:設定、資料庫、任務等。
TOKEN - 站點安全令牌。請將其更改為任意字串
資料庫_類型。 SQLITE 或 POSTGRESQL
POSTGRES_DB。 PostgreSql 資料庫名稱
POSTGRES_USER。 PostgreSql 用戶
POSTGRES_PASSWORD。 PostgreSql 密碼
POSTGRES_HOST。 PostgreSql 主機
PGDATA。 PostgreSql 資料庫檔案位置
REDIS_HOST。 Redis主機
REDIS_PORT。 Redis埠
REDIS_密碼。 Redis密碼
WEB_HOST。 MLComp 站台主機。 0.0.0.0 意味著它可以從任何地方使用
WEB_PORT。 MLComp 網站連接埠
CONSOLE_LOG_LEVEL。輸出到控制台的日誌級別
DB_LOG_LEVEL。輸出到資料庫的日誌級別
智慧財產.工作計算機的IP。工作電腦必須可透過這些 IP/連接埠從其他工作電腦存取
港口。工作計算機的連接埠。工作電腦必須可透過這些 IP/連接埠(SSH 協定)從其他工作電腦存取
MASTER_PORT_RANGE。工作計算機的分散式連接埠範圍。 29500-29510 意味著如果這台工作電腦是分散式學習中的主機,它將使用此範圍中的第一個空閒連接埠。不同工作計算機的範圍不得重疊。
NCCL_SOCKET_IFNAME。 NCCL 網路介面。
文件同步間隔。檔案同步間隔(以秒為單位)。 0 表示檔案同步關閉
WORKER_USAGE_INTERVAL。將工作執行緒使用情況寫入資料庫的時間間隔(以秒為單位)
INSTALL_DEPENDENCIES。真/假。要么安裝依賴庫,要么不安裝
與此計算機同步。真/假。如果為 False,則除該計算機之外的所有計算機都不會與該計算機同步
CAN_PROCESS_TASKS。真/假。如果為 false,則該計算機不處理任務
您可以使用ifconfig
指令查看您的網路介面。請考慮 nvidia 文檔