Краткое введение
Последние несколько месяцев я развивал себя в области машинного обучения, а недавно погрузился в глубокое обучение. К сожалению, была стена, о которую я больно ударился, так как 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-metaljupyter 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.
Спасибо!