Как запустить библиотеку sklearn с собственным тензорным потоком на mac m1

#python #tensorflow #scikit-learn #python-3.8 #apple-m1

Вопрос:

Я установил TensorFlow, используя виртуальную среду под управлением python 3.8, как описано Apple. Теоретически это должно выполняться изначально и использовать графический процессор. Я попытался установить TensorFlow с помощью miniforge в прошлый раз, и он не смог использовать графический процессор, так как miniforge использует python 3.9, а Tensorflow для m1 mac в настоящее время требует python 3.8.

На веб-сайте sklearns в настоящее время единственный способ установить библиотеки sklearn-это использовать conda install sklearn их через miniforge.

Есть ли способ установить sklearn в среде tensorflow, созданной с использованием

 python3 -m venv TFGPU
 

Я уже пробовал пип. Мне удалось установить большинство других библиотек, кроме sklearn, которые я использую для предварительной обработки.

Ответ №1:

Привет и добро пожаловать в SO 🙂

Я пользователь pip/virtualvenv, поэтому мне пришлось исправить свой venv для работы с моим mac M1 с помощью conda/miniforge, не переключаясь на venv от conda. Итак, я считаю, что это должно сработать и для вас:

 # if not yet installed
xcode-select --install                                      

git clone git://github.com/scikit-learn/scikit-learn.git                                                                        
cd scikit-learn                                             

# mac / mac m1 specific
brew install libomp                                         
brew install miniforge                                      
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh                                                                                                                                                                      
bash Miniforge3-MacOSX-arm64.sh                             

conda init bash
conda create -n conda-sklearn-dev -c conda-forge python numpy scipy cython joblib threadpoolctl pytest compilers llvm-openmp                                                                                                                                           
conda activate conda-sklearn-dev                                                                         

pip install cython                                     
pip install --verbose --no-build-isolation --editable .
 

Сейчас:

  1. Протестируйте его на conda venv. Вы должны получить версию 0.24.2 (на момент написания)
  2. Деактивировать все conda venv-s
  3. Активируйте свой обычный венв и проверьте еще раз. вы должны получить версию .dev0
  4. В случае, если sklearn отсутствует — сделайте для него простую установку pip — он должен использовать скомпилированный

Комментарии:

1. Это не совсем сработало для меня. Pip по-прежнему не запускался и не загружал скомпилированный, а вместо этого искал тот, который не работает.