이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 1062|회답: 0

[팁] sklearnex로 scikit-learn 머신러닝 라이브러리를 가속화하세요

[링크 복사]
2025-4-27 09:59:40에 게시됨 | | | |
Scikit-learn

SKTet(정식 명칭 scikit-learn)은 numpy, scipy, matplotlib과 같은 데이터 과학 패키지를 기반으로 구축된 파이썬 머신러닝 라이브러리로, 샘플 데이터, 데이터 전처리, 모델 검증, 특징 선택, 분류, 회귀, 군집화, 차원 축소 등 머신러닝의 거의 모든 측면을 포함합니다. pytorch, TensorFlow 같은 다양한 프레임워크에서 제공되는 딥러닝 라이브러리와 달리, sklearn은 파이썬 전통 머신러닝에서 선호되는 라이브러리이며, 다른 경쟁 라이브러리는 없습니다.

공식 웹사이트:하이퍼링크 로그인이 보입니다.
근원:하이퍼링크 로그인이 보입니다.

Scikit-learn용 확장

고전적인 머신러닝 프레임워크인 scikit-learn은 탄생 이후 10년 넘게 개발되어 왔지만, 그 컴퓨팅 속도는 사용자들로부터 널리 비판받아왔습니다. Scikit-learn의 확장 프로그램은 여러분을 돕기 위해 설계된 무료 AI 소프트웨어 가속기입니다기존 Scikit-learn 코드는 10배에서 100배 빠른 속도를 제공합니다。 소프트웨어 가속은 벡터 명령어, AI 하드웨어의 메모리 최적화, 스레딩 및 최적화를 통해 달성됩니다.

Scikit-learn 확장 기능을 사용하면 다음과 같은 기능이 있습니다:

  • 훈련과 추론은 동일한 수학적 정밀도로 100배 빠릅니다
  • GPU 및 멀티 GPU 구성 등 다양한 CPU 하드웨어 구성에서 성능 향상의 혜택을 누릴 수 있습니다
  • 코드를 수정하지 않고 기존 Scikit-learn 애플리케이션에 확장 기능을 통합하세요
  • 오픈소스 scikit-learn API를 계속 사용하세요
  • 몇 줄의 코드를 사용하거나 명령줄에서 확장 기능을 활성화하거나 비활성화하세요


근원:하이퍼링크 로그인이 보입니다.
문서조사:하이퍼링크 로그인이 보입니다.



테스트

먼저, 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는 2,000,000개의 샘플과 각각 100개의 특징을 나타내는 NumPy 배열(2000,000, 100)이며; y는 길이 2,000,000의 1차원 배열로, 목표 값을 나타냅니다.

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. model = 선형회귀()
선형회귀는 선형 회귀 모델을 구현하는 scikit-learn의 클래스입니다.
이 코드 라인은 선형 회귀 모델의 인스턴스를 생성하고 변수 모델에 값을 할당합니다.
기본적으로 선형회귀는 데이터를 정규화하지 않습니다(즉, L1 또는 L2 정규화가 없습니다).

4. model.fit(X_train, y_train)
적합은 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