การยุติโครงการ โครงการนี้จะไม่ได้รับการดูแลโดย Intel อีกต่อไป Intel จะไม่ให้หรือรับประกันการพัฒนาหรือการสนับสนุนสำหรับโครงการนี้ รวมถึงแต่ไม่จำกัดเพียง การบำรุงรักษา การแก้ไขข้อบกพร่อง การเผยแพร่ใหม่หรือการอัพเดต Intel ไม่ยอมรับแพตช์สำหรับโปรเจ็กต์นี้อีกต่อไป หากคุณมีความต้องการใช้โปรเจ็กต์นี้อย่างต่อเนื่อง สนใจที่จะพัฒนาอย่างอิสระ หรือต้องการรักษาแพตช์สำหรับชุมชน โปรดสร้าง Fork ของโปรเจ็กต์ของคุณเอง
Neon เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกอ้างอิงของ Intel ที่มุ่งมั่นที่จะประสิทธิภาพที่ดีที่สุดบนฮาร์ดแวร์ทั้งหมด ออกแบบมาเพื่อให้ง่ายต่อการใช้งานและเพิ่มขีดความสามารถ
สำหรับการวนซ้ำและการสำรวจโมเดลอย่างรวดเร็ว Neon มีประสิทธิภาพที่เร็วที่สุดในบรรดาไลบรารีการเรียนรู้เชิงลึก (ความเร็ว 2 เท่าของ cuDNNv4 ดูการวัดประสิทธิภาพ)
เราใช้นีออนเป็นการภายในที่ Intel Nervana เพื่อแก้ไขปัญหาของลูกค้าในหลายโดเมน เรากำลังรับสมัครงานหลายตำแหน่ง สมัครที่นี่!
ดูคุณสมบัติใหม่ในรุ่นล่าสุดของเรา เราต้องการเน้นย้ำว่านีออน v2.0.0+ ได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพที่ดีขึ้นมากบน CPU โดยเปิดใช้งาน Intel Math Kernel Library (MKL) ส่วนประกอบ DNN (Deep Neural Networks) ของ MKL ที่ใช้โดยนีออนนั้นให้บริการฟรีและดาวน์โหลดโดยอัตโนมัติโดยเป็นส่วนหนึ่งของการติดตั้งนีออน
บนเครื่อง Mac OSX หรือ Linux ให้ป้อนข้อมูลต่อไปนี้เพื่อดาวน์โหลดและติดตั้ง Neon (ผู้ใช้ conda ดูคำแนะนำ) และใช้เพื่อฝึก Perceptron แบบหลายเลเยอร์ตัวแรกของคุณ หากต้องการบังคับให้ติดตั้ง python2 หรือ python3 ให้แทนที่ make
below ด้วย make python2
หรือ make python3
git clone https://github.com/NervanaSystems/neon.git
cd neon
make
. .venv/bin/activate
เริ่มหลังจากนีออนเวอร์ชัน 2.2.0 สาขาหลักของนีออนจะได้รับการอัปเดตทุกสัปดาห์โดยจะมีความคืบหน้าในการเปิดตัวครั้งถัดไป ตรวจสอบแท็กการเปิดตัว (เช่น "git checkout v2.2.0") เพื่อการเผยแพร่ที่เสถียร หรือเพียงตรวจสอบแท็กรีลีส "ล่าสุด" เพื่อรับรีลีสที่เสถียรล่าสุด (เช่น "git checkout latest")
จากเวอร์ชัน 2.4.0 เราได้เปิดใช้งานการติดตั้ง pip อีกครั้ง สามารถติดตั้ง Neon ได้โดยใช้ชื่อแพ็คเกจ nervananeon
pip install nervananeon
มีข้อสังเกตว่าจำเป็นต้องติดตั้งอิออนแยกต่างหาก รุ่นล่าสุด v2.6.0 ใช้ aeon v1.3.0
คำเตือน
ระหว่างนีออนเวอร์ชัน 2.1.0 และเวอร์ชัน 2.2.0 รูปแบบไฟล์รายการ Aeon มีการเปลี่ยนแปลง เมื่ออัปเดตจากนีออน < v2.2.0 รายการจะต้องถูกสร้างขึ้นใหม่โดยใช้สคริปต์นำเข้า (ในโฟลเดอร์ตัวอย่าง) หรืออัปเดตโดยใช้สคริปต์นี้
python examples/mnist_mlp.py
แบ็กเอนด์ GPU จะถูกเลือกตามค่าเริ่มต้น ดังนั้นคำสั่งข้างต้นจึงเทียบเท่ากับหากพบทรัพยากร GPU ที่เข้ากันได้ในระบบ:
python examples/mnist_mlp.py -b gpu
เมื่อไม่มี GPU แบ็กเอนด์ CPU ที่ปรับให้เหมาะสม (MKL) จะถูกเลือกตามค่าเริ่มต้นตั้งแต่นีออน v2.1.0 ซึ่งหมายความว่าคำสั่งข้างต้นเทียบเท่ากับ:
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 Math Kernel Library ใช้ประโยชน์จากความสามารถแบบขนานและเวกเตอร์ของระบบ 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 เรายินดีต้อนรับคุณที่จะติดต่อเราเพื่อแจ้งกรณีการใช้งานของคุณ