Интерфейс IntraopNumThreads
Предоставляет возможность изменять количество потоков, используемых в threadpool для выполнения внутри оператора ЦП с помощью Обучение ModelSessionOptions. По умолчанию WinML задает значение как максимальное количество потоков, которое совпадает с количеством логических ядер на ЦП пользователя. Установка этого значения выше числа логических ядер на ЦП может привести к неэффективной потоковой пуле и более медленной оценке.
Пример кода
void SetIntraOpNumThreads(LearningModel model) {
// Create LearningModelSessionOptions
auto options = LearningModelSessionOptions();
auto nativeOptions = options.as<ILearningModelSessionOptionsNative>();
// Set the number of intra op threads to half of logical cores.
uint32_t desiredThreads = std::thread::hardware_concurrency() / 2;
nativeOptions->SetIntraOpNumThreadsOverride(desiredThreads);
// Create session
LearningModelSession session = nullptr;
WINML_EXPECT_NO_THROW(session = LearningModelSession(model, LearningModelDeviceKind::Cpu, options));
}
Требования
Требование | |
---|---|
Минимальный поддерживаемый клиент | Windows 10, сборка 17763 |
Минимальный поддерживаемый сервер | Windows Server 2019 с рабочим столом |
Верхний колонтитул | windows.ai.machinelearning.native.h |
Примечание.
Используйте следующие ресурсы для получения справки по машинному обучению в Windows:
- Чтобы задать технические вопросы о машинном обучении в Windows или ответить на них, используйте тег windows-machine-learning в Stack Overflow.
- Сообщить об ошибке можно в нашем репозитории GitHub.