Deep Learning Academy · درس

تتخاطب Tensors مع NumPy

حوّل بين Tensors الخاصة بـ torch ومصفوفات NumPy

الدرس 4 من 413 خطوة

تتخاطب Tensors مع NumPy درس مجاني في Deep Learning Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Deep Learning Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Two Worlds, One Bridge

Lots of data starts life as a NumPy array. PyTorch makes it easy to move between arrays and tensors in both directions.

NumPy Arrays Are Like Tensors

A NumPy array also stores numbers in a shape, just without GPU support or autograd. Tensors add those superpowers.

import numpy as np
a = np.array([1, 2, 3])
print(a.shape)  # (3,)

From NumPy with from_numpy

Turn an array into a tensor with torch.from_numpy. It is the standard entry point for existing NumPy data.

a = np.array([1, 2, 3])
t = torch.from_numpy(a)
print(t)  # tensor([1, 2, 3])

Back to NumPy with .numpy

Going the other way, call .numpy on a tensor. Great for plotting or handing data to other libraries.

t = torch.tensor([1, 2, 3])
a = t.numpy()
print(type(a))  # numpy.ndarray

They Share the Same Memory

By default the array and tensor share one block of memory. Changing one quietly changes the other.

a = np.array([1, 2, 3])
t = torch.from_numpy(a)
a[0] = 99
print(t[0])  # tensor(99)

Copy to Break the Link

Want independent data? Call .clone on the tensor so edits stay separate from the original array.

a = np.array([1, 2, 3])
t = torch.from_numpy(a).clone()
a[0] = 99
print(t[0])  # tensor(1)

Dtypes Carry Across

The dtype follows the data over the bridge. A float64 array becomes a float64 tensor unless you cast it.

a = np.array([1.0, 2.0])
t = torch.from_numpy(a)
print(t.dtype)  # torch.float64

Watch the Float64 Trap

NumPy defaults to float64, but models want float32. Cast after conversion to avoid mismatched dtype errors.

a = np.array([1.0, 2.0])
t = torch.from_numpy(a).float()
print(t.dtype)  # torch.float32

GPU Tensors Need a Trip Home

You can't call .numpy on a GPU tensor directly. Move it back with .cpu() first, then convert.

t = torch.tensor([1, 2, 3])
a = t.cpu().numpy()
print(a)  # [1 2 3]

Detach Before Converting Grads

If a tensor tracks gradients, call .detach before .numpy so you grab the values without the autograd graph.

t = torch.tensor([1.0], requires_grad=True)
a = t.detach().numpy()
print(a)  # [1.]

A Clean Conversion Recipe

The safe pattern for any tensor is detach then cpu then numpy. It works whether or not grads or GPUs are involved.

t = torch.tensor([1.0, 2.0])
a = t.detach().cpu().numpy()
print(a)  # [1. 2.]

Quick Check

One question about the array and tensor connection.

Recap: Tensors Talk to NumPy

You can bridge both ways with from_numpy and .numpy, watch the shared-memory trap, and use detach-cpu-numpy for a safe export. 🌉

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «تتخاطب Tensors مع NumPy» مجاني؟

نعم — نص درس «تتخاطب Tensors مع NumPy» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Deep Learning Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Deep Learning Academy 4 دروس في المجموع.

ماذا ستتعلم في «تتخاطب Tensors مع NumPy»؟

حوّل بين Tensors الخاصة بـ torch ومصفوفات NumPy تتمرن على Deep Learning Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Deep Learning Academy؟

لا تُشترط خبرة سابقة. Deep Learning Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تتخاطب Tensors مع NumPy»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Deep Learning Academy هذا؟

نعم. كل درس في Deep Learning Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الأشكال وأنواع البيانات والفهرسة
  2. إعادة التشكيل وView وSqueeze وUnsqueeze
  3. قواعد Broadcasting التي توفّر عليك الحلقات
  4. تتخاطب Tensors مع NumPy
← العودة إلى Deep Learning Academy