모든 실험은 신성합니다모든 실험은 훌륭합니다실험이 낭비되는 경우하나님은 상당히 화나게됩니다
Sacred는 실험을 구성, 정리, 로그 및 복제하는 데 도움이되는 도구입니다. 실제 실험을 중심으로해야 할 모든 지루한 오버 헤드 작업을 수행하도록 설계되었습니다.
Sacred는 다음과 같은 주요 메커니즘을 통해 이것을 달성합니다.
아이리스 데이터 세트에서 SVM을 훈련시키는 스크립트 | 신성한 실험과 동일한 대본 |
from numpy . random import permutation
from sklearn import svm , datasets
C = 1.0
gamma = 0.7
iris = datasets . load_iris ()
perm = permutation ( iris . target . size )
iris . data = iris . data [ perm ]
iris . target = iris . target [ perm ]
clf = svm . SVC ( C = C , kernel = 'rbf' ,
gamma = gamma )
clf . fit ( iris . data [: 90 ],
iris . target [: 90 ])
print ( clf . score ( iris . data [ 90 :],
iris . target [ 90 :])) | from numpy . random import permutation
from sklearn import svm , datasets
from sacred import Experiment
ex = Experiment ( 'iris_rbf_svm' )
@ ex . config
def cfg ():
C = 1.0
gamma = 0.7
@ ex . automain
def run ( C , gamma ):
iris = datasets . load_iris ()
per = permutation ( iris . target . size )
iris . data = iris . data [ per ]
iris . target = iris . target [ per ]
clf = svm . SVC ( C = C , kernel = 'rbf' ,
gamma = gamma )
clf . fit ( iris . data [: 90 ],
iris . target [: 90 ])
return clf . score ( iris . data [ 90 :],
iris . target [ 90 :]) |
이 문서는 ReadThedocs에서 호스팅됩니다. 당신은 또한 신성한 전문가에게 물어볼 수 있습니다. 그것은 당신의 질문에 대답하는 신성한 집중 AI입니다.
PIP를 사용하여 Python 패키지 인덱스에서 직접 설치할 수 있습니다.
Pip Sacred를 설치하십시오
또는 수동으로 수행하려면 GIT에서 현재 버전을 체크 아웃하여 직접 설치할 수 있습니다.
git 클론 https://github.com/idsia/sacred.gitCD 신성한Python setup.py 설치
numpy
와 pymongo
패키지를 설치하고 싶을 수도 있습니다. 선택적 종속성이지만 멋진 기능을 제공합니다.
Numpy Pymongo를 설치하십시오
신성한 테스트는 Pytest 패키지를 사용합니다. 신성한 디렉토리에서 pytest
실행하여 실행할 수 있습니다.
pytest
Tox 용 구성 파일도 있으므로 다음과 같은 다양한 Python 버전의 테스트를 자동으로 실행할 수 있습니다.
독스
Pytest 버전을 업데이트하거나 변경하면 다음 파일을 변경해야합니다.
dev-requirements.txt
tox.ini
test/test_utils.py
setup.py
버그를 찾거나 기능 요청이 있거나 일반적인 내용에 대해 논의하고 싶다면 문제를 열 수 있습니다. 신성한 사용법과 관련된 특정 질문이 있으면 파이썬으로 표시된 태그 아래 StackoverFlow에 대한 질문을하십시오. 우리는 문서를 많이 소중히 여깁니다. 문서에 포함되어야 할 내용을 찾으면 문서를 문서화하거나 누락 된 내용을 알려주십시오. 프로젝트 중 하나에서 신성한 사용을 사용하고 다른 사람과 코드를 공유하려면 신성한 <docs/projects_using_sacred.rst> _ List를 사용하여 프로젝트에 저장소를 넣으십시오. 풀 요청은 매우 환영합니다!
이 시점에서 Sacred가 만든 데이터베이스 항목에 세 개의 프론트 엔드가 있습니다 (내가 알고있는). 그것들은 외부에서 별도의 프로젝트로 개발되었습니다.
Omniboard는 신성한 실험 및 메트릭 / 로그를 시각화하는 데 도움이되는 웹 대시 보드입니다. Omniboard는 React, Node.js, Express 및 Bootstrap으로 작성되었습니다.
향은 MongoDB에 저장된 실행을 검색하고 Jupyter 노트북에 메트릭과 아티팩트를 대화식으로 표시하는 Python 라이브러리입니다.
Sacredboard는 MongoDB에 저장된 신성한 실행에 대한 웹 기반 대시 보드 인터페이스입니다.
Neptune은 많은 실험을 실행하는 팀을 위해 제작 된 MLOPS를위한 메타 데이터 스토어입니다. Python 및 R 프로그래밍 언어 모두에 사용할 수있는 API를 통해 모든 모델 구축 메타 데이터를 로그, 저장, 표시, 구성, 비교 및 쿼리 할 수있는 단일 장소를 제공합니다.
신성한 실험을 해왕성에 기록하기 위해서는 관찰자를 추가하기 만하면됩니다.
from neptune . new . integrations . sacred import NeptuneObserver
ex . observers . append ( NeptuneObserver ( api_token = '<YOUR_API_TOKEN>' ,
project = '<YOUR_WORKSPACE/YOUR_PROJECT>' ))
자세한 내용은 Neptune + Sacred Integration Guide를 확인하십시오.
Sacredbrowser는 신성한 실험에 의해 생성 된 MongoDB 항목을 탐색하기위한 PYQT4 응용 프로그램입니다. 기능에는 사용자 정의 쿼리, 결과 정렬, 저장된 소스 코드에 대한 액세스 등이 포함됩니다. 설치가 필요하지 않으며 로컬 데이터베이스 또는 네트워크를 통해 연결할 수 있습니다.
선지자는 신성한 실험에 의해 만들어진 MongoDB 항목에 대한 웹 인터페이스의 초기 프로토 타입입니다. 데이터베이스에 액세스하려면 retheart를 실행해야합니다.
수마트라는 수치를 기반으로 프로젝트를 관리하고 추적하는 도구입니다.재현 가능한 연구를 지원하기 위해 시뮬레이션 및/또는 분석.자동화 된 전자 실험실 노트북으로 생각할 수 있습니다.계산 프로젝트.
수마트라는 CommandLine 도구를 제공하여 프로젝트를 초기화 한 다음 임의 코드 (파이썬이 아니라)를 실행하여 다른 접근 방식을 취합니다. SQL 데이터베이스에서 모든 실행에 대한 정보를 추적하고 멋진 브라우저 도구를 제공합니다. 코드를 실행할 코드와 덜 단단히 통합하여 비 파이썬 실험에 쉽게 적용 할 수 있습니다. 그러나 이는 각 실험에 대해 더 많은 설정이 필요하고 파일을 사용하여 구성을 수행해야한다는 것을 의미합니다. 비 파이썬 실험을 실행 해야하는 경우이 프로젝트를 사용하거나 추가 설정/구성 오버 헤드가 적용됩니다.
FGLAB은 프로토 타이핑을 만들도록 설계된 머신 러닝 대시 보드입니다.실험이 더 쉽습니다. 실험 세부 사항 및 결과는 데이터베이스로 전송됩니다.완료 후 분석을 수행 할 수 있습니다. 서버FGLAB이고 고객은 fgmachines입니다.
수마트라와 마찬가지로 FGLAB은 모든 프로그램에서 실행을 추적 할 수있는 외부 도구입니다. 프로젝트는 JSON 스키마를 통해 구성되며 프로그램은 명령 줄 옵션을 통해 이러한 구성을 수락해야합니다. FGLAB은 또한 여러 기계에 실행을 배포하여 기본 스케줄러의 역할을 수행합니다.
이 프로젝트는 MIT 라이센스의 조건에 따라 릴리스됩니다.
K. Greff, A. Klein, M. Chovanec, F. Hutter 및 J. Schmidhuber, 'Computational Research를위한 신성한 인프라', 15 번째 Python in Science Conference (Scipy 2017), Austin, Texas, 2017, pp. 49–56.