กรอบงานกราฟแบบอะไซคลิกแบบกระจายสำหรับการเรียนรู้ของเครื่องด้วย UI
เป้าหมายของ MLComp คือการจัดหาเครื่องมือสำหรับการฝึกอบรม การอนุมาน การสร้างไปป์ไลน์ที่ซับซ้อน (โดยเฉพาะสำหรับคอมพิวเตอร์วิทัศน์) ด้วยวิธีที่รวดเร็วและจัดการได้ดี
MLComp เข้ากันได้กับ: Python 3.6+, ระบบปฏิบัติการ Unix
ส่วนหนึ่งของระบบนิเวศตัวเร่งปฏิกิริยา รายการโครงการ
คุณสมบัติ
UI ที่น่าทึ่ง
การสนับสนุนตัวเร่งปฏิกิริยา
การฝึกอบรมแบบกระจาย
ผู้บังคับบัญชาที่ควบคุมทรัพยากรการคำนวณ
การซิงโครไนซ์ทั้งรหัสและข้อมูล
การตรวจสอบทรัพยากร
ฟังก์ชั่นเต็มรูปแบบของการหยุดชั่วคราวและดำเนินการต่อบน UI
ควบคุมความต้องการโดยอัตโนมัติ
การทิ้งโค้ด (ด้วยการเน้นไวยากรณ์บน UI)
บูรณาการ Kaggle
การบันทึกแบบลำดับชั้น
ค้นหาตาราง
การเปรียบเทียบการทดลอง
การปรับแต่งระบบโครงร่าง
สารบัญ
ภาพหน้าจอ
การติดตั้ง
UI
การใช้งาน
เอกสารและตัวอย่าง
ตัวแปรสภาพแวดล้อม
แด๊กส์
คอมพิวเตอร์
รายงาน
รหัส
กราฟ
ภาพหน้าจอเพิ่มเติม
ติดตั้งแพ็คเกจ MLComp
sudo apt-get ติดตั้ง -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
ข. ติดตั้ง rsync บนคอมพิวเตอร์ที่ทำงานแต่ละเครื่อง
sudo apt-get ติดตั้ง rsync
ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ทุกเครื่องพร้อมใช้งานโดยโปรโตคอล SSH พร้อม IP/PORT ที่คุณระบุไว้ในไฟล์ตัวแปรสภาพแวดล้อม
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}:{folder}/ {folder}/ --perms --chmod=777
ค. ติดตั้งเอเพ็กซ์เพื่อการเรียนรู้แบบกระจาย
ง. หากต้องการเรียกใช้ postgresql, redis-server, mlcomp-server ให้ดำเนินการบนคอมพิวเตอร์เซิร์ฟเวอร์ของคุณ:
ซีดี ~/mlcomp/configs/ นักเทียบท่าเขียน -f เซิร์ฟเวอร์ compose.yml ขึ้น -d
จ. ทำงานบนคอมพิวเตอร์ของผู้ปฏิบัติงานแต่ละเครื่อง:
mlcomp-worker เริ่มต้น
มีเว็บไซต์อยู่ที่ http://{WEB_HOST}:{WEB_PORT}
โดยค่าเริ่มต้นจะเป็น http://localhost:4201
ด้านหน้าสร้างด้วย AngularJS
ในกรณีที่คุณต้องการเปลี่ยนแปลงโปรดพิจารณาหน้า Readme ของด้านหน้า
วิ่ง
mlcomp dag PATH_TO_CONFIG.yml
คำสั่งนี้จะคัดลอกไฟล์ของไดเร็กทอรีไปยังฐานข้อมูล
จากนั้น เซิร์ฟเวอร์จะกำหนดเวลา DAG โดยพิจารณาจากทรัพยากรที่ว่าง
สำหรับข้อมูลเพิ่มเติม โปรดพิจารณาเอกสาร
สามารถดูเอกสาร API และภาพรวมของห้องสมุดได้ที่นี่
คุณสามารถดูบทช่วยสอนขั้นสูงและแนวทางปฏิบัติที่ดีที่สุดของ MLComp ได้ในโฟลเดอร์ตัวอย่างของพื้นที่เก็บข้อมูล
บทช่วยสอน FileSync อธิบายกลไกการซิงโครไนซ์ข้อมูล
ไฟล์เดียวสำหรับตั้งค่าสภาพแวดล้อมคอมพิวเตอร์ของคุณอยู่ที่ ~/mlcomp/configs/.env
ROOT_FOLDER - โฟลเดอร์สำหรับบันทึกไฟล์ MLComp: config, db, งาน ฯลฯ
TOKEN - โทเค็นความปลอดภัยของไซต์ กรุณาเปลี่ยนเป็นสตริงใด ๆ
DB_TYPE SQLITE หรือ POSTGRESQL
POSTGRES_DB ชื่อฐานข้อมูล PostgreSql
POSTGRES_USER ผู้ใช้ PostgreSql
POSTGRES_PASSWORD รหัสผ่าน PostgreSql
POSTGRES_HOST โฮสต์ PostgreSql
พีจีดาต้า. ตำแหน่งไฟล์ PostgreSql db
REDIS_HOST โฮสต์เรดิส
REDIS_PORT พอร์ตเรดิส
REDIS_รหัสผ่าน รหัสผ่าน Redis
เว็บ_โฮสต์ โฮสต์เว็บไซต์ MLComp 0.0.0.0 หมายความว่าสามารถใช้งานได้จากทุกที่
เว็บ_พอร์ต พอร์ตไซต์ MLComp
CONSOLE_LOG_LEVEL ระดับบันทึกสำหรับเอาต์พุตไปยังคอนโซล
DB_LOG_LEVEL ระดับบันทึกสำหรับส่งออกไปยังฐานข้อมูล
ไอพี. IP ของคอมพิวเตอร์ที่ทำงาน คอมพิวเตอร์ที่ทำงานต้องสามารถเข้าถึงได้จากคอมพิวเตอร์ที่ทำงานอื่นโดย IP/PORT เหล่านี้
ท่าเรือ. พอร์ตของคอมพิวเตอร์ที่ทำงาน คอมพิวเตอร์ที่ทำงานต้องสามารถเข้าถึงได้จากคอมพิวเตอร์ที่ทำงานอื่นโดย IP/PORT (โปรโตคอล SSH) เหล่านี้
MASTER_PORT_RANGE ช่วงพอร์ตแบบกระจายสำหรับคอมพิวเตอร์ที่ทำงาน 29500-29510 หมายความว่าหากคอมพิวเตอร์ที่ทำงานนี้เป็นผู้เชี่ยวชาญด้านการเรียนรู้แบบกระจาย ก็จะใช้พอร์ตว่างพอร์ตแรกจากช่วงนี้ ช่วงของคอมพิวเตอร์ที่ทำงานต่างกันจะต้องไม่ทับซ้อนกัน
NCCL_SOCKET_IFNAME อินเทอร์เฟซเครือข่าย NCCL
FILE_SYNC_INTERVAL ช่วงเวลาการซิงค์ไฟล์เป็นวินาที 0 หมายถึงปิดการซิงค์ไฟล์
WORKER_USAGE_INTERVAL ช่วงเวลาเป็นวินาทีของการเขียนการใช้งานของผู้ปฏิบัติงานไปยัง DB
INSTALL_DEPENDENCIES จริง/เท็จ ติดตั้งไลบรารี่ที่ขึ้นต่อกันหรือไม่
SYNC_WITH_THIS_คอมพิวเตอร์ จริง/เท็จ หากเป็นเท็จ คอมพิวเตอร์ทั้งหมดยกเว้นเครื่องนั้นจะไม่ซิงค์กับเครื่องนั้น
CAN_PROCESS_TASKS จริง/เท็จ ถ้าเป็นเท็จ คอมพิวเตอร์เครื่องนี้จะไม่ประมวลผลงาน
คุณสามารถดูอินเทอร์เฟซเครือข่ายของคุณด้วยคำสั่ง ifconfig
โปรดพิจารณา nvidia doc