Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 1062|Ответ: 0

[Чаевые] Ускорьте программу машинного обучения на scikit-learn с помощью sklearnex

[Скопировать ссылку]
Опубликовано 27.04.2025 09:59:40 | | | |
Scikit-learn

SKTet, полное название scikit-learn, — это библиотека машинного обучения на Python, построенная на базе пакетов для науки о данных, таких как numpy, scipy и matplotlib, охватывающая практически все аспекты машинного обучения, такие как выборочные данные, предварительная обработка данных, верификация моделей, выбор признаков, классификация, регрессия, кластеризация и уменьшение размерности. В отличие от фонда глубокого обучения, доступного в различных фреймворках, таких как pytorch и TensorFlow, sklearn является предпочтительным выбором библиотеки для традиционного машинного обучения в Python, и других конкурентов нет.

Официальный сайт:Вход по гиперссылке виден.
Источник:Вход по гиперссылке виден.

Расширение для Scikit-learn

Как классический фреймворк машинного обучения, scikit-learn разрабатывается уже более десяти лет с момента своего появления, но его вычислительная скорость подвергается широкой критике со стороны пользователей. Расширение для Scikit-learn — это бесплатный ускоритель искусственного интеллекта, созданный для помощи вамСуществующий код Scikit-learn обеспечивает ускорение в 10–100 раз。 Программное ускорение достигается с помощью векторных инструкций, оптимизации памяти для аппаратного обеспечения ИИ, потоков и оптимизации.

С расширением Scikit-learn вы можете:

  • Обучение и вывод в 100 раз быстрее с той же математической точностью
  • Получите преимущество от улучшения производительности в различных конфигурациях ЦПУ, включая GPU и мульти-GPU
  • Интегрируйте расширения в ваши существующие приложения Scikit-learn без изменений кода
  • Продолжайте использовать открытый API scikit-learn
  • Используйте несколько строк кода или включите и отключите расширения в командной строке


Источник:Вход по гиперссылке виден.
Документация:Вход по гиперссылке виден.



Тест

Сначала используйте conda для подготовки среды и установите необходимые пакеты с помощью следующей команды:

Новый тестовый код на Python выглядит следующим образом:

Ускоренный код выглядит следующим образом:

Интерпретация исходного кода:

1.X, y = make_regression(n_samples=2000000, n_features=100, шум=1, random_state=42)
make_regression — это функция в scikit-learn, которая генерирует набор данных для задач линейной регрессии.
n_samples=2000000: Указывает количество выборок в сгенерированном наборе данных — 2 000 000.
n_features=100: Указывает, что каждый выборка содержит 100 признаков (то есть входных переменных).
шум=1: Стандартное отклонение добавления шума к целевому значению y равно 1. Это означает, что целевое значение будет иметь случайные возмущения.
random_state=42: Установить случайное семя в 42, чтобы генерируемые данные оставались одинаковыми при каждом запуске кода (повторяемость).
Результаты: X — это массив NumPy формы (2000000, 100), представляющий 2 000 000 образцов с 100 признаками каждая; y — это одномерный массив длиной 2 000 000, который представляет целевое значение.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split — это функция в scikit-learn, которая делит набор данных на обучающие и тестовые наборы.
test_size=0.33: Означает, что 33% набора данных выделены тестовому набору, а оставшиеся 67% — обучающему набору.
random_state=42: Установить случайное семя на 42, чтобы результат разделения данных был одинаковым при запуске кода.
: Используйте подчёркивание, чтобы игнорировать возвратное значение. Здесь нас интересует только часть с обучающим набором (X_train и y_train) и игнорируем тестовый набор.
Результат:
X_train: Матрица признаков обучающего набора в форме (1340000, 100) (около 67% данных).
y_train: Целевая стоимость учебного набора длиной 1 340 000.

3. модель = линейная регрессия()
Линейная регрессия — это класс в scikit-learn, реализующий модели линейной регрессии.
Эта строка кода создаёт экземпляр линейной регрессионной модели и присваивает значения переменной модели.
По умолчанию линейная регрессия не регуляризирует данные (то есть нет регуляризации L1 или L2).

4. model.fit (X_train, y_train)
Fit — это метод в модели scikit-learn, который используется для обучения модели.
Здесь метод подгонки вызывается для соответствия линейной регрессионной модели с использованием обучающего набора данных X_train и целевого значения y_train.
Модель вычисляет оптимальный набор весов (коэффициентов) и пересечений, чтобы минимизировать ошибку между предсказанными и истинными значениями (обычно наименьшими квадратами).
После завершения обучения параметры модели хранятся в model.coef_ (вес объекта) и model.intercept_ (перехват).

Время выполнения составляет следующее:



Вы можете увидеть, что эффект очень заметен как без ускорения, так и после ускорения,Без ускорения проходит около 16 секунд и всего 0,1 секунды после разгона!!!!




Предыдущий:.NET/C# использует Tesseract для распознавания текста OCR для изображений
Следующий:.NET/C# использует HtmlAgilityPack для удаления всех HTML-тегов
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com