BDL基准

bdl-benchmarks的Python项目详细描述


贝叶斯深度学习基准

为了使用bayesian deep learning(bdl)工具改变现实世界,这些工具必须扩展到现实世界的设置。为此,我们,研究界,必须能够评估我们的推理工具(并快速迭代)与现实世界的基准任务。我们应该能够做到这一点,而不必担心特定于应用程序的领域知识,例如医学应用程序中经常需要的专业知识。除了开发的成本和努力之外,我们还需要基准测试推理的健壮性、性能和准确性。这些基准测试应该具有多种规模,从快速开发周期的玩具级基准测试,到真实到真实应用程序的大型数据基准测试,捕捉它们的约束。

我们的bdl基准应该

  • 提供透明、模块化和一致的接口,用于评估各种下游任务的深层概率模型
  • 依赖于不确定性质量的专家驱动度量(实际应用程序利用真实世界中的bdl不确定性),但会抽象出专家知识,并消除在真实世界数据集上运行实验所需的样板步骤;
  • 在公平和现实的环境下(例如,计算资源、模型大小、数据集),将新模型的性能与机器学习社区广泛采用的经过良好调整的基线进行比较;
  • 提供基线模型的参考实现(例如,蒙特卡罗辍学推断、平均场变分推断、深集成),实现快速原型和新工具的轻松开发;
  • 独立于特定的深度学习框架(例如,不依赖于TensorFlowPyTorch等),并与scipy生态系统(即NumPyPandasMatplotlib)集成。基准测试与框架无关,而基线依赖于框架。

在这个回购协议中,我们努力为bdl社区提供这些急需的基准,并收集和维护社区提供的新基准和基准。colab笔记本演示了我们基准测试中类似mnist的工作流是available here

我们强烈建议您将您的模型作为新的基线供其他人竞争,并为其他人评估其模型贡献新的基准

基准列表

bayesian deep learning benchmarks(简称bdl benchmarks)是一个开源框架,旨在弥合深度概率机器学习模型设计与应用于实际问题之间的差距。我们目前支持的基准是:

安装

bdl benchmarks作为pypi包(python3兼容)提供,可安装为:

pip3 install git+https://github.com/OATML/bdl-benchmarks.git

数据下载和准备是特定于基准的,您可以按照baselines/<benchmark>/README.md(例如^{})上的相关指南进行操作。

示例

例如,Diabetic Retinopathy Diagnosis基准有几个基线,包括mc dropout、mfvi、deep ensembles等等。这些模型使用眼睛中的血管图像进行训练:

模型试图预测糖尿病视网膜病变hy,并将其不确定性用于预筛选(将模型不确定的患者发送给专家进行进一步检查)。当您实现一个新模型时,您可以很容易地根据回购中提供的现有基线结果对您的模型进行基准测试,并使用专家度量生成情节(如在将50%个最不确定的病人交给专家时,保留数据的AUC)。

您甚至可以使用colab notebook来查看基准的工作流,并为其他人提供您的模型以进行基准测试。

引用为

请在使用这些基准时引用个别基准,以及比较基准。关于Diabetic Retinopathy Diagnosis基准,请参见here

联系我们

存储库由Oxford Applied and Theoretical Machine Learning组开发和维护。通过电子邮件向我们询问问题或提交任何问题以改进框架。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java I使用Hystrix(1.5.18),并设置param ErrorThresholdPercentage=30,当marksuccess时,circuitbreak状态开关始终为   java如何打印数组直到有值。不是完整阵列?   在Java中比较具有不同字节顺序掩码的字符串的编码   javascript无法输入文本区域   java可绘制资源文件更改图像   java错误:“在电梯.jar中没有主清单属性”   java如何在Android中使用画布绘制在弧顶上的线路径   java Spring Boot WebMVCConfigureAdapter服务损坏的映像   Java11JavaCompiler抛出Java。仅限linux上的lang.StackOverflower错误   java eclipse对axis2的支持   java如何通过socket发送图像   JPA保留的java OffsetDateTime相差2小时   java重载不属于多态性吗?   java无需身份验证即可发送电子邮件   Android Studio中的java交互式微调器   JSP:在Javascript中使用java变量   生命、宇宙和一切java中的spoj编译错误