IntraopNumThreads 接口
使能够更改线程池中用于通过 LearningModelSessionOptions 对 CPU 运算符进行运算符内执行的线程数。 默认情况下,WinML 会将该值设置为最大线程数,即用户 CPU 上的逻辑核心数。 如果将该值设置为高于 CPU 上逻辑核心数的值,可能会导致线程池效率低下,评估速度下降。
示例代码
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 ML 的帮助:
- 若要提出或回答有关 Windows ML 的技术问题,请在 Stack Overflow 上使用 windows-machine-learning 标记。
- 若要报告 bug,请在 GitHub 上提交问题。