#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 .
Сейчас:
- Протестируйте его на conda venv. Вы должны получить версию 0.24.2 (на момент написания)
- Деактивировать все conda venv-s
- Активируйте свой обычный венв и проверьте еще раз. вы должны получить версию .dev0
- В случае, если sklearn отсутствует — сделайте для него простую установку pip — он должен использовать скомпилированный
Комментарии:
1. Это не совсем сработало для меня. Pip по-прежнему не запускался и не загружал скомпилированный, а вместо этого искал тот, который не работает.