Caffe2 - Установка
Теперь, когда вы получили достаточно информации о возможностях Caffe2, пришло время поэкспериментировать с Caffe2 самостоятельно. Чтобы использовать предварительно обученные модели или разрабатывать модели в собственном коде Python, вы должны сначала установить Caffe2 на свой компьютер.
На странице установки сайта Caffe2, доступной по ссылке https://caffe2.ai/docs/getting-started.html вы увидите следующее, чтобы выбрать свою платформу и тип установки.
Как вы можете видеть на скриншоте выше, Caffe2 поддерживает несколько популярных платформ, в том числе и мобильные.
Теперь мы поймем шаги для MacOS installation на котором тестируются все проекты в этом руководстве.
Установка MacOS
Установка может быть четырех типов, как указано ниже -
- Предварительно созданные двоичные файлы
- Сборка из исходного кода
- Образы Docker
- Cloud
В зависимости от ваших предпочтений выберите любой из вышеперечисленных в качестве типа установки. Приведенные здесь инструкции относятся к месту установки Caffe2 дляpre-built binaries. Он использует Anaconda дляJupyter environment. Выполните следующую команду в командной строке консоли
pip install torch_nightly -f
https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
В дополнение к вышесказанному вам понадобится несколько сторонних библиотек, которые устанавливаются с помощью следующих команд:
conda install -c anaconda setuptools
conda install -c conda-forge graphviz
conda install -c conda-forge hypothesis
conda install -c conda-forge ipython
conda install -c conda-forge jupyter
conda install -c conda-forge matplotlib
conda install -c anaconda notebook
conda install -c anaconda pydot
conda install -c conda-forge python-nvd3
conda install -c anaconda pyyaml
conda install -c anaconda requests
conda install -c anaconda scikit-image
conda install -c anaconda scipy
Для некоторых руководств на веб-сайте Caffe2 также требуется установка zeromq, который устанавливается с помощью следующей команды -
conda install -c anaconda zeromq
Установка Windows / Linux
Выполните следующую команду в командной строке консоли -
conda install -c pytorch pytorch-nightly-cpu
Как вы, должно быть, заметили, для использования вышеуказанной установки вам понадобится Anaconda. Вам нужно будет установить дополнительные пакеты, как указано вMacOS installation.
Тестовая установка
Для проверки вашей установки ниже приведен небольшой скрипт Python, который вы можете вырезать и вставить в свой проект Juypter и выполнить.
from caffe2.python import workspace
import numpy as np
print ("Creating random data")
data = np.random.rand(3, 2)
print(data)
print ("Adding data to workspace ...")
workspace.FeedBlob("mydata", data)
print ("Retrieving data from workspace")
mydata = workspace.FetchBlob("mydata")
print(mydata)
Когда вы выполните приведенный выше код, вы должны увидеть следующий результат -
Creating random data
[[0.06152718 0.86448082]
[0.36409966 0.52786113]
[0.65780886 0.67101053]]
Adding data to workspace ...
Retrieving data from workspace
[[0.06152718 0.86448082]
[0.36409966 0.52786113]
[0.65780886 0.67101053]]
Снимок экрана с тестовой страницей установки показан здесь для вашего быстрого ознакомления -
Теперь, когда вы установили Caffe2 на свой компьютер, приступайте к установке обучающих приложений.
Учебник по установке
Загрузите исходный код учебников, используя следующую команду на вашей консоли -
git clone --recursive https://github.com/caffe2/tutorials caffe2_tutorials
После завершения загрузки вы найдете несколько проектов Python в папке caffe2_tutorialsпапку в каталоге установки. Скриншот этой папки предоставлен для быстрого ознакомления.
/Users/yourusername/caffe2_tutorials
Вы можете открыть некоторые из этих руководств, чтобы узнать, что Caffe2 codeпохоже. Следующие два проекта, описанные в этом руководстве, в значительной степени основаны на примерах, показанных выше.
Пришло время заняться написанием кода на Python самостоятельно. Давайте разберемся, как пользоваться предварительно обученной моделью из Caffe2. Позже вы научитесь создавать свою собственную тривиальную нейронную сеть для обучения на собственном наборе данных.