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배 빠른 것입니다.
Reference
이 문제에 관하여(Apple M1에 Scikit-Learn 설치하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jimbobbennett/installing-scikit-learn-on-an-apple-m1-114d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)