每个实验都是神圣的每个实验都很棒如果浪费了实验上帝很生气
神圣是帮助您配置,组织,日志和复制实验的工具。它旨在完成您需要围绕实际实验进行的所有乏味的高架工作,以进行以下操作:
神圣通过以下主要机制实现了这一点:
在虹膜数据集上训练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安装神圣
或者,如果您想手动执行此操作,则可以从git结帐当前版本并自己安装:
git克隆https://github.com/idsia/sacred.gitCD神圣python设置
您可能还需要安装numpy
和pymongo
软件包。它们是可选的依赖项,但提供了一些很酷的功能:
PIP安装numpy pymongo
神圣的测试使用pytest软件包。您可以通过在神圣目录中运行pytest
来执行它们:
pytest
还有一个用于TOX的配置文件,因此您可以自动运行类似python版本的测试:
毒品
如果更新或更改PYTest版本,则需要更改以下文件:
dev-requirements.txt
tox.ini
test/test_utils.py
setup.py
如果您找到错误,请有一个功能请求或想讨论一些一般性,欢迎您打开问题。如果您有与神圣使用有关的特定问题,请在Python神圣标签下询问关于Stackoverflow的问题。我们非常重视文档。如果您发现应该包含在文档中的内容,请记录它或让我们知道缺少的内容。如果您在一个项目中使用了神圣的项目,并且想与他人共享代码,请使用SACRED <docs/projects_usis_sacred.rst> _列表将仓库放入项目中。非常欢迎拉动请求!
此时,神圣创建的数据库条目(我知道)有三个前端。它们在外部开发为单独的项目。
OmniBoard是一个Web仪表板,有助于可视化通过神圣收集的实验和指标 /日志。 OmniBoard用React,Node.js,Express和Bootstrap编写。
香是一个python库,可以检索存储在杂种中的运行,并在jupyter笔记本中交互显示指标和文物。
Sacredboard是一个基于Web的仪表板接口,该接口是存储在MongoDB中的神圣运行。
Neptune是一家用于MLOP的元数据商店,该商店是为进行大量实验的团队而建造的。它为您提供了一个单个地方,可以通过可用于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 +神圣集成指南。
SacredBrowser是一种PYQT4应用程序,可浏览由神圣实验创建的MongoDB条目。功能包括自定义查询,结果排序,访问存储的源代码等等。不需要安装,它可以连接到本地数据库或网络。
先知是由神圣实验创建的MongoDB条目的Webinterface的早期原型。它要求您运行RESTHEART访问数据库。
苏门答腊是基于数值管理和跟踪项目的工具仿真和/或分析,目的是支持可重复的研究。可以认为是自动化电子实验室笔记本计算项目。
Sumatra通过提供命令行工具来初始化项目然后运行任意代码(不仅仅是Python)来采用不同的方法。它跟踪有关SQL数据库中所有运行的信息,甚至提供了一个不错的浏览器工具。它与要运行的代码的集成程度不大,这使其很容易适用于非Python实验。但这也意味着它需要为每个实验进行更多设置,并且需要使用文件进行配置。如果您需要运行非Python实验,请使用此项目,或者可以使用其他设置/配置开销。
FGLAB是一种机器学习仪表板,旨在制作原型实验更容易。实验详细信息和结果发送到数据库,这允许分析完成后执行。服务器是FGLAB,客户是FGMachines。
与苏门答腊类似,FGLAB是一种外部工具,可以跟踪任何程序的运行。项目是通过JSON模式配置的,该程序需要通过命令行选项接受这些配置。 FGLAB还通过在几台计算机上分发运行来扮演基本调度程序的角色。
该项目根据MIT许可证的条款发布。
K. Greff,A。Klein,M。Chovanec,F。Hutter和J. Schmidhuber,“计算研究的神圣基础设施”,在科学会议第15届Python的会议上(Scipy 2017),德克萨斯州奥斯汀,德克萨斯州,2017年,2017年,2017年,2017年,2017年, pp。49–56。