Чтобы использовать параллельные вычисления, как описано в этой главе, у вас должна быть лицензия Parallel Computing Toolbox™.
Можно использовать любую из функций Statistics and Machine Learning Toolbox™ с построениями Parallel Computing Toolbox, такими как parfor
и spmd
. Однако некоторые функции, такие как те с интерактивными отображениями, могут потерять функциональность параллельно. В частности, отображения и интерактивное использование не являются эффективными на рабочих (см. Словарь для Параллельного Вычисления).
Кроме того, следующие функции улучшены, чтобы использовать параллельные вычисления внутренне. Эти функции используют parfor
внутренне, чтобы параллелизировать вычисления.
Следующие функции для подходящих моделей мультикласса для машин вектора поддержки и других классификаторов также улучшены, чтобы использовать параллельные вычисления внутренне.
Методы класса ClassificationECOC
:
Методы класса CompactClassificationECOC
Методы класса ClassificationPartitionedECOC
Методы класса ClassificationPartitionedLinearECOC
Следующие функции выполняют гипероптимизацию параметров управления параллельно.
Эта глава уступает самому простому дорогу, чтобы использовать эти расширенные функции параллельно. Для более усовершенствованных тем, включая проблемы воспроизводимости и вложенных циклов parfor
, смотрите другие разделы в этой главе.
Для получения информации о параллельном статистическом вычислении в командной строке войти
help parallelstats
Чтобы иметь функцию вычисляют параллельно:
Чтобы запустить статистическое вычисление параллельно, сначала настройте параллельную среду.
Подготовка параллельной среды может занять несколько секунд.
Для многожильной машины введите следующее в командной строке MATLAB®:
parpool(n)
n
является количеством рабочих, которых вы хотите использовать.
Создайте структуру опций с функцией statset
. Чтобы запуститься параллельно, установите опцию UseParallel
на true
:
paroptions = statset('UseParallel',true);
Вызовите свою функцию с синтаксисом, который использует структуру опций. Например:
% Run crossval in parallel cvMse = crossval('mse',x,y,'predfun',regf,'Options',paroptions); % Run bootstrp in parallel sts = bootstrp(100,@(x)[mean(x) std(x)],y,'Options',paroptions); % Run TreeBagger in parallel b = TreeBagger(50,meas,spec,'OOBPred','on','Options',paroptions);
Для большего количества полных примеров параллельных статистических функций смотрите Параллельную обработку Использования для Регрессии Рабочий процесс TreeBagger, Складной нож Реализации Используя Параллельные вычисления, Перекрестная проверка Реализации Используя Параллельные вычисления и Начальная загрузка Реализации Используя Параллельные вычисления.
После того, как вы закончите вычислять параллельно, закройте параллельную среду:
delete mypool
Чтобы сэкономить время, сохраните пул открытым, если вы ожидаете вычислять параллельно снова скоро.