首页 > 解决方案 > 如何在 m1 mac 上使用本机 tensorflow 运行 sklearn 库

问题描述

我已经使用 Apple 描述的运行 python 3.8 的虚拟环境安装了 TensorFlow。理论上这应该在本地运行并利用 GPU。我上次尝试使用 miniforge 安装 TensorFlow,但它无法使用 GPU,因为 miniforge 使用 python 3.9,而用于 m1 mac 的 Tensorflow 目前需要 python 3.8。

在 sklearns 网站上,目前安装 sklearn 库的唯一方法conda install sklearn是通过 miniforge 使用 which。

有没有办法在使用创建的 tensorflow 环境中安装 sklearn

python3 -m venv TFGPU

我已经尝试过点子。除了用于预处理的 sklearn 之外,我还能够安装大多数其他库。

标签: pythontensorflowscikit-learnpython-3.8apple-m1

解决方案


嗨,欢迎来到 SO :)

我是 pip/virtualvenv 用户,所以我必须修复我的 venv 以使用 conda/miniforge 与我的 M1 mac 一起工作,而无需切换到 conda 的 venv。所以,我相信这也应该对你有用:

# 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. 激活您的常规 venv 并再次测试。你应该得到版本 .dev0
  4. 如果 sklearn 丢失 - 为它做一个简单的 pip 安装 - 它应该 greb 编译的

推荐阅读