cuDNN للتعلّم العميق
عمليات الالتفاف وموترات البيانات على نطاق واسع
cuDNN للتعلّم العميق درس مجاني في CUDA Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CUDA Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CUDA Academy 4 دروس في المجموع.
المحرّك الكامن وراء أطر الذكاء الاصطناعي
cuDNN مكتبة NVIDIA للتعلّم العميق. وتعتمد عليه PyTorch وTensorFlow لإجراء عمليات الالتفاف السريعة وغيرها من اللبنات الأساسية للشبكات العصبية. 🧠
لماذا تحتاج عمليات الالتفاف إلى المساعدة
تُمرّر عملية الالتفاف مرشحًا صغيرًا فوق صورة، وتنفّذ قدرًا هائلًا من الحسابات. وينفّذها cuDNN أسرع بكثير من نواة بدائية.
ابدأ بإنشاء handle
مثل cuBLAS، يحتفظ cuDNN بحالته في handle تنشئه مرة واحدة وتعيد استخدامه لكل عملية، ثم تتخلص منه عند إيقاف التشغيل.
cudnnHandle_t h;
cudnnCreate(&h);صف بياناتك
يعمل cuDNN من خلال واصفات. ويسجّل واصف الموتر الشكل ونوع البيانات والتخطيط، كي تعرف المكتبة بالضبط ما الذي تعالجه.
cudnnTensorDescriptor_t xDesc;
cudnnCreateTensorDescriptor(&xDesc);تخطيط NCHW
تكون الموترات عادةً وفق تخطيط NCHW: الدفعة، والقنوات، والارتفاع، والعرض. ومن الضروري ضبط هذا التخطيط بشكل صحيح حتى تتوافق الحسابات.
cudnnSetTensor4dDescriptor(xDesc,
CUDNN_TENSOR_NCHW, CUDNN_DATA_FLOAT, N, C, H, W);للمرشحات واصفها الخاص
تستخدم أوزان نواة الالتفاف واصف مرشح منفصلًا يصف قنوات الإخراج وقنوات الإدخال وارتفاع المرشح وعرضه.
cudnnFilterDescriptor_t wDesc;
cudnnCreateFilterDescriptor(&wDesc);إعدادات الالتفاف
يخزّن واصف الالتفاف الحشو والخطوة والتمدد، وهي الإعدادات التي تحدد كيفية تحرك المرشح عبر موتر الإدخال.
اختر خوارزمية
يوفّر cuDNN عدة خوارزميات للالتفاف، لكل منها مفاضلات مختلفة بين السرعة والذاكرة. ويمكنك الاستعلام عن أفضل خوارزمية لأشكال موتراتك.
احجز مساحة عمل
تحتاج الخوارزميات السريعة إلى مساحة مؤقتة. وتخصّص مخزن workspace على الجهاز، ويخبرك cuDNN بحجمه مسبقًا.
size_t bytes;
cudnnGetConvolutionForwardWorkspaceSize(...,&bytes);شغّل المرور الأمامي
يجمع cudnnConvolutionForward كل ذلك: إذ ينتج handle والواصفات والخوارزمية وworkspace خريطة ميزات الإخراج باستدعاء واحد.
cudnnConvolutionForward(h, &alpha, xDesc, x,
wDesc, w, convDesc, algo, ws, bytes, &beta, yDesc, y);أكثر من عمليات الالتفاف
يسرّع cuDNN أيضًا التجميع والتنشيطات والتطبيع، وهي الطبقات الأخرى التي تكوّن شبكة عصبية حديثة.
تحقّق سريع
تذكّر ما الذي صُمّم cuDNN لتسريعه.
مراجعة
أعددت handle، ووصفت الموترات والمرشحات وفق NCHW، واخترت خوارزمية باستخدام workspace، وشغّلت مرور الالتفاف الأمامي. 🎓
الأسئلة الشائعة
هل درس «cuDNN للتعلّم العميق» مجاني؟
نعم — نص درس «cuDNN للتعلّم العميق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CUDA Academy، انتقل إلى CoddyKit PRO. تتضمن دورة CUDA Academy 4 دروس في المجموع.
ماذا ستتعلم في «cuDNN للتعلّم العميق»؟
عمليات الالتفاف وموترات البيانات على نطاق واسع تتمرن على CUDA Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ CUDA Academy؟
لا تُشترط خبرة سابقة. CUDA Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «cuDNN للتعلّم العميق»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس CUDA Academy هذا؟
نعم. كل درس في CUDA Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استخدام cuBLAS GEMM على النحو الصحيح
- متجهات وتحويلات Thrust
- Reduce وScan وSort في Thrust
- cuDNN للتعلّم العميق