شرح تفصيلي – Numpy و Tensor التنقل بين

رأينا في المقالة السابقة كيفية استخدام ال slicing مع tensor. في المقالة هذه حشرح كيف أحول numpy array الى tensor أو العكس. لانك في بعض الاحيان وفي اوقات معينة تحتاج واحد منهم مثلا استخدمت مكتبة ما تدعم الا numpy لتعمل تحليل لصورة مثلا. ففي هذه الحالة نحتاج نحول من tensor الى numpy.
ملاحظة: numpy مثلها مثل ال tensor تدعم التعامل مع المصفوفات ونتعامل معاها بنفس طريقة الtensor عند ال indexing or slicing. لكن الفرق ان tensor مرتبطة بشكل كامل بالمكتبات الخاصة بالشبكات العصبية التي تدعمها Pytorch بالاضافة الى اتاحة استخدام GPU عليها وبالتالي سرعة اكبر. نشوف المصفوفة التالية:
Matrix : صورة رقم ١
هيا عبارة عن مصفوفة matrix حجمها ٢ على ٢. تعال نبني المصفوفة باستخدام الكود التالي:
نفس ما اتعلمنا قبل الى الان ما في شي جديد. قمت ببناء المصفوفة ومن ثم طباعة حجمها وطباعة المصفوفة نفسها.

الان احنا نعرف انه احنا نتعامل مع tensor بحكم استخدامنا للمكتبة. نقدر نتأكد؟

نقدر نعم نشوف الكود التالي ونطبع النوع ونشوف النتيجة:
نلاحظ طبعنا النوع وظهر لي ان نوع المصفوفة التي نتعامل معاه هو tensor.

لو احتجت انه نتعامل مع numpy بدال tensor لاي سبب من الاسباب. كيف نحول ال tensor الى numpy?

نشوف الكود التالي:
في السطر رقم ٢ استدعيت مكتبة numpy. وبعدين في سطر رقم ٥ كتبت اسم المتغير الذي يحتوي المصفوفة والذي نعرف انها tensor مثل ما راينا. وبعدها مجرد نكتب numpy() ونسنده للمتغير الجديد. وبعد ذلك، طبعنا النتيجة. نتاكد؟ نشوف الكود التالي:
نلاحظ انه النتيجة كانت numpy يعني حولنا بنجاح.

كيف نحول الان من numpy الى tensor؟

نشوف الكود التالي:
نلاحظ انه حولنا f_numpy والتي نعرف ان نوعها numpy array. باستخدام الامر torch.from_numpy(نضع الاسم) وبعد ذلك طبعنا المصفوفة وايضا النوع حتى نتأكد. ومثل ما نرى تحولت الى tensor. شاهد الفديو من هنا اذا كنت مهتم بامثلة أكثر مع معرفة الاخطاء الشائعة. لمتابعة الفديو الخاص بالمقالة، الرجاء الضغط هنا

ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا
انتقل الى الدرس التالي
انتقل الى الدرس السابق

Leave a Reply

Your email address will not be published.