프로젝트 중단. 이 프로젝트는 더 이상 인텔에서 유지 관리하지 않습니다. 인텔은 유지 관리, 버그 수정, 새 릴리스 또는 업데이트를 포함하되 이에 국한되지 않는 이 프로젝트에 대한 개발 또는 지원을 제공하거나 보장하지 않습니다. 이 프로젝트의 패치는 더 이상 인텔에서 승인되지 않습니다. 이 프로젝트를 지속적으로 사용해야 하거나, 독립적으로 개발하는 데 관심이 있거나, 커뮤니티를 위한 패치를 유지하고 싶다면 프로젝트의 자체 포크를 만드십시오.
네온은 모든 하드웨어에서 최고의 성능을 제공하기 위해 노력하는 인텔의 레퍼런스 딥 러닝 프레임워크입니다. 사용 편의성과 확장성을 고려하여 설계되었습니다.
빠른 반복 및 모델 탐색을 위해 네온은 딥 러닝 라이브러리 중에서 가장 빠른 성능을 제공합니다(cuDNNv4의 2배 속도, 벤치마크 참조).
우리는 Intel Nervana 내부에서 네온을 사용하여 다양한 영역에 걸쳐 고객의 문제를 해결합니다. 우리는 여러 역할에 걸쳐 채용하고 있습니다. 여기에서 신청하세요!
최신 릴리스의 새로운 기능을 확인하세요. 우리는 네온 v2.0.0+가 Intel MKL(Math Kernel Library)을 활성화하여 CPU에서 훨씬 더 나은 성능을 제공하도록 최적화되었음을 강조하고 싶습니다. 네온에서 사용하는 MKL의 DNN(심층 신경망) 구성 요소는 무료로 제공되며 네온 설치 과정에서 자동으로 다운로드됩니다.
Mac OSX 또는 Linux 시스템에서 다음을 입력하여 네온을 다운로드 및 설치하고(conda 사용자는 가이드 참조) 이를 사용하여 첫 번째 다층 퍼셉트론을 훈련시킵니다. python2 또는 python3을 강제로 설치하려면 아래의 make
make python2
또는 make python3
으로 바꾸세요.
git clone https://github.com/NervanaSystems/neon.git
cd neon
make
. .venv/bin/activate
네온 v2.2.0부터 네온의 마스터 브랜치는 다음 릴리스를 위해 진행 중인 작업과 함께 매주 업데이트됩니다. 안정적인 릴리스는 릴리스 태그(예: "git checkout v2.2.0")를 확인하세요. 또는 최신 안정 릴리스를 얻으려면 "최신" 릴리스 태그를 확인하세요(예: "git checkoutlatest")
버전 2.4.0부터 pip 설치를 다시 활성화했습니다. Neon은 패키지 이름 nervananeon을 사용하여 설치할 수 있습니다.
pip install nervananeon
이온을 별도로 설치해야 한다는 점 참고하세요. 최신 릴리스 v2.6.0은 aeon v1.3.0을 사용합니다.
경고
네온 v2.1.0과 v2.2.0 사이에서 aeon 매니페스트 파일 형식이 변경되었습니다. 네온 < v2.2.0에서 업데이트하는 경우 수집 스크립트(예제 폴더에 있음)를 사용하여 매니페스트를 다시 생성하거나 이 스크립트를 사용하여 업데이트해야 합니다.
python examples/mnist_mlp.py
GPU 백엔드는 기본적으로 선택되므로 위 명령은 호환되는 GPU 리소스가 시스템에서 발견된 경우와 동일합니다.
python examples/mnist_mlp.py -b gpu
사용 가능한 GPU가 없는 경우 이제 네온 v2.1.0부터 최적화된 CPU(MKL) 백엔드가 기본적으로 선택됩니다. 이는 이제 위 명령이 다음과 동일함을 의미합니다.
python examples/mnist_mlp.py -b mkl
기본 mkl 백엔드와 최적화되지 않은 CPU 백엔드를 비교하려면 다음 명령을 사용하세요.
python examples/mnist_mlp.py -b cpu
또는 yaml 파일을 사용하여 예제를 실행할 수도 있습니다.
neon examples/mnist_mlp.yaml
yaml 파일에서 특정 백엔드를 선택하려면 backend: mkl
포함된 줄을 추가하거나 수정하여 mkl 백엔드를 활성화하거나 backend: cpu
사용하여 CPU 백엔드를 활성화합니다. GPU를 사용할 수 있는 경우 기본적으로 GPU 백엔드가 선택됩니다.
Intel 수학 커널 라이브러리는 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 그룹에 메시지를 게시하세요.
우리는 오픈 소스 Apache 2.0 라이선스에 따라 네온을 출시하고 있습니다. 귀하의 사용 사례에 대해 문의해 주시기 바랍니다.