Краткое введение

Последние несколько месяцев я развивал себя в области машинного обучения, а недавно погрузился в глубокое обучение. К сожалению, была стена, о которую я больно ударился, так как Tensorflow изначально не поддерживает чипсет M1.

Итак, я провел десятки часов, пробуя множество различных руководств о том, как исправить то, что сделало мою ОС грязной и проблематичной в управлении (я смотрю на вас, Анаконда). А потом я узнал о pyenv и еще через несколько часов — все стало полностью управляемым, чистым, легко переустанавливаемым и работающим. Почти как NPM для javascript-проектов 🙂

В следующем решении я предположил, что вы используете MacOS Monterey v12.4 с чипсетом M1, а также что у вас установлен Homebrew.

Как

Давайте создадим новую папку, например: tensorflow-test и в этой папке создадим скрипт install.sh со следующим содержимым:

brew install pyenv
pyenv install 3.9.13
pyenv global 3.9.13
pip install virtualenv
virtualenv env
source env/bin/activate
ipython kernel install --name "env" --user
pip install tensorflow-macos tensorflow-metal jupyter pandas matplotlib seaborn sklearn plotly babyplots xgboost

Теперь запустите скрипт с помощью следующей команды:

chmod +rx ./install.sh
./install.sh

Это может занять некоторое время, в зависимости от скорости вашего интернета. Результат для меня выглядит так (может немного отличаться от вашего, так как у меня уже установлены некоторые инструменты):

Теперь, если вы не видите (env) слева от своего логина, вам нужно повторить это:

source env/bin/activate

Теперь вы можете проверить, все ли работает:

which python

Как видите, ваша установка python лежит в папке tensorflow-test/env, что очень ожидаемо 🙂

Теперь давайте быстро проверим, действительно ли работает tensorflow:

python -c "import tensorflow as tf;tf.test.gpu_device_name();tf.config.list_physical_devices('GPU')"

Проблем с импортом tensorflow нет, и в ответ вы должны получить что-то похожее на то, что выше — строка, отмеченная красным, означает, что tensorflow-metal смог распознать GPU вашего Macbook.

Краткое содержание

Вот и все! Быстро и грязно 🙂 Таким образом, вы можете иметь разные среды Python с разными библиотеками, настроенными для разных проектов, и вы также можете использовать графический процессор Macbook. Красиво 🙂

Вот и все! Быстро и грязно 🙂 Таким образом, вы можете иметь разные среды Python с разными библиотеками, настроенными для разных проектов. Красиво 🙂

Если у вас есть какие-либо вопросы, мнения или вы видите ошибку — сообщите об этом в комментариях ниже.

Если у меня будет больше времени, я добавлю несколько слов об использовании Tensorflow в блокноте Jupyter.

Спасибо!