问题描述

在32核的服务器上运行The decoding toolbox (TDT)。利用searchlight的方法分析,searchlight的数目是140434个。
解码代码如下:

cfg = decoding_describe_data(cfg,{labelname1 labelname2 labelname3 labelname4},[-1.5 -0.5 0.5 1.5],regressor_names,beta_loc);
cfg.decoding.method = ‘regression’; % choose this for regression
cfg.results.output = ‘zcorr’;

如此运行代码将花费数天不止,多模式识别工具箱(TDT toolbox )如何并行计算?

解决方案一

1、明确探照灯的数目n_sl,假设没有并行化处理。假设处理数据利用n_split 个并行迭代。于是可以将不同顺序的探照灯并行处理完成后,将结果进行累加,从而完成加速。

iter = 1;
n_sl = 49000;
n_split = 7;
splitsize = ceil(n_sl/n_split);
cfg.searchlight.subset = (iter-1)*splitsize + (1:splitsize); % would run the first 7k searchlights

根据这个示例,更改不同的iter值,就可以得到不同位置的searchlight结果。然后利用matlab parfor 可以完成整个程序的并行。可参考如下代码进行修改完善:

pool = gcp(‘nocreate’);
num_workers = pool.NumWorkers;
num_searchlights = size(misc.residuals,2);
searchlights_per_worker = ceil(num_searchlights/num_workers); % Divide the task up into the number of workers
parfor crun = 1:num_workers
results{crun} = decoding_parallel_wrapper(cfg,misc,searchlights_per_worker,crun)
end
all_results = results{1};
for crun = 2:num_workers
all_results.decoding_subindex = [all_results.decoding_subindex; results{crun}.decoding_subindex];
all_results.other_average.output(results{crun}.decoding_subindex) = results{crun}.other_average.output(results{crun}.decoding_subindex);
end
results = all_results;
disp(‘Crossnobis on the whole brain complete, saving results, note this could take some time’)
save(fullfile(cfg.results.dir,‘res_other_average.mat’),‘results’,’-v7.3’)
assert(sum(cellfun(@isempty,all_results.other_average.output))==0,‘Results Output not completely filled despite completion of the parallel loop - please check’)
delete(fullfile(cfg.results.dir,‘parallel_loop*.mat’))

其中调用的decoding_parallel_wrapper如下:

function results = decoding_parallel_wrapper(cfg,misc,searchlights_per_worker,worker_number)
cfg.searchlight.subset = ((worker_number-1)searchlights_per_worker)+1:worker_numbersearchlights_per_worker;
cfg.results.resultsname = cellstr([‘parallel_loop_’ num2str(worker_number)]);
addpath /group/language/data/thomascope/spm12_fil_r6906/ % Your SPM path for the workers
spm(‘ver’); % Needed or sometimes the decoding toolbox complains in parallel that SPM is not initialised.
results = decoding(cfg,[],misc);

多体素模式识别工具箱(TDT toolbox )如何并行计算?相关推荐

  1. Matlab样条工具箱(Spline ToolBox)与曲线拟合

    MATLAB 样条工具箱可以通过节点获得样本函数值,但不能根据x求y或z,也不能求得样本曲线方程.例如: ctrlpoints=[     0    -1.2   -1.6   -1.4   -1   ...

  2. MATLAB优化工具箱—Optimization Toolbox™

    Optimization Toolbox™ 提供了寻找最小化或最大化目标并同时满足约束条件的函数.工具箱中包括了线性规划 (LP).混合整数线性规划 (MILP).二次规划 (QP).非线性规划 (N ...

  3. 安装MATLAB工具箱Robotics Toolbox 9.10.0 版本

    Robotics工具包是由Peter Croke团队开发的一款基于Matlab平台的机器人运算.仿真的强大工具,提供对经典手臂型机器人研究和仿真有用的功能,例如运动学.动力学和轨迹生成等. 官网地址: ...

  4. Matlab机器人工具箱Robotics ToolBox --rvctools安装 图文详解(附rvctools工具箱资源)

    rvctools工具箱资源地址分享: 链接:https://pan.baidu.com/s/1DqeCwS0F-P2DgQJQeL9boA 提取码:lmgp 首先找到你的Matlab安装位置,找到to ...

  5. Matlab优化工具箱——Optimization Toolbox

    最优化模型的一般形式: 一.三大要素 决策变量  decision bariable 式(1)称为目标函数  objective function 式(2)称为约束条件  constraints (2 ...

  6. android rom 制作工具,ROM工具箱(ROM Toolbox Pro)

    ROM工具箱是一款Android系统管理工具箱程序,功能非常强大,需要注意的是,目前这款软件支持绝大多数机型,且需要ROOT权限! 这款软件除了强大功能外,值得一提的是它的软件界面,我感觉还是比较漂亮 ...

  7. matlab nag 工具箱,matlab 数值算法工具箱 NAG toolbox

    用了那么长的matlab,似乎很少听人提到过NAG toolbox ,今天用了,别有一番感受. 所谓NAG,就是 Numerical Algorithms Group . http://www.nag ...

  8. MATLAB机器人工具箱Robotics Toolbox安装——以Win10环境下MATLAB2017b为例【个人学习笔记】

    MATLAB学习--经验与交流[个人学习笔记] 此处安装的机器人工具箱版本为10.4:MATLAB2017b. 安装包来源:机器人工具箱官网:https://petercorke.com/toolbo ...

  9. matlab优化坐标,Matlab优化工具箱——Optimization Toolbox

    最优化模型的一般形式: 一.三大要素 决策变量  decision bariable 式(1)称为目标函数  objective function 式(2)称为约束条件  constraints (2 ...

最新文章

  1. Centos和Redhat的区别和联系
  2. @autowired注解_品Spring:对@Autowired和@Value注解的处理方法(文末附spring系列资源合集)...
  3. 复制MySQL实时_自制mysql主从复制(实时)软件——实现
  4. c语言 while 教案,c语言电子教案(刘丹)
  5. CTFshow php特性 web141
  6. 中国.NET域名注册量近55万个 稳居全球第三位
  7. sklearn中eof报错_sklearn中的数据预处理和特征工程
  8. 阿里云佘俊泉:创新探索不停,边缘云持续为客户创造价值
  9. 站在智能路由的风口,他选择把传统OA放进盒子
  10. 面试 技术 教训_我如何应用从失败的技术面试中学到的经验教训来获得5个工作机会
  11. html怎么去li间隙,求助大神 如让图片展示在li标签里面,不要间隙 谢谢
  12. linux socket 模式,pythonsockets:如何在linux中启用混杂模式
  13. 开发微信网页及调试方法
  14. java url解码_URL的编码和解码
  15. 龙芯2F装debian5
  16. How I Hacked Facebook with a Word Document
  17. redis学习之redis的发布和订阅
  18. 安卓系统监控任务管理器App推荐
  19. 外贸客户邮箱用什么?外贸哪个邮箱好?
  20. 视频剪辑自学怎么入门?借助这款软件可以达到意想不到的效果

热门文章

  1. 5G 将如何引爆物联网爆发式的发展
  2. 河南留学欧美预备学校校歌——Alma Mater(母校)_控控控-上ke控_新浪博客
  3. 6.1UiPath Orchestrator的注册
  4. linux下安装绘图的包numpy,scipy,matplotlibm
  5. 小说、漫画分销从搭建到运营
  6. 使用 DolphinScheduler 调度 Kylin 构建
  7. 考试偷用计算机检讨书300字,考试没考好检讨书300字
  8. handle在c语言的用法,handle的用法
  9. Android之路-路漫漫其修远兮
  10. 微信抢红包实战案例,面试必会