اذهب إلى المحتوى
  • 0

التحويل من التنسيق NHWC إلى NCHW في تنسرفلو Tensorflow

عامر ابراهيم

السؤال

Recommended Posts

  • 1

أولاً لنشرح الرموز: N هو عدد الصور ضمن الحزمة (batch). H هو ارتفاع كل صورة. W: عرضها. C عدد القنوات اللونية للصورة. 
للتحويل من (N, H, W, C) NHWC ل (N, C, H, W) NCHW:
يجب عليك التبديل بين الأبعاد وهنا سنستخدم الدالة tf.transpose  مع استخدام الوسيطة perm للقيام بعملية التبديل:

perm[0] = 0

أي أن البعد الأول من الخرج (البعد الأول للصورة الجديدة) سيكون نفسه في الصورة القديمة.

perm[1] = 3

أي أن البعد الأول من الخرج سيكون نفسه البعد الرابع من الصورة القديمة. ونفس الأمر لبقية الأبعاد:

perm[2] = 1
perm[3] = 2 

الآن مثال لتوضيخ الفكرة حيث قمنا بتعريف حزمة من الصور ثم حولنا تنسيقها:

import tensorflow as tf
nhwc = tf.placeholder(tf.float32, [None, 50, 150, 3])  # حزمة الإدخال
nchw = tf.transpose(nhwc, perm =[0, 3, 1, 2])
print(nchw.get_shape())  # the shape of out is [None, 3, 50, 150] الخرج

الآن للتحويل العكسي أي من NCHW ل NHWC نستخدم نفس الفكرة السابقة. مثال:

nchw = tf.placeholder(tf.float32, [None, 3, 50, 150])
nhwc = tf.transpose(images_nchw, [0, 2, 3, 1])
print(nhwc.get_shape())  # the shape of out is [None, 50, 150, 3]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

بالاضافة للطريقة التي أوضحها علي، فيمكنك أن تقوم بالتحويل ببساطة بالكود التالي:

from keras import backend
backend.set_image_data_format('channels_last') 

أو كذلك يمكنك استخدام الكود التالي للتحويل الي  NHWC أو NCHW:

out_nchw = conv2d(image_nchw, filters, 'NCHW')
out_nhwc = conv2d(image_nhwc, perm(filters), 'NHWC')

assert np.allclose(out_nhwc == np.transpose(out_nchw, (0,2,3,1)))

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...