| *每个实验都是神圣的*
| *每个实验都是伟大的*
| *如果一个实验被浪费了*
| *上帝会非常恼火*
|pypi| |py_versions| |license| |rtfd| |doi|
|build| |coverage| |code_quality| |black|
Sacred是一个帮助你配置、组织、记录和重现实验的工具。它旨在完成你在实际实验周围需要做的所有繁琐的工作,以便:
Sacred通过以下主要机制实现这些目标:
+------------------------------------------------+--------------------------------------------+ | 在鸢尾花数据集上训练SVM的脚本 | 同样的脚本作为Sacred实验 | +------------------------------------------------+--------------------------------------------+ | .. code:: python | .. code:: python | | | | | from numpy.random import permutation | from numpy.random import permutation | | from sklearn import svm, datasets | from sklearn import svm, datasets | | | from sacred import Experiment | | | ex = Experiment('iris_rbf_svm') | | | | | | @ex.config | | | def cfg(): | | C = 1.0 | C = 1.0 | | gamma = 0.7 | gamma = 0.7 | | | | | | @ex.automain | | | def run(C, gamma): | | iris = datasets.load_iris() | iris = datasets.load_iris() | | perm = permutation(iris.target.size) | per = permutation(iris.target.size) | | iris.data = iris.data[perm] | iris.data = iris.data[per] | | iris.target = iris.target[perm] | iris.target = iris.target[per] | | clf = svm.SVC(C=C, kernel='rbf', | clf = svm.SVC(C=C, kernel='rbf', | | gamma=gamma) | gamma=gamma) | | clf.fit(iris.data[:90], | clf.fit(iris.data[:90], | | iris.target[:90]) | iris.target[:90]) | | print(clf.score(iris.data[90:], | return clf.score(iris.data[90:], | | iris.target[90:])) | iris.target[90:]) | +------------------------------------------------+--------------------------------------------+
文档托管在 ReadTheDocs <http://sacred.readthedocs.org/>
_。
你可以直接用pip从Python包索引安装:
pip install sacred
或者如果你想手动安装,你可以从git检出当前版本并自行安装:
| git clone https://github.com/IDSIA/sacred.git | cd sacred | python setup.py install
你可能还想安装 numpy
和 pymongo
包。它们是可选的依赖项,但提供了一些很酷的功能:
pip install numpy pymongo
Sacred的测试使用 pytest <http://pytest.org/latest/>
_ 包。
你可以在sacred目录中运行 pytest
来执行它们,像这样:
pytest
还有一个 tox <https://tox.readthedocs.io/en/latest/>
_ 的配置文件,所以你可以自动运行各种Python版本的测试,像这样:
tox
更新pytest版本 +++++++++++++++++++++
如果你更新或更改pytest版本,需要更改以下文件:
dev-requirements.txt
tox.ini
test/test_utils.py
setup.py
如果你发现bug、有功能请求或想讨论一些一般问题,欢迎开一个
issue <https://github.com/IDSIA/sacred/issues>
。如果你有与Sacred使用相关的具体问题,请在
python-sacred标签 <https://stackoverflow.com/questions/tagged/python-sacred>
下在StackOverflow上提问。我们非常重视文档。
如果你发现应该包含在文档中的内容,请记录下来或让我们知道缺少什么。如果你在项目中使用Sacred并想与他人分享你的代码,
请将你的仓库放在 使用Sacred的项目 <docs/projects_using_sacred.rst
>_ 列表中。
非常欢迎提交拉取请求!
目前有三个Sacred创建的数据库条目的前端(据我所知)。 它们作为单独的项目在外部开发。
Omniboard <https://github.com/vivekratnavel/omniboard>
_
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. image:: docs/images/omniboard-table.png
.. image:: docs/images/omniboard-metric-graphs.png
Omniboard是一个网络仪表板,有助于可视化Sacred收集的实验和指标/日志。 Omniboard是用React、Node.js、Express和Bootstrap编写的。
Incense <https://github.com/JarnoRFB/incense>
_
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. image:: docs/images/incense-artifact.png
.. image:: docs/images/incense-metric.png
Incense是一个Python库,用于检索存储在MongoDB中的运行,并在Jupyter笔记本中交互式显示指标和工件。
Sacredboard <https://github.com/chovanecm/sacredboard>
_
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. image:: docs/images/sacredboard.png
Sacredboard是一个基于网络的仪表板界面,用于访问存储在MongoDB中的Sacred运行。
Neptune <https://neptune.ai/>
_
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. image:: docs/images/neptune-compare.png
.. image:: docs/images/neptune-collaboration.png
Neptune是一个面向MLOps的元数据存储,为运行大量实验的团队而构建。 它为你提供了一个单一的地方来记录、存储、显示、组织、比较和查询所有模型构建元数据,通过可用于Python和R编程语言的API:
.. image:: docs/images/neptune-query-api.png
要将你的Sacred实验记录到Neptune,你只需添加一个观察者:
.. code-block:: python
from neptune.new.integrations.sacred import NeptuneObserver
ex.observers.append(NeptuneObserver(api_token='<YOUR_API_TOKEN>',
project='<YOUR_WORKSPACE/YOUR_PROJECT>'))
更多信息,请查看 Neptune + Sacred集成指南 <https://docs.neptune.ai/integrations-and-supported-tools/experiment-tracking/sacred>
_。
SacredBrowser <https://github.com/michaelwand/SacredBrowser>
_
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. image:: docs/images/sacred_browser.png
SacredBrowser是一个PyQt4应用程序,用于浏览Sacred实验创建的MongoDB条目。 功能包括自定义查询、结果排序、访问存储的源代码等等。 不需要安装,可以连接到本地数据库或通过网络连接。
Prophet <https://github.com/Qwlouse/prophet>
_
+++++++++++++++++++++++++++++++++++++++++++++++
Prophet是Sacred实验创建的MongoDB条目的网络界面的早期原型,已停止开发。
它要求你运行 RestHeart <http://restheart.org>
_ 来访问数据库。
Sumatra <https://pythonhosted.org/Sumatra/>
_
++++++++++++++++++++++++++++++++++++++++++++++
| Sumatra是一个用于管理和跟踪基于数值模拟和/或分析的项目的工具,
| 旨在支持可重复研究。
| 它可以被视为计算项目的自动电子实验室笔记本。
Sumatra采用不同的方法,提供命令行工具来初始化项目并运行任意代码(不仅限于Python)。它在SQL数据库中跟踪所有运行的信息,甚至提供了一个不错的浏览器工具。它与要运行的代码集成较少,这使得它易于应用于非Python实验。但这也意味着每个实验都需要更多的设置,配置需要通过文件完成。如果您需要运行非Python实验,或者可以接受额外的设置/配置开销,请使用这个项目。
未来道具研究所 +++++++++++++++
未来道具研究所是一个机器学习仪表板,旨在使实验原型设计更容易。实验详情和结果被发送到数据库,这允许在实验完成后进行分析。服务器是FGLab,客户端是FGMachines。
与Sumatra类似,FGLab是一个外部工具,可以跟踪任何程序的运行。项目通过JSON模式配置,程序需要通过命令行选项接受这些配置。FGLab还通过在多台机器上分配运行来扮演基本调度程序的角色。
该项目根据MIT许可证的条款发布。
K. Greff, A. Klein, M. Chovanec, F. Hutter, and J. Schmidhuber, 'The Sacred Infrastructure for Computational Research', in Proceedings of the 15th Python in Science Conference (SciPy 2017), Austin, Texas, 2017, pp. 49–56.
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号