Поделиться через


Интерфейс 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.