UI를 사용한 머신러닝을 위한 분산 방향성 비순환 그래프 프레임워크
MLComp의 목표는 교육, 추론, 복잡한 파이프라인(특히 컴퓨터 비전용) 생성을 위한 도구를 신속하고 관리하기 쉬운 방식으로 제공하는 것입니다.
MLComp는 Python 3.6+, Unix 운영 체제와 호환됩니다.
Catalyst 생태계의 일부입니다. 프로젝트 매니페스트.
특징
놀라운 UI
촉매 지원
분산 교육
계산 자원을 제어하는 감독자
코드와 데이터의 동기화
자원 모니터링
UI에서 일시 중지 및 계속의 전체 기능
요구 사항 자동 제어
코드 덤핑(UI의 구문 강조 표시 포함)
캐글 통합
계층적 로깅
그리드 검색
실험 비교
레이아웃 시스템 사용자 정의
내용물
스크린샷
설치
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-server start --daemon=True
변형 2: 전체
에이. PostgreSql을 사용하도록 환경 변수를 변경하세요.
비. 각 업무 컴퓨터에 rsync 설치
sudo apt-get 설치 rsync
환경 변수 파일에 지정한 IP/PORT를 사용하여 SSH 프로토콜로 모든 컴퓨터를 사용할 수 있는지 확인하세요.
rsync는 다음 명령을 수행합니다.
업로드하다
rsync -vhru -e "ssh -p {target.port} -o StrictHostKeyChecking=no" {폴더}/ {target.user}@{target.ip}:{폴더}/ --perms --chmod=777
다운로드하다
rsync -vhru -e "ssh -p {source.port} -o StrictHostKeyChecking=no" {source.user}@{source.ip}:{폴더}/ {폴더}/ --perms --chmod=777
기음. 분산 학습을 위한 Apex 설치
디. postgresql, redis-server, mlcomp-server를 실행하려면 서버 컴퓨터에서 다음을 실행하세요.
CD ~/mlcomp/configs/ docker-compose -f 서버-compose.yml up -d
이자형. 각 작업자 컴퓨터에서 실행합니다.
mlcomp-작업자 시작
웹사이트는 http://{WEB_HOST}:{WEB_PORT}에서 사용할 수 있습니다.
기본적으로 http://localhost:4201입니다.
전면은 AngularJS로 구축되었습니다.
변경하고 싶은 경우 프론트의 Readme 페이지를 참조하십시오.
달리다
mlcomp dag PATH_TO_CONFIG.yml
이 명령은 디렉터리의 파일을 데이터베이스에 복사합니다.
그런 다음 서버는 여유 리소스를 고려하여 DAG를 예약합니다.
자세한 내용은 Docs를 참조하세요.
API 문서와 라이브러리 개요는 여기에서 찾을 수 있습니다.
리포지토리의 예제 폴더에서 고급 튜토리얼과 MLComp 모범 사례를 찾을 수 있습니다.
FileSync 튜토리얼에서는 데이터 동기화 메커니즘을 설명합니다.
컴퓨터 환경을 설정하는 단일 파일은 ~/mlcomp/configs/.env에 있습니다.
ROOT_FOLDER - MLComp 파일을 저장할 폴더: 구성, db, 작업 등
TOKEN - 사이트 보안 토큰입니다. 아무 문자열로나 바꿔주세요
DB_TYPE. SQLITE 또는 POSTGRESQL 중 하나
POSTGRES_DB. PostgreSQL DB 이름
POSTGRES_USER. PostgreSQL 사용자
POSTGRES_PASSWORD. PostgreSQL 비밀번호
POSTGRES_HOST. PostgreSQL 호스트
PGDATA. PostgreSql DB 파일 위치
REDIS_HOST. Redis 호스트
REDIS_PORT. 레디스 포트
REDIS_PASSWORD. 레디스 비밀번호
WEB_HOST. MLComp 사이트 호스트. 0.0.0.0은 어디에서나 사용할 수 있음을 의미합니다.
WEB_PORT. MLComp 사이트 포트
CONSOLE_LOG_LEVEL. 콘솔 출력을 위한 로그 수준
DB_LOG_LEVEL. 데이터베이스 출력을 위한 로그 수준
IP. 업무용 컴퓨터의 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_COMPUTER. 참/거짓. False인 경우 해당 컴퓨터를 제외한 모든 컴퓨터가 해당 컴퓨터와 동기화되지 않습니다.
CAN_PROCESS_TASKS. 참/거짓. false인 경우 이 컴퓨터는 작업을 처리하지 않습니다.
ifconfig
명령을 사용하여 네트워크 인터페이스를 볼 수 있습니다. 엔비디아 문서를 고려해보세요