Apple M1에 Scikit-Learn 설치하기



작년 말에 저는 기업용 바이러스 백신 소프트웨어에 의해 정직하게 불구가 된 오래된 Intel 기반 MacBookPro에 싫증이 나면서 M1 프로세서가 장착된 반짝이는 새 Apple MacBookAir를 구입했습니다.

즉시 사용할 수 있는 이 기계는 놀랍습니다. 엄청나게 빠르며 배터리로 영원히 지속됩니다. 진지하게 - 저는 2일마다 비용을 청구하고 하루 종일 코딩, 쓰기, 이메일, 팀 등을 관리합니다. 나는 또한 그것이 빠르다고 언급 했습니까? 나는 모든 것을 실행할 수 있으며 8GB의 RAM만으로도 땀을 흘리지 않습니다.

단점은 모든 소프트웨어가 새로운 ARM-64 아키텍처에서 작동하지 않는다는 것입니다. Apple에는 Rosetta 2(Rosetta 1은 PowerPC에서 Intel로의 번역이었습니다)라는 번역 계층이 있으며 이것은 대부분의 일상적인 앱에서 훌륭하게 작동하지만 개발 도구 및 라이브러리에서는 항상 작동하지 않습니다. 번역된 것과 번역되지 않은 것들은 그냥 분해됩니다.

지원되지 않는 사용이 필요한 라이브러리 중 하나는 Scikit-Learn입니다. 이제 저는 Python 전문가가 아니며 Scikit-Learn이 무엇을 하는지 잘 이해하지 못합니다. 일부 TinyML 모델을 recognise wake words on an Arduino Nano 33 sense board으로 교육하는 데 Scikit-Learn이 필요하다는 것만 알고 있습니다. 정상pip install scikit-learn을 시도하면 M1에 Python 3.9를 사용하고 Rosetta에서 Python 3.8을 사용하여 전체 오류가 발생합니다.

그래서 뭘 할건데?

해결책은 Miniconda와 유사하지만 다양한 CPU 아키텍처를 지원하는 Conda 버전인 Miniforge을 사용하는 것입니다. 뭘 의미하든. 내가 말했듯이, 나는 Python 전문가는 아니지만 이 도구를 사용하면 본질적으로 가상 환경을 만들고 M1 칩용으로 컴파일하는 패키지를 설치할 수 있습니다! 지원하지 않는 패키지는 pip에서 설치할 수 있습니다.

이 모든 것을 어떻게 설치합니까?

먼저 Miniforge를 설치해야 합니다. 설치 스크립트는 GitHub 페이지에 있거나 this link 을 클릭하여 다운로드할 수 있습니다. 그것은 내가 원하지 않는 모든 터미널에서 활성화하기를 원했기 때문에 다음을 실행하여 비활성화했습니다.

conda config --set auto_activate_base false


다음으로 Python 코드가 포함된 폴더로 이동하여 가상 환경을 만들었습니다.

conda create -n .venv python


이것은 다른 도구를 사용하여 Python으로 가상 환경을 만드는 것과 거의 같습니다. Python과 마찬가지로 가상 환경을 활성화해야 합니다.

conda activate .venv


마지막으로 Scikit-Learn을 설치할 수 있습니다.

conda install scikit-learn


완료! 내가 작업하고 있는 특정 작업의 경우 Miniforge에서 사용할 수 없는 패키지가 필요했기 때문에 pip로 설치했습니다.

pip install micromlgen


완료! 그런 다음 Python 스크립트를 정상적으로 실행할 수 있었고 모두 잘 작동했습니다. 그리고 빠르게 - 내 M1은 문제의 스크립트를 2초 만에 실행했는데, 이는 내 Surface Book이 걸린 10초보다 5배 빠른 것입니다.

좋은 웹페이지 즐겨찾기