ПРЕКРАЩЕНИЕ ПРОЕКТА. Intel больше не будет поддерживать этот проект. Корпорация Intel не будет обеспечивать и гарантировать разработку или поддержку этого проекта, включая, помимо прочего, техническое обслуживание, исправление ошибок, новые выпуски или обновления. Исправления для этого проекта больше не принимаются Intel. Если у вас есть постоянная необходимость использовать этот проект, вы заинтересованы в его независимой разработке или хотите поддерживать исправления для сообщества, создайте свою собственную вилку проекта.
neon — это эталонная платформа глубокого обучения Intel, обеспечивающая максимальную производительность на любом оборудовании. Создан для простоты использования и расширяемости.
Для быстрой итерации и исследования модели neon имеет самую высокую производительность среди библиотек глубокого обучения (в 2 раза быстрее, чем cuDNNv4, см. тесты).
Мы используем неон внутри компании Intel Nervana для решения проблем наших клиентов во многих областях. Мы набираем сотрудников на несколько должностей. Подайте заявку здесь!
Ознакомьтесь с новыми функциями в нашей последней версии. Мы хотим подчеркнуть, что neon v2.0.0+ был оптимизирован для значительного повышения производительности процессоров за счет включения библиотеки Intel Math Kernel Library (MKL). Компонент DNN (глубокие нейронные сети) MKL, используемый neon, предоставляется бесплатно и загружается автоматически как часть установки neon.
На компьютере Mac OSX или Linux введите следующую команду, чтобы загрузить и установить neon (пользователи conda см. руководство) и использовать его для обучения своего первого многослойного перцептрона. Чтобы принудительно установить python2 или python3, замените make
ниже на make python2
или make python3
.
git clone https://github.com/NervanaSystems/neon.git
cd neon
make
. .venv/bin/activate
Начиная с версии neon v2.2.0, основная ветка neon будет обновляться еженедельно, и работа над выходом следующего выпуска продолжается. Проверьте тег выпуска (например, «git checkout v2.2.0») для стабильной версии. Или просто проверьте тег выпуска «последний», чтобы получить последнюю стабильную версию (например, «git checkout последняя версия»).
Начиная с версии 2.4.0 мы снова включили установку pip. Neon можно установить, используя имя пакета nervananeon.
pip install nervananeon
Отмечается, что aeon нужно устанавливать отдельно. В последней версии v2.6.0 используется aeon v1.3.0.
Предупреждение
Между neon v2.1.0 и v2.2.0 формат файла манифеста aeon был изменен. При обновлении с версии neon < v2.2.0 манифесты необходимо воссоздать с помощью сценариев загрузки (в папке примеров) или обновить с помощью этого сценария.
python examples/mnist_mlp.py
Серверная часть графического процессора выбрана по умолчанию, поэтому приведенная выше команда эквивалентна тому, если в системе обнаружен совместимый ресурс графического процессора:
python examples/mnist_mlp.py -b gpu
Когда графический процессор недоступен, оптимизированный процессор (MKL) теперь выбирается по умолчанию, начиная с neon v2.1.0, что означает, что приведенная выше команда теперь эквивалентна:
python examples/mnist_mlp.py -b mkl
Если вы хотите сравнить серверную часть mkl по умолчанию с неоптимизированной серверной частью ЦП, используйте следующую команду:
python examples/mnist_mlp.py -b cpu
В качестве альтернативы можно использовать файл yaml и запустить пример.
neon examples/mnist_mlp.yaml
Чтобы выбрать конкретную серверную часть в файле yaml, добавьте или измените строку, содержащую backend: mkl
, чтобы включить серверную часть mkl, или backend: cpu
чтобы включить серверную часть процессора. Серверная часть графического процессора выбирается по умолчанию, если графический процессор доступен.
Библиотека ядра Intel Math использует преимущества возможностей распараллеливания и векторизации систем Intel Xeon и Xeon Phi. Если в системе включена гиперпоточность, мы рекомендуем использовать следующий параметр KMP_AFFINITY, чтобы гарантировать, что параллельные потоки сопоставляются 1:1 с доступными физическими ядрами.
export OMP_NUM_THREADS= < Number of Physical Cores >
export KMP_AFFINITY=compact,1,0,granularity=fine
или
export OMP_NUM_THREADS= < Number of Physical Cores >
export KMP_AFFINITY=verbose,granularity=fine,proclist=[0- < Number of Physical Cores > ],explicit
Дополнительную информацию о KMP_AFFINITY можно найти здесь. Мы рекомендуем пользователям попробовать и установить свои собственные наилучшие настройки производительности.
Полную документацию по неону можно найти здесь. Некоторые полезные отправные точки:
Если у вас есть какие-либо ошибки или пожелания, пожалуйста:
По другим вопросам и обсуждениям отправьте сообщение в группу неоновых пользователей Google.
Мы выпускаем neon под лицензией Apache 2.0 с открытым исходным кодом. Мы приветствуем вас, чтобы связаться с нами и рассказать о своих вариантах использования.