خطوات الاستخدام
الخطوة 1: إدخال أبعاد خريطة الميزات الناتجة (h و w). هذه الأبعاد تمثل الارتفاع والعرض بالبكسل لخريطة الميزات بعد تطبيق الطبقة الالتفافية. تعتمد هذه الأبعاد على حجم الإدخال، حجم النواة، حشو (padding)، وخطوة (stride). على سبيل المثال، إذا كان الإدخال بحجم 32×32 ونواة 3×3 مع حشو صفري وخطوة 1، فإن الإخراج سيكون 30×30. حساب FLOPs يعتمد بشكل أساسي على حجم الإخراج، لأن كل موقع مكاني في الإخراج يتطلب عددًا من العمليات يساوي عدد قنوات الإدخال مضروبًا في حجم النواة. لذلك يجب تحديد h و w بدقة بناءً على معمارية الشبكة.
الخطوة 2: إدخال عدد قنوات الإدخال (cIn) وعدد قنوات الإخراج (cOut). cIn هو عدد القنوات في خريطة الميزات الداخلة (مثل 3 للصور الملونة أو 64 لطبقة متوسطة). cOut هو عدد المرشحات (الفلاتر) المطبقة، ويحدد عمق خريطة الميزات الناتجة. كل مرشح ينتج قناة واحدة في الإخراج. عدد العمليات يتناسب طرديًا مع كلا العددين، لأن كل مرشح يقوم بعملية التفاف مع جميع قنوات الإدخال لإنتاج قناة واحدة في الإخراج.
الخطوة 3: إدخال حجم النواة (kernel). تمثل النواة مرشحًا مربعًا (مثل 3×3 أو 5×5). مساحة النواة (kernel^2) تحدد عدد العناصر التي يتم ضربها وجمعها لكل موقع مكاني. يتم تطبيق النواة عبر جميع قنوات الإدخال، لذا يكون عدد عمليات الضرب لكل موقع مكاني هو cIn * kernel^2، ثم يتم جمع النتائج (عمليات الجمع). مقدار FLOPs يساوي 2 * h * w * cIn * cOut * kernel^2، حيث 2 تمثل عملية ضرب واحدة وعملية جمع واحدة (Fused Multiply-Add). هذه الصيغة تفترض أن كل التفاف يستخدم نواة مربعة وبدون تحيز (bias) إضافي، حيث أن التحيز يضيف عملية جمع واحدة لكل خرج، وهو غالبًا ما يُهمل في حسابات FLOPs.