КОДЕКС

Установка Tensorflow на Mac M1

Создание рабочих сред для проектов в области науки о данных

Как только я начал свой путь в науку о данных, я сразу же пожалел о решении, которое я принял в молодости, о покупке Macbook Pro. Я выбрал хранилище вместо памяти или скорость обработки, и это показало.

На создание ансамблей уходило больше времени, временные ряды ежедневных наблюдений ломали мои ядра, и я даже не мог рассматривать глубокое обучение как жизнеспособный вариант. Поэтому, когда Apple представила свой чип M1, который якобы был отличным местом для науки о данных, я перепрыгнул через него. Я отработал его по максимуму (что было несложно, учитывая, что это была ранняя модель) и подготовился к серьезным проектам машинного обучения. Однако этого не произошло.

Я не понимал значения нового кремниевого чипа Apple. Особенно его несовместимость с TensorFlow. Изначально я установил Anaconda обычным способом и занялся своими делами. Не понимая, что при этом устанавливается версия Intel, которая не будет хорошо работать с моим новым дорогим процессором.

Обычный Tensorflow плохо работает с новым чипом Apple, поэтому вам нужно установить его собственную версию. Но их версия плохо работает с версией Python x86_64 (вместо нее используется arm64), и тогда для работы потребуется собственная среда. Итак, эта статья о процессе, который я запустил (за вычетом того безумного поиска, который я провел), чтобы заставить работать не только Tensorflow, но и работоспособную версию Python для моего компьютера.

Первое, что вам нужно знать, это то, что Анаконда не станет вашим другом. У них еще нет сборки, совместимой с M1, и поэтому их следует избегать. Я пройду через процесс настройки с самого начала.

1. Проверка вашего Python

В этом руководстве предполагается, что у вас не установлена ​​другая версия Python, кроме версии 2.7, которая поставляется с компьютером. Вы можете проверить это, перейдя в Терминал и введя:

python

Если он сообщает вам, что версия ~ = 2.7, мы переходим к следующему шагу. Ввод:

python3

Если вы получаете что-либо, кроме терминала с просьбой загрузить функцию Xcode, значит, у вас уже установлен Python 3. Вам нужно будет удалить эту версию, чтобы иметь возможность изменить путь для нашей установки Miniforge3.

2. Установка Miniforge3

Установить Miniforge3 на самом деле довольно просто. Перейдите по этой ссылке". Но для того, чтобы кратко изложить инструкции, я объясню самостоятельно.

Нажав на ссылку, найдите коллекцию параметров Miniforge3, в которой вы найдете архитектуру arm64. Эта архитектура используется в новом чипе и оптимизирована для использования процессора.

Загрузите эту оболочку и поместите ее в папку с четкой пометкой, чтобы вы могли ее вызвать. Затем мы переходим в наше окно Терминала.

Используя команды Терминала, перейдите к месту, где находится только что загруженный сценарий оболочки, и введите:

bash Miniforge3-MacOSX-arm64.sh

Завершите процесс установки - для этого нужно просто нажать Enter и ввести «да», чтобы согласиться на установку. Это должен быть довольно быстрый процесс.

Чтобы убедиться, что установка прошла успешно, мы проводим серию тестов.

Сначала войдите в Терминал:

file $(which python)

И возврат должен быть путем, ведущим к ~ / miniforge3. И должен сказать: «Mach-O 64-битный исполняемый файл arm64». Если это не так, вы установили неправильную форму Miniforge3.

Во-вторых, в Терминале:

which pip

И путь также должен вести обратно к ~ / miniforge3.

Затем нужно убедиться, что Miniforge3 - это путь, который с этого момента используют все среды.

~/miniforge3/condabin/conda

А также

~/miniforge3/condabin/conda init

Наш последний шаг - убедиться, что мы используем предпочтительный канал с conda. Ввод следующего в Терминале означает, что мы используем пакеты из
conda-forge, которые были протестированы для нашей архитектуры.

conda config --add channels conda-forge
conda config --set channel_priority strict

Если у вас не возникло никаких проблем, значит, вы успешно установили Miniforge3 и можете запускать Python3.

Примечание. Это версия Python 3.9, но мы можем создать среду с версией 3.8 позже.

3. Установка пакетов

Первое, что я сделал на этом этапе, - это настроил то, что будет включать моя обычная среда Python. Эти пакеты, которые я нашел, работают для архитектуры arm64.

  • JupyterLab
  • Панды
  • Статистические модели
  • Scipy
  • Scikit-Learn
  • Матплотлиб
  • Сиборн
  • Numpy
  • Pytorch

С помощью простой conda install Package_Name я смог загрузить все это. Их установка вручную гарантирует, что вы сможете проверить, какая версия вызывается первой. Прежде чем нажимать «да» для любой из установок, убедитесь, что в типе указано arm64 или noarch. Если это так, продолжайте установку.

4. Создание окружения и установка Tensorflow

Наконец, мы готовы сделать то, что вы хотели сделать в этой статье.

Нам нужно создать среду и установить Tensorflow (и его необходимые пакеты) для использования.

У нас есть удобный скрипт для создания среды, любезно предоставленный mwidjaja1 на Github. Я добавил такие пакеты, как Jupyter Lab, Pandas, Scikit-Learn, Matplotlib, Seaborn и другие. Вы можете найти файл здесь.

Вы можете скопировать и вставить содержимое в TextEdit, просто убедившись, что расширение - .yml, а не .txt. Это важный момент. Я добавил Jupyterlab в конец текста, потому что мне нравится хороший блокнот Jupyter.

Используйте Терминал, чтобы найти путь к только что созданному файлу и скопировать его. Далее мы собираемся использовать его для создания нашей новой среды.

conda env create --file=COPIED_PATH_TO_THE.YML_FILE --name=YOUR_ENVIRONMENT_NAME

Мы создали среду Python и можем углубиться в нее, введя:

conda activate YOUR_ENVIRONMENT_NAME

В этой среде есть все пакеты, которые мы установили из файла .yml. Последнее, что нужно сделать, это установить Tensorflow и зависимые от него пакеты.

pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl

Пока вы находитесь в среде, вы можете скопировать и вставить всю эту строку кода терминала и нажать Enter.

Как только все будет сделано, вы можете (находясь в виртуальной среде) открыть Python и попытаться импортировать TensorFlow. Если вы не получили сообщение об ошибке, все готово.

Вы можете выйти из Python, а затем выйти из виртуальной среды, введя:

conda deactivate

ТА-ДА! Теперь вы можете использовать расширенные возможности Tensorflow на своем высокофункциональном компьютере.

Если вы хотите больше поговорить о нашем волнении по поводу новых компьютеров Mac или науки о данных в целом, свяжитесь со мной в LinkedIn. Мне нравится больше слышать о пути человека к программированию, потому что это вдохновляет меня на дальнейший рост.

Вы можете посмотреть мои проекты на Github и сообщить мне, что вас интересует.

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

Ознакомьтесь с этими статьями для получения дополнительной информации о новой архитектуре чипа: