ما هو TensorFlow؟ كيف يعمل [مع أمثلة]
نشرت: 2021-09-22TensorFlow هي مكتبة مفتوحة المصدر تُستخدم لبناء نماذج التعلم الآلي. إنها منصة رائعة لأي شخص متحمس للعمل مع التعلم الآلي والذكاء الاصطناعي. علاوة على ذلك ، مع النمو المطرد الذي يشهده سوق التعلم الآلي ، ظهرت أدوات مثل TensorFlow في دائرة الضوء بينما تستكشف شركات التكنولوجيا القدرات المتنوعة لتقنية الذكاء الاصطناعي. لا شك أن السوق العالمية للتعلم الآلي من المتوقع أن تصل إلى 117.19 مليار دولار أمريكي بحلول عام 2027 .
ولكن في البداية ، من المناسب معرفة ما هو TensorFlow وما الذي يجعله خيارًا شائعًا بين المطورين في جميع أنحاء العالم.
جدول المحتويات
ما هو TensorFlow؟
TensorFlow عبارة عن منصة مفتوحة المصدر شاملة للتعلم الآلي مع التركيز بشكل خاص على الشبكات العصبية العميقة. التعلم العميق هو مجموعة فرعية من التعلم الآلي الذي يتضمن تحليل البيانات غير المهيكلة واسعة النطاق. يختلف التعلم العميق عن التعلم الآلي التقليدي في أن الأخير يتعامل عادةً مع البيانات المنظمة.
تفتخر TensorFlow بمجموعة مرنة وشاملة من المكتبات والأدوات وموارد المجتمع. يتيح للمطورين بناء ونشر أحدث التطبيقات المدعومة بالتعلم الآلي. أحد أفضل الأشياء في TensorFlow هو أنه يستخدم Python لتوفير واجهة برمجة تطبيقات أمامية مريحة لبناء التطبيقات أثناء تنفيذها في C ++ محسّن وعالي الأداء.
طور فريق Google Brain في البداية مكتبة التعلم العميق TensorFlow Python للاستخدام الداخلي. منذ ذلك الحين ، شهدت المنصة مفتوحة المصدر نموًا هائلاً في الاستخدام في البحث والتطوير وأنظمة الإنتاج.
بعض أساسيات TensorFlow
الآن بعد أن أصبح لدينا فكرة أساسية عن TensorFlow ، حان الوقت للتعمق في بعض التفاصيل الإضافية حول النظام الأساسي.
فيما يلي لمحة موجزة عن بعض المفاهيم الأساسية المتعلقة بـ TensorFlow. سنبدأ بالموترات - المكونات الأساسية لـ TensorFlow التي تستمد المنصة اسمها منها.
موتر
في مكتبة TensorFlow Python للتعلم العميق ، الموتر هو مصفوفة تمثل أنواع البيانات. على عكس المتجه أحادي البعد أو المصفوفة أو المصفوفة ثنائية الأبعاد ، يمكن أن يكون للموتر أبعاد n . في الموتر ، تحتوي القيم على أنواع بيانات متطابقة ذات شكل معروف. الشكل يمثل الأبعاد. وبالتالي ، سيكون المتجه موترًا أحادي البعد ، والمصفوفة عبارة عن موتر ثنائي الأبعاد ، وسيكون العدد القياسي موترًا صفري الأبعاد.
مصدر
شكل
في مكتبة TensorFlow Python ، يشير الشكل إلى أبعاد الموتر.
مصدر
في الصورة أعلاه ، شكل موتر هو (2،2،2).
اكتب
يمثل النوع نوع البيانات التي تحتفظ بها القيم في الموتر. عادةً ما تحتوي جميع القيم في الموتر على نوع بيانات متطابق. أنواع البيانات في TensorFlow هي كما يلي:
- أعداد صحيحة
- النقطة العائمة
- أعداد صحيحة بدون إشارة
- منطقية
- سلاسل
- عدد صحيح مع العمليات الكمية
- ارقام مركبة
رسم بياني
الرسم البياني هو مجموعة من العمليات الحسابية التي تتم على التوالي على موتر الإدخال. وهي تتألف من ترتيب العقد التي تمثل العمليات الحسابية في النموذج.
جلسة
جلسة في TensorFlow تنفذ العمليات في الرسم البياني. يتم تشغيله لتقييم العقد في الرسم البياني.
العاملين
العوامل في TensorFlow هي عمليات حسابية محددة مسبقًا.
كيف تعمل الموترات؟
في TensorFlow ، تصف الرسوم البيانية لتدفق البيانات كيف تتحرك البيانات عبر سلسلة من عقد المعالجة. يستخدم TensorFlow الرسوم البيانية لتدفق البيانات لبناء النماذج. يتم تسهيل حسابات الرسم البياني في TensorFlow من خلال الترابط بين الموترات.
يتم تغذية الموترات ذات الأبعاد n إلى الشبكة العصبية كمدخلات ، والتي تمر بعدة عمليات لإعطاء المخرجات. تحتوي الرسوم البيانية على شبكة من العقد ، حيث تمثل كل عقدة عملية حسابية. لكن الحافة بين العقد عبارة عن مصفوفة بيانات متعددة الأبعاد أو موتر. تتيح جلسة TensorFlow تنفيذ الرسوم البيانية أو أجزاء من الرسوم البيانية. لذلك ، تخصص الجلسة الموارد على جهاز واحد أو أكثر وتحمل القيم الفعلية للنتائج والمتغيرات الوسيطة.
مصدر
يمكن تشغيل تطبيقات TensorFlow على أي هدف مناسب تقريبًا ، والذي يمكن أن يكون وحدات المعالجة المركزية أو وحدات معالجة الرسومات أو مجموعة في السحابة أو جهاز محلي أو أجهزة Android و iOS.
الرسم البياني لحساب TensorFlow
الرسم البياني الحسابي في TensorFlow عبارة عن شبكة من العقد حيث تعمل كل عقدة على الضرب أو الإضافة أو تقييم بعض المعادلات متعددة المتغيرات. في TensorFlow ، تتم كتابة الرموز لإنشاء رسم بياني وتشغيل جلسة وتنفيذ الرسم البياني. يصبح كل متغير نقوم بتعيينه عقدة حيث يمكننا إجراء عمليات حسابية مثل الضرب والجمع.
فيما يلي مثال بسيط لإظهار إنشاء رسم بياني حسابي:
لنفترض أننا نريد إجراء الحساب: F (x، y، z) = (x + y) * z.
ستُترجم المتغيرات الثلاثة x و y و z إلى ثلاث عقد في الرسم البياني الموضح أدناه:
مصدر
خطوات بناء الرسم البياني:
الخطوة 1: عيّن المتغيرات. في هذا المثال ، القيم هي:
س = 1 ، ص = 2 ، ض = 3
الخطوة 2: أضف x و y.
الخطوة 3: اضرب z بمجموع x و y.
أخيرًا ، نحصل على النتيجة "9."
بالإضافة إلى العقد حيث قمنا بتعيين المتغيرات ، يحتوي الرسم البياني على عقدتين أخريين - واحدة لعملية الإضافة والأخرى لعملية الضرب. وبالتالي ، هناك خمس عقد في المجموع.
عناصر البرمجة الأساسية في TensorFlow
في TensorFlow ، يمكننا تعيين بيانات لثلاثة أنواع مختلفة من عناصر البيانات - الثوابت والمتغيرات والعناصر النائبة.
لنلقِ نظرة على ما يمثله كل عنصر من عناصر البيانات هذه.
1. الثوابت
كما يتضح من الاسم ، فإن الثوابت عبارة عن معلمات ذات قيم غير متغيرة. في TensorFlow ، يتم تعريف الثابت باستخدام الأمر tf.constant () . أثناء الحساب ، لا يمكن تغيير قيم الثوابت.
هذا مثال:
ج = tf.constant (2.0، tf.float32)
د = tf.constant (3.0)
طباعة (ج ، د)
2. المتغيرات
تسمح المتغيرات بإضافة معلمات جديدة إلى الرسم البياني. يعرّف الأمر tf.variable () متغيرًا يجب تهيئته قبل تشغيل الرسم البياني في الجلسة.
هذا مثال:
Y = tf متغير ([. 4] ، نوع dtype = tf.float32)
أ = متغير tf ([-. 4] ، نوع dtype = tf.float32)
ب = tf.placeholder (tf.float32)
الخطي_النموذج = Y * ب + أ
3. العناصر النائبة
باستخدام العناصر النائبة ، يمكن للمرء أن يغذي البيانات في نموذج من الخارج. يسمح لاحقًا بتعيين القيم. يعرّف الأمر tf.placeholder () عنصرًا نائبًا.
هذا مثال:
ج = tf.placeholder (tf.float32)
د = ج * 2
النتيجة = sess.run (د، feed_out = {ج: 3.0})
يستخدم العنصر النائب في المقام الأول لتغذية نموذج. يتم تغذية البيانات من الخارج إلى رسم بياني باستخدام اسم متغير (اسم المتغير في المثال أعلاه هو feed_out). بعد ذلك أثناء تشغيل الجلسة ، نحدد كيف نريد تغذية البيانات إلى النموذج.
مثال على جلسة:
يتم تنفيذ الرسم البياني عن طريق استدعاء جلسة. يتم تشغيل جلسة لتقييم عقد الرسم البياني ، تسمى وقت تشغيل TensorFlow. يقوم الأمر sess = tf.Session () بإنشاء جلسة.
مثال:
س = tf.constant (3.0)
ص = tf.constant (4.0)
ض = س + ص
sess = tf.Session () # بدء الجلسة
print (sess.run (z)) #Evaluating the Tensor z
في المثال أعلاه ، هناك ثلاث عقد - x و y و z. العقدة 'z' هي المكان الذي يتم فيه تنفيذ العملية الحسابية ، وبالتالي يتم الحصول على النتيجة. عند إنشاء جلسة وتشغيل العقدة z ، أولاً ، سيتم إنشاء العقدتين x و y. بعد ذلك ، ستتم عملية الإضافة في العقدة z. ومن ثم ، سوف نحصل على النتيجة "7".
طور حياتك المهنية في ML والتعلم العميق مع upGrad
هل تبحث عن أفضل مكان لمعرفة المزيد عن TensorFlow ؟ ثم upGrad هنا لمساعدتك في رحلة التعلم الخاصة بك.
من خلال قاعدة المتعلمين التي تغطي أكثر من 85 دولة ، تعد upGrad أكبر منصة لتكنولوجيا التعليم العالي في جنوب آسيا والتي أثرت على أكثر من 500000 من المتخصصين العاملين على مستوى العالم. مع أعضاء هيئة التدريس على مستوى عالمي ، والتعاون مع شركاء الصناعة ، وأحدث التقنيات ، والممارسات التربوية الأكثر حداثة ، تضمن upGrad تجربة تعليمية مفيدة وغامرة لما يزيد عن 40.000 متعلم مدفوع الأجر على مستوى العالم.
برنامج الشهادة المتقدمة في التعلم الآلي والتعلم العميق هو دورة أكاديمية صارمة وذات صلة بالصناعة لمدة 6 أشهر تغطي مفاهيم التعلم العميق.
يسلط الضوء على البرنامج:
- تقدير مرموق من IIIT بنغالور
- 240+ ساعة من المحتوى مع أكثر من 5 دراسات حالة ومشاريع ، و 24+ جلسة مباشرة ، وأكثر من 15 جلسة تدريب خبراء
- تغطية شاملة لـ 12 أداة ولغة ومكتبة (بما في ذلك TensorFlow)
- 360 درجة من المساعدة المهنية وجلسات الإرشاد وفرص التواصل بين الأقران
ماجستير العلوم في upGrad في التعلم الآلي والذكاء الاصطناعي هو برنامج قوي مدته 18 شهرًا لأولئك الذين يرغبون في التعلم وتطوير مهاراتهم باستخدام تقنيات التعلم الآلي والسحابة المتقدمة.
يسلط الضوء على البرنامج:
- تقدير مرموق من جامعة ليفربول جون مورس ومعهد آي آي تي مدراس
- 650+ ساعة من المحتوى مع أكثر من 25 دراسة حالة ومشروعًا ، وأكثر من 20 جلسة مباشرة ، وأكثر من 8 مهام تشفير
- تغطية شاملة لـ 7 أدوات ولغات برمجة (بما في ذلك TensorFlow)
- 360 درجة من المساعدة المهنية وجلسات الإرشاد وفرص التواصل بين الأقران
خاتمة
يستمر التعلم الآلي والذكاء الاصطناعي في التطور. ما كان في يوم من الأيام موضوع أفلام الخيال العلمي أصبح الآن حقيقة واقعة. من توصيات أفلام Netflix والمساعدات الافتراضية إلى السيارات ذاتية القيادة واكتشاف الأدوية ، يؤثر التعلم الآلي على جميع أبعاد حياتنا. علاوة على ذلك ، باستخدام أدوات مثل TensorFlow ، وصلت الابتكارات في التعلم الآلي إلى آفاق جديدة. المكتبة مفتوحة المصدر هي بلا شك نعمة للمطورين والمهنيين الناشئين الذين يبتكرون تقنيات تعتمد على التعلم الآلي.
فما تنتظرون؟ ابدأ التعلم مع upGrad اليوم!
TensorFlow Python عبارة عن نظام أساسي مفتوح المصدر يتيح للمطورين إنشاء شبكات عصبية واسعة النطاق. تتضمن بعض حالات الاستخدام الأساسية لـ TensorFlow التطبيقات المستندة إلى النصوص (مثل اكتشاف الاحتيال) والتعرف على الصوت والتعرف على الصور واكتشاف الفيديو وتحليل بيانات السلاسل الزمنية. يسمح TensorFlow بتنفيذ واجهات برمجة التطبيقات للواجهة الأمامية باستخدام لغات مختلفة مثل Python و R و C و C ++. ومع ذلك ، يتم كتابة وقت التشغيل في TensorFlow باستخدام لغة C ++. نظرًا لأن TensorFlow مكتبة مفتوحة المصدر للتعلم الآلي ، فهناك أربعة مجالات أساسية يحتاج المرء إلى إتقانها. في حين أن مهارات الترميز ضرورية ، فإن المكونات الأساسية الأخرى لتعليم تعلم الآلة هي الرياضيات والإحصاء ، ونظرية التعلم الآلي ، والخبرة العملية في بناء مشاريع التعلم الآلي من البداية.ما هو TensorFlow المستخدمة؟
هل TensorFlow مكتوب بلغة Python أو C ++؟
هل يحتاج TensorFlow إلى الترميز؟