您的位置:首页 > 手游攻略 > BPL:实践指南

BPL:实践指南

作者:互联网  时间: 2026-09-11 15:50:02  

团队讨论BPL时,我会先把用途说清楚:用于一次性学习的贝叶斯程序学习模型。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。短测时我会用一项范围明确的真实任务完成最小试跑,并保留配置时间、输出质量、异常信息和维护痕迹的结果,方便团队复盘。编辑判断上,愿意先做小范围验证并复查原始文档的团队可以优先研究它;其他团队不必为了热门标签勉强接入。

用于一次性学习的 BPL 模型

使用贝叶斯程序学习一次性学习手写字符的 Matlab 源代码 (BPL)。

引用这段代码

请引用以下论文:

Lake, B. M.、Salakhutdinov, R. 和 Tenenbaum, J. B. (2015)。通过概率程序归纳进行人类水平的概念学习。科学,350(6266),1332-1338。

先决条件

Matlab 工具箱
优化工具箱
统计工具箱(R2015a之前) OR 统计和机器学习工具箱
图像处理工具箱
曲线拟合工具箱

Lightspeed Matlab 工具箱
(http://research.microsoft.com/en-us/um/people/minka/software/lightspeed/)
请将 lightspeed 函数安装并添加到您的 Matlab 路径中。

Omniglot 数据集
(https://github.com/brendenlake/omniglot)
将这两个 Omniglot 文件放入“data/”目录中:
matlab/data_background.mat
matlab/data_evaluation.mat

使用代码

设置你的路径
首先,您必须将所有子目录添加到您的 Matlab 路径中。在主 BPL 目录中键入以下命令:

addpath(genpath(pwd));

预处理笔画数据
此操作只需运行一次,最多可能需要 5 分钟才能完成。从“数据”目录中,运行:

omniglot_preprocess;

这将创建“data_background_processed.mat”和“data_evaluation_processed.mat”文件,用于访问带有预处理笔划数据的 Omniglot 数据集。

解析演示
要运行模型拟合演示,请输入

demo_fit;

一次性分类
首先,下载预先计算的模型并解压缩,使“model_fits”和“model_refits”成为“classification”目录的子目录。
http://cims.nyu.edu/~brenden/supplemental/BPL_precomputed/model_fits.zip
http://cims.nyu.edu/~brenden/supplemental/BPL_precomputed/model_refits.zip

要运行模型重新拟合演示,请进入“分类”目录并输入:

demo_refit;

要使用预先计算的结果测量分类错误率,请输入:

run_classification;

一次性样本生成

首先,进入“generate_exemplars”目录并解压缩“model_fits.zip”,因此“model_fits”现在是一个子目录。这些是在示例生成视觉图灵测试中使用的预先计算的模型。

要运行示例生成演示,请在“generate_exemplars”目录中输入:

demo_generate_exemplar;

计算资源

大多数实验需要多个 CPU 集群才能在合理的时间内运行。将运动程序拟合到角色图像可以并行运行。

解析和一次性分类演示包含一个“fast_mode”选项(默认情况下处于打开状态),该选项允许演示快速运行,跳过将笔画拟合到图像细节的昂贵过程。请谨慎使用此模式,因为此模式更为粗糙,并且在论文结果中未使用。

兼容性

代码是在 MATLAB R2013a 和 Lightspeed 工具箱版本 2.6 上开发和测试的。

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4