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

تحويل tensor الي numpy

Moatasm Elshahry

السؤال

Recommended Posts

  • 0

هناك طريقة سهلة وهي فقط باستخدام  .numpy() لتحويل tensor الي numpy array كالتالي:

import tensorflow as tf

a = tf.constant([[1, 2], [3, 4]])                 
b = tf.add(a, 1)

a.numpy()
# array([[1, 2],
#        [3, 4]], dtype=int32)

b.numpy()
# array([[2, 3],
#        [4, 5]], dtype=int32)

tf.multiply(a, b).numpy()
# array([[ 2,  6],
#        [12, 20]], dtype=int32)

اذا لم تعمل هذة الطريقة يمكنك حينها استخدام الدالة التالية:

tf.compat.v1.Session

المثال التالي يوضح الطريقة:

a = tf.constant([[1, 2], [3, 4]])                 
b = tf.add(a, 1)
out = tf.multiply(a, b)

out.eval(session=tf.compat.v1.Session())    
# array([[ 2,  6],
#        [12, 20]], dtype=int32)
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

https://academy.hsoub.com/questions/16284-تحويل-tensor-إلى-مصفوفة-numpy-في-tensorflow؟/#comment-47170

هناك سؤال مشابه له هنا.
فقط استدعي  ()tensor.numpy على ال Tensor object

# tensorflow_version 2.x
# مثال1
import tensorflow as tf
t = tf.constant([[1, 2], [4, 8]])
a = t.numpy()
print(a)
print(type(a))
"""
[[1 2]
 [4 8]]
<class 'numpy.ndarray'>
"""
# مثال 2
import tensorflow as tf
a = tf.constant([[1, 2], [3, 4]])                 
b = tf.add(a, 1)
a.numpy()
# array([[1, 2],
#        [3, 4]], dtype=int32)
b.numpy()
# array([[2, 3],
#        [4, 5]], dtype=int32)
tf.multiply(a, b).numpy()
# array([[ 2,  6],
#        [12, 20]], dtype=int32)

إذا كانت النسخة هي TensorFlow version 1.x استخدم:

tensor.eval(session=tf.compat.v1.Session())

مثال:

# tensorflow_version 1.x
import tensorflow as tf 
t = tf.constant([[1, 2], [4, 8]])
a = t.eval(session=tf.compat.v1.Session())
print(a)
print(type(a))

أيضاً يجب أن تعلم أنه بمجرد استخدامك لأي عملية من عمليات نمباي على ال tensor سوف تتحول تلقائياً إلى numpy array، في الكود التالي مثلاً ، نقوم أولاً بإنشاء Tensor وتخزينه في متغير t عن طريق إنشاء ثابت Tensor ثم استخدام تابع  الضرب في TensorFlow والناتج هو نوع بيانات Tensor أيضاً . بعد ذلك ، نقوم بإجراء عملية np.add () على Tensor التي تم الحصول عليها من خلال العملية السابقة. وبالتالي ، تكون النتيجة عبارة عن NumPy ndarray حيث تم إجراء التحويل تلقائيًا بواسطة NumPy.

import numpy as np
import tensorflow as tf
#tensor إنشاء كائن
t = tf.constant([[1, 2], [4, 8]])
t = tf.multiply(t, 2)
print(t)
# تطبيق عملية من نمباي
a = np.add(t, 1)
print(a)

 

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...