Tensorflow و Caffe ، CNTK ، MXNET وغيرها من أطر التعلم العميق 7 مثل MXNET

تلقى TensorFlow اهتمامًا كبيرًا بمجرد ظهور نهاية عام 2015 ، وحصل على أكثر من 10000 نجمة على Github في غضون شهر واحد. كما تم تصنيف مشروع Python أيضًا. تم اختيار هذه المقالة من الفصل 2 من "TensorFlow Reality".

المصدر المفتوح لـ TensorFlow له تأثير كبير على الدوائر الأكاديمية والصناعية بأكملها ، والتي يمكن مقارنتها بـ Hadoop ، التعلم الآلي.

لاحظ ، هناك فوائد رفاهية لـ Wenwei!

مقارنة إطار التعلم العميق السائد

استمرت طفرة أبحاث التعلم العميق في الارتفاع ، وظهرت العديد من أطر عمل التعلم العميق المفتوح المصدر أيضًا إلى ما لا نهاية ، بما في ذلك Tensorflow و Caffe8 و Keras9 و Cntk10 و Torch711 و Mxnet12 و Leaf13 و Theano14 و DeepLearning415 و Lasagne16 و Neon17 ، إلخ. ومع ذلك ، فإن TensorFlow قد قتل الحصار ، واحتلت ميزة مطلقة من حيث الاهتمام وعدد المستخدمين ، وهناك اتجاه كبير للأنهار والبحيرات. يوضح الجدول 2-1 إحصائيات البيانات على GitHub على كل إطار عمل مفتوح المصدر (إحصائيات البيانات في 3 يناير 2017). يمكنك أن ترى أن TensorFlow قد فاز بالمعارضين الآخرين على البيانات الثلاثة لرقم النجوم ، وعدد القسوة ، والرقم من المساهم. جوهر

والسبب هو أن جاذبية Google في هذه الصناعة قوية بالفعل. كان هناك العديد من المشاريع الناجحة مفتوحة المصدر من قبل ، ومستوى البحوث الاصطناعية القوية من Google جعل الجميع واثقين في إطار التعلم العميق من Google ، بحيث تكرسورف في عام 2015 في عام 2015 في عام 2015 في عام 2015 في عام 2015 في عام 2015 الشهر الأول من المصدر المفتوح في نوفمبر ، تم تجميع نجمة 10000+. ثانياً ، لدى TensorFlow أداءً ممتاز فوزهم.

إذا كنت قد اتبعت دائمًا تقدم تطوير TensorFlow ، فستجد أنه سيتم تحديث TensorFlow بشكل أساسي بمقدار 10000 سطر كل أسبوع ، بقدر تصل إلى عشرات الآلاف من الخطوط. لقد شكلت الجودة الممتازة للمنتج نفسه ، وتحديث التكرار السريع ، والمجتمع النشط ، والتعليقات الإيجابية ، دائرة فاضلة. يمكن تخيل أن TensorFlow سيستمر في أخذ زمام المبادرة في أطر العمل العميقة المختلفة في المستقبل.

يمكن أن يجد الجدول 2-1 للمراقبة أن العمالقة مثل Google و Microsoft و Facebook شاركوا في إطار التعلم العميق هذا. بالإضافة إلى ذلك ، هناك Caffe بقيادة Jia Yangqing ، خريج جامعة بيركلي ، و Theano تم تطويره من قبل الجامعة لفريق LISA Lab في مونتريال. والإطار الذي ساهم به الأفراد أو المؤسسات التجارية الآخرين. بالإضافة إلى ذلك ، يمكنك أن ترى أن الأطر الرئيسية الرئيسية تدعم بشكل أساسي Python. في الوقت الحالي ، يمكن القول أن Python مستقل في مجال الحوسبة العلمية واستخراج البيانات. على الرغم من وجود ضغوط تنافسية من لغة مثل R و Julia ، إلا أن قواعد البيانات المختلفة من Python كاملة للغاية. تطوير الويب ، وتصور البيانات ، والمعالجة المسبقة للبيانات ، واتصال قاعدة البيانات ، والزحفات ، وما إلى ذلك. على سلسلة أدوات الحفر البيانات وحدها ، يحتوي Python على مكونات مثل Numpy و Scipy و Pandas و Scikit-Learn و XgBoost وغيرها من المكونات. إنها مريحة للغاية لجمع البيانات والمعالجة المسبقة. العمق على أساس بيثون. تعلم الإطار تماما.

يوضح الجدول 2-2 والشكل 2-1 أن إطار التعلم العميق السائد Tensorflow و Caffe و CNTK و Theano و Torch في كل بعد ، سيقدم هذا الكتاب 2.2 مقدمة مفصلة لكل إطار عمل تعليمي عميق.

الشكل 2-1 مخطط مقارنة إطار التعلم العميق السائد

مقدمة لكل إطار عمل تعليمي عميق

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

Tensorflow

Tensorflow إنها مكتبة تعلم آلي عالية نسبيًا. يمكن للمستخدمين استخدامها بسهولة لتصميم بنية شبكة عصبية دون الحاجة إلى كتابة رمز C ++ أو CUDA18 من أجل متابعة الكفاءة العالية. وهو يدعم التوجيه التلقائي مثل Theano ، ولم يعد المستخدمون بحاجة إلى حل التدرج عن طريق الاتصال العكسي. تتم كتابة الكود الأساسي الخاص به في C ++ كـ CAFFE. يستخدم C ++ لتبسيط تعقيد النشر عبر الإنترنت ، ويسمح للجهاز الضيق في الذاكرة وموارد وحدة المعالجة المركزية على الهاتف المحمول. كفاءة منخفضة).

بالإضافة إلى واجهة C ++ للرمز الأساسي ، يحتوي TensorFlow أيضًا على واجهات Python و Go و Java الرسمية. يتم تنفيذها من خلال Simplify (مولد مبسط وواجهة) ، بحيث يمكن للمستخدمين تجربة Python مع Python مع أفضل آلات تكوين الأجهزة. يتم نشر نماذج نشر C ++ في بيئة مضمنة مع موارد ضيقة أو بيئة منخفضة. يدعم SWIG واجهة اللغات المختلفة إلى رمز C/C ++ ، وبالتالي يمكن أيضًا إضافة واجهة لغة البرنامج النصي الأخرى من خلال SWIG في المستقبل.

ومع ذلك ، هناك مشكلة تؤثر على الكفاءة عند استخدام Python. يجب أن تكون كل دفعة مصغرة من Python إلى الشبكة. قد يكون لهذه العملية مقارنة تأثير عندما تكون كمية بيانات الدفعة الصغيرة صغيرة أو وقت العملية قصير ، والتي قد يكون لها مقارنة مقارنة. تأخير كبير. الآن لدى TensorFlow أيضًا دعم واجهة Julia و Node.js و R والعنوان كما يلي.

جوليا : github.com/malmaud/tensorflow.jl

node.js : github.com/node-tensorflow/node-tensorflow

ص : github.com/rstudio/tensorflow

يحتوي TensorFlow أيضًا على مكونات مدمجة من المستوى العلوي مثل TF.Learn و TF.Slim للمساعدة في تصميم شبكات جديدة بسرعة ، ومتوافقة مع واجهة مقدر Scikit-Learn ، والتي يمكنها بسهولة تنفيذ وظائف مثل التقييم ، والبحث الشبكي ، . في الوقت نفسه ، لا يقتصر TensorFlow على الشبكات العصبية. تدعم خريطة دفق البيانات الخاصة بها تعبير خوارزمية مجانية للغاية. بالطبع ، يمكنها أيضًا تحقيق خوارزميات التعلم الآلي بخلاف التعلم العميق. في الواقع ، طالما يمكن تمثيل الحساب على شكل مخطط حساب ، يمكن استخدام TensorFlow. يمكن للمستخدم كتابة حساب فرع حساب Conduction Conduction Conduction INNER يمكن لـ TensorFlow أيضًا توزيع كل عقدة في مخطط الحساب لتنفيذ الجهاز المختلفة ، مما يجعله الاستخدام الكامل لموارد الأجهزة. إن تحديد العقد الجديدة لا يحتاج إلا إلى كتابة وظيفة Python. إذا لم يكن هناك نواة حوسبة أساسية مماثلة ، فقد تحتاج إلى كتابة رمز C ++ أو CUDA لتحقيق التشغيل التشغيلي.

في الوضع المتوازي ، يشبه TensorFlow خادم المعلمة ، ولكن لدى TensorFlow عقدة متغيرة مستقلة. على عكس الأطر الأخرى ، يوجد خادم معلمات عالمي موحد ، وبالتالي فإن المعلمات أكثر حرة. جوهر Tensorflow و Spark هو رسم بياني للبيانات -تواجه Spark بيانات كبيرة ودعم عمليات SQL. تواجه TensorFlow بشكل أساسي بيئة الذاكرة لتحميل معلمات النموذج ، والتي يمكن أن تزيد من كفاءة الحساب.

ميزة أخرى مهمة من TensorFlow هي قابلية الزرع المرنة. يمكنها بسهولة نشر نفس الرمز دون تعديل لأي جهاز كمبيوتر أو خادم أو جهاز محمول مع أي عدد من وحدات المعالجة المركزية أو وحدات معالجة الرسومات. بالمقارنة مع theano ، تتمتع TensorFlow أيضًا بميزة تفيد بأن سرعة التجميع السريعة للغاية. عند تحديد بنية الشبكة الجديدة ، يتطلب Theano عادةً تجميعًا طويلًا. لدى TensorFlow أيضًا موتر مكونات بصرية قوية ، والتي يمكن أن تصور بنية الشبكة وعملية التدريب. إنه من المفيد للغاية مراقبة هياكل الشبكة المعقدة والتدريب طويل المدى والكبير. تم تحسين TensorFlow بشكل كبير لبيئة الإنتاج. يمكن أن يضمن التصميم والتصميم عالي الجودة على مستوى المنتج عملية مستقرة في بيئة الإنتاج. في الوقت نفسه ، بمجرد استخدام Tensorflow على نطاق واسع من قبل الصناعة ، فإنه سيولد دائرة فاضلة وتصبح معيار واقعي للتعلم العميق.

بالإضافة إلى دعم هياكل الشبكة الشائعة ، يدعم TensorFlow أيضًا التعلم المعزز بعمق وحتى الحسابات العلمية الكثيفة المحسوبة (مثل المعادلات التفاضلية الجزئية لحلها ، إلخ). لم يدعم TensorFlow حلقة رمزية من قبل. إنها تحتاج إلى استخدام دورة Python لتجميعها وتحسينها. ومع ذلك ، فقد بدأت XLA المضافة مؤخرًا في دعم JIT و AOT. . قد يكون المكان الضعيف من Tensorflow هو أن مخطط الحساب يجب أن يتم بناؤه كخطط ثابت ، مما يجعل العديد من الحوسبة من الصعب تحقيقها ، وخاصة البحث عن الشعاع المستخدم غالبًا في التنبؤ بالتسلسل.

يمكن لمستخدمي TensorFlow بسهولة نشر النماذج المدربة إلى مجموعة متنوعة من منصات نظام الأجهزة ونظام التشغيل ، ودعم CPUs Intel و AMD ، ودعم وحدة معالجة الرسومات NVIDIA من خلال CUDA (دعمت مؤخرًا AMD GPU من خلال OPENCL ، ولكن لا يوجد أي نضج ناضج CUDA.) ، دعم Linux و Mac ، وحاول مؤخرًا دعم Windows في الإصدار 0.12. في بيئة الإنتاج الصناعي ، تعد بعض معدات الأجهزة هي الأحدث ، وبعضها نماذج قديمة تم استخدامها لعدة سنوات. قد يكون المصدر أكثر تعقيدًا. يتيح عدم تجانس TensorFlow دعم مختلف الأجهزة والتشغيل بالكامل. في الوقت نفسه ، تستخدم مكتبة الحوسبة المصفوفة الخاصة بها على وحدة المعالجة المركزية Eigen بدلاً من مكتبة Blas ، والتي يمكن تجميعها وتحسينها بناءً على بنية ARM ، لذلك تعمل بشكل جيد على الأجهزة المحمولة (Android و iOS).

يدعم TensorFlow فقط الوقوف في البداية ، ويدعم فقط CUDA 6.5 و CUDNN V2 ، ولا توجد نتيجة مقارنة لإطار التعلم العميق الرسمي وغيره من الإطار. في نهاية عام 2015 ، قدمت العديد من الأطر الأخرى تقييمات مقارنة بين الأداء ، وفي كل مرة ظهرت Tensorflow كمجموعة مراقبة سيئة. كان TensorFlow في ذلك الوقت غير سعيد حقًا. الأداء قارن فقط الكتف الذي كان يعتبر بطيئًا بشكل عام ، ويمكن اعتباره القاع في كل إطار. ومع ذلك ، مع التطوير القوي لـ Google ، فإن الإصدار الجديد من Cudnn (يدعم حاليًا Cudnn V5.1) ، وقد اكتشف الأداء على وحدة معالجة الرسومات الواحدة أطر أخرى. يوضح الجدول 2-3 تقييم الأداء لكل إطار قدمه https://github.com/sousith/convnet- المعايير على Alexnet.

في ظل حالة وحدة معالجة الرسومات الواحدة ، يعتمد معظم إطار التعلم العميق على Cudnn ، طالما أن قوة الحوسبة أو توزيع الذاكرة لا تختلف كثيرًا ، فلن تكون سرعة التدريب النهائية مختلفة جدًا. ومع ذلك ، بالنسبة للتعلم العميق الكبير ، فإن حجم البيانات الضخم يجعل من الصعب على الآلات المفردة إكمال التدريب في وقت محدود. في هذا الوقت ، هناك حاجة إلى الحوسبة الموزعة لحساب مجموعة GPU وحتى مجموعة TPU لتدريب النموذج بشكل مشترك ، وبالتالي فإن الأداء الموزع للإطار أمر بالغ الأهمية. فتحت TensorFlow الإصدار الموزع في أبريل 2016. يستخدم 16 وحدة معالجة الرسومات للوصول إلى 15 ضعف سرعة وحدة معالجة الرسومات ، والتي يمكن أن تسرع 40 مرة عندما يمكن تسريع 50 وحدة معالجة الرسومات ، والكفاءة الموزعة عالية. في الوقت الحاضر ، لا توجد العديد من أطر التعلم العميقة الموزعة التي تدعمها الدعم الأصلي ، فقط TensorFlow ، CNTK ، Deeplearning4J ، MXNET ، إلخ. ومع ذلك ، فإن تصميم TensorFlow الحالي ليس تحسينًا كبيرًا للاتصال بين الأجهزة المختلفة. لا يمكن معالجة تقليل جهازها المتمثل إلا مع وحدة المعالجة المركزية. قد لا تصل إلى الأمثل.

افتتحت Google خدمة TensorFlow Serving19 في فبراير 2016. يمكن لهذا المكون تصدير النموذج الذي تم تدريبه بواسطة TensorFlow ونشره في الواجهة المريحة التي يمكن أن توفر خدمات التنبؤ ، كما هو موضح في الشكل 2-2. مع هذا المكون ، يمكن لـ TensorFlow تحقيق العملية الكاملة للتعلم الآلي للتطبيق: من نماذج التدريب ، ومعلمات التصحيح ، إلى نماذج التغليف ، ونشر الخدمات أخيرًا. في الواقع ، الاسم هو إطار من البحث إلى الإنتاج. فيما يلي وصف للمطور الداخلي لـ TensorFlow: "إن خدمة TensorFlow عبارة عن نظام خدمة تعليم آلي عالي الأداء مصمم لبيئة الإنتاج. يمكنك استخدام موارد GPU لجعل نماذج مدربة Tensorflow بشكل أسرع ووضعها في بيئة الإنتاج الفعلية." بخلاف أطر عمل TensorFlow تفتقر إلى اعتبارات نشر بيئة الإنتاج ، وقد تدرك Google ، كعملاق يستخدم على نطاق واسع في المنتجات الفعلية ، هذه الفرصة ، لذلك فقد طورت هذه المنصة لخدمات النشر. يمكن القول أن خدمة TensorFlow هي بطاقة ترامب ، وسوف تساعد Tensorflow على تقديم مساهمات كبيرة في معايير الصناعة.

الشكل 2-2 TENSORFLOW الهندسة المعمارية

Tensorboard هي مجموعة من تطبيقات الويب الخاصة بـ TensorFlow لمراقبة عملية تشغيل TensorFlow أو الرسم البياني للحساب المرئي. تدعم Tensorboard حاليًا 5 تصور: القياس ، الصور ، الصوت (الصوت) ، الرسم البياني ، ورسم الرسم البياني للحساب. يمكن استخدام لوحة معلومات أحداث Tensorboard لمراقبة مؤشرات المفاتيح بشكل مستمر أثناء وقت التشغيل ، مثل الخسارة أو معدل التعلم أو دقة مجموعة التحقق ؛ يمكن أن تعرض لوحة معلومات الصورة إعداد المستخدم أثناء عملية التدريب. الصور ، مثل الصورة المرسومة (مؤامرة ) مثل Matplotlib ونتائج التدريب الأخرى ؛ يمكن لـ Graph Explorer عرض مخطط حساب Tensorflow بالكامل ، ويدعم سمات Mop Zoom و View. يظهر التأثير البصري لـ Tensorboard في الشكل 2-3 والشكل 2-4.

الشكل 2-3

الشكل 2-4 يمكن تصور بنية النموذج من Tensorboard

يحتوي TensorFlow على رمز عالي الجودة للمستوى ، مع إمكانات تطوير وصيانة Google القوية ، وتصميم الهندسة المعمارية الإجمالية أيضًا ممتاز للغاية. بالمقارنة مع نفس الخصم القائم على ثعبان ثيانو ، فإن TensorFlow أكثر نضجًا وكمال إلى Openai). تمتلك Google ، كشركة عملاقة ، موارد أكثر بكثير من الجامعات أو المطورين الأفراد للاستثمار في بحث وتطوير TensorFlow.

الكافيين

الموقع الرسمي : caffe.berkeleyvision.org/

جيثب : github.com/bvlc/caffe

الكافيين الاسم الكامل هو الهندسة المعمارية التلافيفية لتضمين الميزة السريعة. إنه إطار عمل تعليمي عميق مفتوح المصدر يستخدم على نطاق واسع (المشروع مع أكثر نجوم جيثب في مجال التعلم العميق قبل ظهور TensorFlow). اعمال صيانة. مؤسس Caffe هو الدكتوراه Jia Yangqing من جامعة كاليفورنيا ، بيركلي. وهو أيضًا أحد مؤلفي TensorFlow. وقد عمل في مختبر Facebook Fair في MSRA و NEC و Google Brain. تشمل المزايا الرئيسية للكافيين النقاط التالية.

  • من السهل البدء ، يتم تعريف بنية الشبكة في شكل ملفات التكوين ، ولا تحتاج الشبكة إلى تصميم رمز.

  • سرعة التدريب السريع والبيانات الواسعة النطاق التي يمكن أن تدرب على أحدث طراز MT.

  • يمكن أن تتوسع وحدة المكونات بسهولة إلى نماذج جديدة ومهام التعلم.

  • المفهوم الأساسي للكافيين هو طبقة ، ووحدة كل شبكة عصبية هي طبقة. تتلقى الطبقة بيانات الإدخال وإنشاء بيانات الإخراج بعد الحوسبة الداخلية. عند تصميم بنية الشبكة ، تحتاج فقط إلى غرز كل طبقة معًا لتشكيل شبكة كاملة (محددة عن طريق كتابة ملف تكوين Protobuf). على سبيل المثال ، طبقة الالتواء ، فإن مدخلاتها هي جميع وحدات البكسل في الصورة. العملية الداخلية هي التشغيل الالتوفي لمختلف قيم البكسل ومعلمات الطبقة. الناتج النهائي هو نتيجة جميع مرشح kernel الالتواء. تحتاج كل طبقة إلى تحديد نوعين من العمليات ، واحدة هي عملية إيجابية ، أي نتيجة الإخراج من بيانات الإدخال ، أي عملية التنبؤ بالنموذج ؛ حل التدرج مقارنة بالمدخلات ، أي العكس خوارزمية الاتصال ، هذا الجزء هو عملية تدريب النموذج. عند تحقيق الطبقة الجديدة ، هناك حاجة إلى وظائف نوعين من عمليات الحوسبة. يتطلب هذا الجزء من الحساب من المستخدم كتابة C ++ أو CUDA (عندما تحتاج إلى تشغيل في وحدة معالجة الرسومات). من.

    نظرًا لأن بنية تلافيفية اسمها لتضمين الميزة السريعة الموصوفة ، كان هدف Caffe فقط للصور في بداية تصميم Caffe ، ولم تكن هناك بيانات عن النص أو الصوت أو التسلسل الزمني. كانت الشبكات جيدة جدًا ، لكنها لا تدعمها بشكل خاص تسلسل الوقت RNN و LSTM وغيرها من الدعم. في الوقت نفسه ، فإن النموذج القائم على الطبقة ليس صديقًا للغاية لـ RNN ، وهو أكثر إزعاجًا لتحديد بنية RNN. عندما تكون بنية النموذج معقدة للغاية ، قد يكون من الضروري كتابة ملف تكوين طويل جدًا لتصميم الشبكة ، وهو أكثر شاقة عند القراءة.

    واحدة من المزايا الرئيسية للكافيين هي النموذج الذي يحتوي على عدد كبير من النماذج الكلاسيكية المدربة (Alexnet ، VGG ، Inception) ، وحتى آخر من الحالة (RESNET ، إلخ) ، وجمع في حديقة الحيوان النموذجية (Github .com/bvlc/caffe/wiki/model-zoo). بسبب شعبيتها العالية ، يتم استخدام Caffe على نطاق واسع في قطع الدوائر الصناعية والأكاديمية. العديد من أوراق التعلم العميق التي توفر رمز المصدر تستخدم CAFFE لتحقيق نماذجها. هناك العديد من تطبيقات CAFFE في مجال رؤية الكمبيوتر ، والتي يمكن استخدامها للتعرف على الوجه ، وتصنيف الصور ، واكتشاف الموقع ، وتتبع الهدف ، إلخ.

    على الرغم من أن CAFFE تواجه بشكل أساسي الدوائر والباحثين الأكاديميين ، فإن برنامجها مستقر للغاية وجودة الكود مرتفعة نسبيًا ، لذلك فهي مناسبة أيضًا لبيئة الإنتاج مع متطلبات الاستقرار الصارمة. يمكن اعتباره أول تعلم عميق للصناعية السائدة. إطار. جوهر نظرًا لأن الطبقة السفلية من CAFFE تعتمد على C ++ ، يمكن تجميعها ولديها قابلية زرع جيدة في بيئات الأجهزة المختلفة. إنه يدعم أنظمة Linux و Mac و Windows. يمكن أيضًا تجميعها ونشرها في أنظمة الأجهزة المحمولة مثل Android و iOS. على غرار مكتبات التعلم العميق الأخرى ، توفر Caffe أيضًا واجهة Python Language Pycaffe. عند الاتصال بمهام جديدة ، يمكنك استخدام واجهة Python الخاصة بها لتبسيط العمليات عند تصميم شبكة جديدة.

    ومع ذلك ، يستخدم المستخدمون عادة ملف تكوين Protobuf لتحديد بنية الشبكة العصبية ، ثم استخدام سطر الأوامر للتدريب أو التنبؤ. ملف تكوين Caffe هو ملف .prototxt نوع JSON ، والذي يستخدم العديد من الطبقة لوصف بنية الشبكة العصبية. ستقوم البرامج القابلة للتنفيذ الثنائية لـ Caffe باستخلاص ملفات .prototxt وتدريب الشبكات العصبية وفقًا لتعريفها. من الناحية النظرية ، لا يمكن لمستخدمي الكافيين كتابة التعليمات البرمجية على الإطلاق ، لكن يمكنهم إكمال تدريب النماذج لتحديد بنية الشبكة.

    بعد أن تكمل Caffe التدريب ، يمكن للمستخدمين حزم ملف النموذج في واجهة سهلة الاستخدام ، مثل واجهة برمجة التطبيقات التي يمكن تغليفها في Python أو Matlab. ومع ذلك ، فإن تصميم مهرجان الشبكة في التصميم الداخلي لملف .prototxt قد يكون محدودًا نسبيًا. لا يوجد بنية شبكة تصميم مجانية ومريحة في Python مثل Tensorflow أو Keras. والأهم من ذلك ، لا يمكن لملف التكوين الخاص بـ CAFFE ضبط الرسم الفائق من خلال البرمجة ، كما أنه لا يوفر مقدرًا مثل Scikit-aslene للبحث في الشبكة المتقاطعة والمعلمة الفائقة بسهولة. لدى Caffe تدريبًا جيدًا على GPU (يمكنك تدريب ملايين الصور يوميًا عند استخدام Alexnet على GTX 1080 ، ولكن في الوقت الحالي يدعم تدريبًا واحدًا فقط من أجهزة GPU ، دون دعم موزع. لحسن الحظ ، هناك العديد من الدعم الثالث ، مثل Caffeonspark مفتوح المصدر من Yahoo ، والذي يمكنه استخدام إطار Spark الموزع لتحقيق التدريب الموزع الكبير من الكافيين.

    ثيانو

    جيثب : github.com/theano/theano

    ثيانو من مواليد عام 2008 ، تم تطويره وصيانته من قبل فريق Lisa Lab لجامعة مونتريال. إنه حساب رمزي عالي الأداء ومكتبة التعلم العميق. بسبب المظهر المبكر ، يمكن اعتباره أحد أسلاف هذا النوع من المكتبة ، وكان يعتبر ذات يوم أحد المعايير المهمة لأبحاث التعلم والتطبيقات العميقة. جوهر theano هو مترجم للتعبير الرياضي ، والذي تم تصميمه خصيصًا لحساب تدريب الشبكة العصبية الكبيرة. يمكنه تجميع العمليات الحسابية المختلفة التي حددها المستخدم في رمز أساسي فعال وربط العديد من المكتبات التي يمكن تسريعها ، مثل Blas و CUDA ، إلخ. يسمح Theano للمستخدمين بتحديد التعبير الرياضي وتحسينه وتقييمه الذي يحتوي على صفائف متعددة الأبعاد. وهو يدعم تحميل الحساب إلى GPU (Theano له أداء جيد على وحدة معالجة الرسومات ، لكن وحدة المعالجة المركزية سيئة). مثل Scikit-Learn ، يدمج Temo أيضًا Numpy جيدًا. إن شفافية وحدة معالجة الرسومات تسمح لـ Theano بجعل تصميم الشبكة العصبية أكثر ملاءمة دون الحاجة إلى كتابة رمز CUDA مباشرة. المزايا الرئيسية ل theano هي كما يلي.

  • Numpy المتكامل ، يمكنك استخدام Ndarray Nedarray Numpy مباشرة ، وواجهة API لها تكلفة تعليمية منخفضة.

  • احسب الاستقرار ، مثل الوظائف التي يمكن أن تحسب بدقة قيمة الإخراج (مثل السجل (1+x)).

  • قم بإنشاء رمز C أو CUDA ديناميكيًا لتجميع رمز الجهاز عالي الكفاءة.

  • نظرًا لأن Theano تحظى بشعبية كبيرة ، فقد كتب العديد من الأشخاص مستندات ودروس تعليمية عالية الجودة. يمكن للمستخدمين بسهولة العثور على الأسئلة الشائعة المختلفة لـ Theano ، مثل كيفية حفظ النماذج وكيفية تشغيل النموذج. ومع ذلك ، يتم استخدام Theano كأداة بحث ، وليس كمنتج. على الرغم من أن Theano يدعم Linux و Mac و Windows ، لا يوجد واجهة C ++ الأساسية ، وبالتالي فإن نشر النموذج غير مريح للغاية ، ويعتمد على مختلف مكتبات Python ولا يدعم مختلف الأجهزة المحمولة ، لذلك لا يوجد أي تطبيق تقريبًا في بيئة الإنتاج الصناعي.

    من الصعب للغاية فهم إخراج رسالة الخطأ بواسطة Theano أثناء تصحيح الأخطاء ، لذلك يكون مؤلمًا جدًا عند التصحيح. في الوقت نفسه ، يكون أداء Theano في بيئة التدريب لبيئة الإنتاج ضعيفًا ، لأن التنبؤات عادة كوحدة المعالجة المركزية) ، ولكن theano على أداء وحدة المعالجة المركزية سيئة التنفيذ.

    يعمل Theano بشكل جيد على وحدة معالجة الرسومات الواحدة ، وأدائه يشبه الأطر الأخرى. ومع ذلك ، أثناء العملية ، يجب تحويل رمز بيثون للمستخدم إلى رمز CUDA ، ثم يقوم بتجميعه في ملف قابل للتنفيذ ثنائي. بالإضافة إلى ذلك ، يكون Theano أبطأ أيضًا عند الاستيراد ، وبمجرد ضبط وحدة معالجة الرسومات معينة ، لا يمكن تحويلها إلى أجهزة أخرى. في الوقت الحاضر ، لا يدعم Theano متعددًا -gpus على CUDA و CUDNN ، ويدعم فقط التدريب متعدد GPU على مكتبة GPUARAY الخاصة بـ Opencl و Theano. لم يتم توزيع السرعة على إصدار CUDA في الوقت الحالي ، ولم يتم توزيع Theano بعد . ومع ذلك ، قد يكون الأداء أفضل من TensorFlow عند تدريب شبكة بسيطة (مثل MLP ضحلة للغاية) ، لأنه يتم تجميع جميع التعليمات البرمجية أثناء وقت التشغيل ، ولا تحتاج إلى أن تكون بيانات مزدوجة صغيرة مثل Tensorflow. .

    Theano هي مكتبة حساب الرموز التي تعتمد تمامًا على Python (رمز C ++/CUDA هو أيضًا سلسلة Python). يمكن للعمليات المختلفة التي حددها المستخدم ، أن تطلب Theano تلقائيًا التوجيه ، والقضاء على مشكلة كتابة خوارزمية اتصال عكسية للشبكة العصبية ، ولا تحتاج إلى كتابة رمز C ++ أو CUDA لطبقة مثل Caffe. دعم ثيانو للشبكات العصبية التلافيفية جيد للغاية. في الوقت نفسه ، تدعم واجهة برمجة تطبيقات الحساب الرمزية التحكم في الدورة (مسح الاسم الداخلي) ، مما يجعل تنفيذ RNN بسيطًا للغاية وعالي الأداء. شبكة الحالة.

    يستمد ثيانو عددًا كبيرًا من مكتبات التعلم العميق ، بما في ذلك سلسلة من العبوات العلوية. theano ونفس الدعم. TensorFlow). تعد Keras أكثر ملاءمة لتجربة هياكل الشبكة المختلفة بسرعة أثناء مرحلة الاستكشاف. المكونات هي وحدات قابلة للإدخال. تحتاج فقط إلى توصيل المكونات (مثل الطبقات التلافيفية ، وظائف التنشيط ، وما إلى ذلك) أنها ليست مريحة. بالإضافة إلى keras ، هناك أيضًا اللازاجين التي يحبها العالم الأكاديمي كثيرًا ، وهي أيضًا الطبقة العليا من theano. إنها صارمة للغاية في تعريف كل طبقة من الشبكة العصبية.

    بالإضافة إلى ذلك ، هناك عبوة نوعان من الطبقة العليا تعتمد على اللازانيا ، وهما Scikit-neuralNetwork و Nolearn. إنها تتجاهل الشبكة العصبية في المصنف والتراجع المتوافقة مع واجهة Scikit-Learn. يمكن أن يستخدم هذا بسهولة الملاءمة الكلاسيكية ، تحويل ، ،،،، إلى Scikit-Learn الكلاسيكية ، النتيجة وغيرها من العمليات. بالإضافة إلى ذلك ، تشمل مكتبات الحزمة العليا في Theano أيضًا كتل ، Deepy ، Pylearn2 ، و Scikit-theano ، والتي يمكن وصفها بأنها عائلة ضخمة. إذا لم يكن هناك ثيانو ، فقد لا يكون هناك الكثير من مكتبات التعلم العميق في ثعبان على الإطلاق. وبالمثل ، إذا لم يكن هناك Python العلمي للحوسبة الحوسبة ، فلن يكون هناك Scipy ، Scikit-Learn ، وصورة Scikit. المكتبات.

    على الرغم من أن Theano مهم للغاية ، إلا أنه لا يزال مرهقًا للغاية لتصميم شبكة عصبية كبيرة باستخدام Theano مباشرة. لتحقيق بداية Google مع Theano يشبه استخدام Numpy لتنفيذ جهاز ناقل الدعم (SVM). ناهيك عن أن العديد من المستخدمين لا يمكنهم القيام بشبكة Inception مع Theano ، حتى لو كان من الممكن القيام بذلك ، هل من الضروري قضاء هذا الوقت؟ بعد كل شيء ، ليس الجميع هو موظفي العلوم الأساسي ، ومعظم سيناريوهات الاستخدام لا تزال في التطبيقات الصناعية. تعد بسيطة وسهلة الاستخدام ميزة مهمة للغاية. هذه هي قيمة مكتبات التغليف العليا الأخرى: لا داعي للبدء في تصميم الشبكة من أشعة الحبيبات الموتر ، ولكن من الطبقة العليا من شبكة تصميم الطبقة الحبيبية.

    شعلة

    جيثب : github.com/torch/torch7

    شعلة تحديد موقع نفسك هو مكتبة حساب علمية فعالة على Luajit ، ودعم عدد كبير من خوارزميات التعلم الآلي ، وفي الوقت نفسه مفضلة على وحدة معالجة الرسومات. تتمتع Torch بتاريخ طويل ، ولكن تم تطويرها حقًا بعد أن يفتح Facebook مكون التعلم العميق. ومنذ ذلك الحين ، استخدمت الشعلة بكميات كبيرة من المنظمات مثل Google و Twitter و NYU و Idiap و Purdue. الهدف من Torch هو جعل خوارزمية الحوسبة العلمية للتصميم مريحة ، والتي تحتوي على عدد كبير من التعلم الآلي ، ورؤية الكمبيوتر ، ومعالجة الإشارات ، والعمليات المتوازية ، والصور ، والفيديو ، ومكتبات معالجة الشبكات ، وما شابهًا لـ Caffe ، Torch يحتوي على A عدد كبير من الكميات الكبيرة تدريب نموذج التعلم العميق. وهو يدعم بنية الخريطة الطوبولوجية للشبكة العصبية المعقدة للغاية ، ثم يتوازى مع وحدة المعالجة المركزية ووحدة معالجة الرسومات. إنها بسيطة نسبيًا لتصميم طبقة جديدة على الشعلة.

    يستخدم مكالمات لغة السيناريو السفلية C ++ Plus مثل TensorFlow ، لكن Torch يستخدم Lua. أداء Lua ممتاز للغاية (غالبًا ما يتم استخدام هذه اللغة لتطوير الألعاب) ، يمكن أن يحقق الكود الشائع 80 من الأداء C من خلال تحسين JIT الشفاف ؛ من حيث الراحة ، فإن بناء جملة Lua يسهل قراءته أيضًا ، وامتلاكه من السهل إتقان البنية الجميلة والموحدة ، وهو أبسط بكثير من كتابة C/C ++. في الوقت نفسه ، لدى Lua واجهة مباشرة للغاية تسمى برنامج C ، والتي يمكن أن تستخدم ببساطة عددًا كبيرًا من C. المكتبات المستندة إلى المكتبات. نظرًا لأن CORT BOTTER مكتوب بواسطة C ، لذلك يتم كتابته في C ، لذلك يتم كتابته ، لذلك يتم كتابته ، لذلك يتم كتابته ، لذلك يتم كتابته بـ C ، لذلك يتم كتابته بواسطة C ، لذلك it is written in C, so it is written in C, so it is written by C, so it is written in C, so it is written in C, so it is written in C, so it is written in C. It can also be easily transplanted to various environments. LuaLinuxMaciOSAndroidFPGALuaJITCaffeTensorFlow

    PythonLuaJIT

  • LuaJITPythonLuaJITCpointers

  • يحتوي إطار Torch على LUA ذاتيًا ، في حين أن البرامج القائمة على الثعبان يتم زرعها بشكل سيء على منصات وأنظمة مختلفة ، وتعتمد المزيد من المكتبات الخارجية.

  • من السهل جدًا التعلم واجهة التوسع في FFI من Luajit ، والتي يمكن أن تربط المكتبات الأخرى بسهولة إلى Torch. صمم Torch أيضًا كائن Tensor tensor من نوع صفيف n-dimension. التوتر في الشعلة هو رؤية للذاكرة. في الوقت نفسه ، قد يكون للذاكرة العديد من المشاهدات (الموتر). الذاكرة) والراحة. في الوقت نفسه ، يوفر Torch أيضًا الكثير من المكتبات ذات الصلة ، بما في ذلك الجبر الخطي ، واللحقات ، والتحول فورييه ، والرسم والإحصائيات ، كما هو مبين في الشكل 2-5.

  • الشكل 2-5 مكتبة معالجة البيانات التي توفرها الشعلة

    تدعم مكتبة Torch's NN الشبكات العصبية ، والرماة الذاتية ، والانحدار الخطي ، وشبكات الالتفاف ، والشبكات العصبية المتداولة ، وما إلى ذلك في نفس الوقت ، فإنه يدعم وظائف الخسارة المخصصة وحسابات التدرج. نظرًا لأن Torch يستخدم Luajit ، يمكن للمستخدمين استخدام المعالجة المسبقة للبيانات والعمليات الأخرى في LUA لاستخدام الدورة والعمليات الأخرى دون الحاجة إلى القلق بشأن مشكلات الأداء كما هو الحال في Python ، ولا يحتاجون إلى تعلم العديد من مكتبات الحوسبة المتسارعة في Python. ومع ذلك ، فإن LUA ليس سائدًا من Python ، ولديه تكاليف تعليمية لمعظم المستخدمين. سيتم تحسين حسابات الشعلة الموجودة على وحدة المعالجة المركزية باستخدام OpenMP و SSE. يستخدم GPU CUDA و CUTORCH و CUNN و CUDNN للتحسين وغلاف CUDA-Convnet.

    تتمتع Torch بالعديد من ملحقات الحمل الثالثة التي يمكن أن تدعم RNN ، بحيث تدعم Torch أساسًا جميع الشبكات الرئيسية. على غرار Caffe ، يعتمد Torch أيضًا على اتصال الطبقة لتحديد الشبكة. لا يزال يتعين تطبيق الطبقة الجديدة في Torch من قبل المستخدم بمفرده ، ولكن طريقة تحديد الطبقة الجديدة تشبه إلى حد كبير طريقة تعريف الشبكة. إنها ليست مزعجة مثل Caffe. يحتاج المستخدمون إلى استخدام C ++ أو كودا لتحديد الطبقة الجديدة. في الوقت نفسه ، Torch هو وضع برمجة الأوامر. على عكس Theano و TensorFlow ينتمي إلى برمجة العبارات (مخطط الحساب هو بنية ثابتة محددة مسبقًا) ، لذلك من المفيد استخدامه لتنفيذ عمليات معقدة معينة (مثل البحث عن الشعاع ) من theano و tensorflow.

    كيراس

    الموقع الرسمي : keas.io

    جيثب : github.com/fchollet/keras

    كيراس إنها مكتبة الشبكة العصبية التي تدعو إلى الحد الأدنى ، وتنفيذها مع Python ، ويمكن تشغيلها على TensorFlow و Theano في نفس الوقت. يهدف إلى السماح للمستخدمين بإجراء أسرع تجارب النموذج الأولي وجعل الأفكار أقصر عملية. يدعم مخطط حساب Theano و TensorFlow حسابات أكثر شيوعًا ، بينما يتخصص Keras في التعلم العميق. يشبه Theano و TensorFlow أشبه في مجال التعلم العميق ، في حين أن Keras تعلم في هذا المجال. إنه يوفر واجهة برمجة التطبيقات الأكثر ملاءمة حتى الآن. يحتاج المستخدمون فقط إلى تهجئة الوحدات النمطية عالية المستوى معًا لتصميم الشبكات العصبية ، مما يقلل بشكل كبير من فهم النفقات العامة (رمز) وقراءة رمز الآخرين.

    كما أنه يدعم الشبكات التلافيفية والشبكات الدائرية ، ويدعم نموذج المستوى أو نموذج أي بنية الرسم البياني (مما يسمح لبعض البيانات بتخطي بعض الطبقة للاتصال بالطبقة خلفها ، مما يجعل من الأسهل إنشاء شبكات معقدة مثل البدء) وحدة المعالجة المركزية إلى تسارع GPU دون أي رمز. نظرًا لأن الطبقة السفلية تستخدم Theano أو TensorFlow ، مقارنةً بالثنين السابقين ، لا توجد خسارة في الأداء مقارنة بالثنين السابقتين (يمكنك أيضًا الاستمتاع بتحسين الأداء الناتج عن التطوير المستمر للاثنين السابقين) ، ولكن تبسيط تعقيد من البرمجة ، وإنقاذ المحاولات الجديدة لتجربة محاولات جديدة من بنية الشبكة. يمكن القول أنه كلما كان النموذج أكثر تعقيدًا ، زادت فوائد استخدام الكيراس ، وخاصة في النموذج مثل مشاركة قيمة الاعتماد العالية ، ومجموعة متعددة الطرازات ، والتعلم متعدد المهام ونماذج أخرى ، يعد Keras بارزًا للغاية.

    جميع الوحدات النمطية في الكيراس بسيطة وسهلة الفهم ، وتكوينها بالكامل ، يمكن إدراجها في الإرادة ، ولا تملك بشكل أساسي أي قيود. وحدات مثل الشبكات العصبية ، وظائف الخسارة ، والتحسينات ، وطرق التهيئة ، ووظائف التنشيط والتنظيم كلها هل جميع الوحدات كلها وحدات كلها وحدات كلها وحدات. يمكن الجمع بينها بحرية. تتضمن Keras أيضًا معظم حيل الحالة ، بما في ذلك Adam و RMSPROP وتطبيع الدُفعات و Prelu و ELU و Teedlelu ، إلخ. في الوقت نفسه ، من السهل أيضًا إضافة الوحدة النمطية الجديدة ، مما يجعل Keras مناسبًا جدًا لأبحاث القطع. يتم تعريف النماذج في keras أيضًا في Python. على عكس Caffe و CNTK ، وما إلى ذلك ، هناك حاجة إلى ملفات إضافية لتحديد النموذج. هذا يمكن أن يصحح بنية النموذج والعديد من الأرقام الفائقة عن طريق البرمجة عن طريق البرمجة.

    في keras ، لا تحتاج سوى بضعة أسطر من التعليمات البرمجية إلى تحقيق MLP ، أو عشرة خطوط من التعليمات البرمجية لتحقيق Alexnet ، والتي من المستحيل في الأساس إكمالها في أطر التعلم العميق الأخرى. قد لا تتمكن أكبر مشكلة في KERAS من استخدام وحدات معالجة الرسومات المتعددة مباشرة ، لذلك لا يوجد إطار آخر لسرعات معالجة البيانات الكبيرة التي تدعم الأطر متعددة الفusات والأطر الموزعة. يشبه تصميم نموذج البرمجة في Keras Torch ، ولكن بالمقارنة مع Torch ، تم بناء Keras على Python. هناك مجموعة كاملة من سلاسل أدوات الحوسبة العلمية ، ولغة برمجة Torch ليس لديها سلسلة أدوات الحوسبة العلمية. بغض النظر عن عدد المجتمعات أو النشاط ، فقد تجاوز معدل النمو الحالي في كيراس الشعلة.

    mxnet

    موقع الويب الرسمي : mxnet.io

    جيثب : github.com/dmlc/mxnet

    mxnet إنها مكتبة تعليمية عميقة مفتوحة المصدر وخفيفة الوزن ومحمولة ومرنة تم تطويرها بواسطة DMLC (مجتمع التعلم الآلي الموزع). إنها تتيح للمستخدمين الخلط مع وضع البرمجة الرمزية ووضع برمجة التعليمات لزيادة الكفاءة والمرونة في الوقت الحالي إطار التعلم الموصى به من قبل AWS.

    العديد من مؤلفي MXNET صينيون. أكبر منظمة مساهمتها هي Baidu. وفي الوقت نفسه ، يأتي العديد من المؤلفين من برامج التعلم العميق مثل CXXNET و Minerva و Purine2. هذا هو أول من يدعم GPU متعددة وتوزيعه في كل إطار ، وأدائه الموزع مرتفع للغاية أيضًا. جوهر MXNET هو جدولة ديناميكية تعتمد على دعم مهام الحوسبة التلقائية لعمليات وحدات معالجة الرسومات المتعددة أو المجموعات الموزعة (تدعم AWS ، Azure ، الغزل ، إلخ).

    تتيح خوارزمية تحسين مخطط الحساب العلوية الخاصة بها بالحساب الرمزي للتنفيذ بسرعة كبيرة ، ويحفظ الذاكرة ، وسيوفر نموذج المرآة المزيد من الذاكرة. يمكنك أيضًا تشغيل مهام مثل التعرف على الصور القائمة على التعلم العميق على الأجهزة المحمولة (Android ، iOS).

    بالإضافة إلى ذلك ، تتمثل ميزة كبيرة في MXNet في أن العديد من عبوات اللغة ، مثل C ++ و Python و R و Julia و Scala و Go و Matlab و JavaScript الدعم. قد يكون بناء شبكة في MXNET أطول من الأطر مثل مغلفة عالية مثل keras و torch ، ولكن أسرع من استخدام theano مباشرة. بنيات نظام MXNET على جميع المستويات (أدناه هي الطبقات السفلية لنظام الأجهزة ونظام التشغيل ، والواجهات مجردة بشكل متزايد) كما هو موضح في الشكل 2-6.

    الشكل 2-6 MXNET بنية نظام

    CNTK

    الموقع الرسمي : cntk.ai

    جيثب : github.com/mitrosoft/cntk

    CNTK (مجموعة أدوات الشبكة الحسابية) هو إطار عمل تعليمي عميق للمصدر المفتوح لمعهد Microsoft Research Institute (MSR). تم إنشاؤه لأول مرة بواسطة متحدث عن جنون Start the Deep Learning. لقد تطورت الآن إلى نظام تعليمي عميق عام ، ويتم استخدامه على نطاق واسع في مجال التعرف على الصوت. يصف CNTK الشبكات العصبية على أنها سلسلة من عمليات الحوسبة من خلال رسم تخطيطي للاتجاه. يمثل هذا النوش الفرعي في الرسم البياني معلمات الإدخال أو الشبكة ، وتمثل العقد الأخرى عمليات مصفوفة مختلفة. يدعم CNTK شبكات التغذية المرتدة المختلفة ، بما في ذلك MLP و CNN و RNN و LSTM ونموذج التسلسل إلى التسلسل ، وما إلى ذلك ، ويدعم أيضًا التدرج التلقائي. يحتوي CNTK على مكون شبكة عصبي غني بالرضا يسمح للمستخدمين بتصميم طبقات جديدة ومعقدة من خلال مجموعة دون كتابة C ++ أو CUDA في الطبقة السفلية. لدى CNTK جودة رمز المنتج ويدعم التدريب متعدد الآلات وموزع متعددة GPU.

    تصميم CNTK موجه نحو الأداء ، وله أداء جيد للغاية في وحدة المعالجة المركزية ، وحدات معالجة الرسومات المفردة ، ومجموعات GPU ، و GPU. في الوقت نفسه ، قللت تقنية الضغط التي تم إطلاقها مؤخراً من Microsoft إلى حد كبير من سعر الاتصال وجعلت تدريبًا متوازيًا على نطاق واسع. تدعي CNTK أيضًا أن لديها مرونة عالية. مثل CAFFE ، فإنها تحدد بنية الشبكة من خلال ملفات التكوين ، ثم تنفيذ التدريب من خلال برامج سطر الأوامر لدعم بناء أي مخطط حوسبة ودعم طرق تحسين مثل ADAGRAD و RMSPROP. ميزة أخرى مهمة له هي التوسع. بالإضافة إلى جوهر الحوسبة المدمج على نطاق واسع ، تتيح CNTK أيضًا للمستخدمين تحديد عقد الحوسبة الخاصة بهم لدعم التخصيص العالي.

    CNTK20169CNTKPythonC++C#CNTKCaffeC++PCLinuxMacWindowsARM2-7CNTK

    2-7 CNTK

    CNTKGPUGPUCNTK1-bit SGDmini-batching2-8CNTK201512CNTK8GPU8GPU

    2-8 CNTK

    Deeplearning4J

    جيثب : github.com/deeplearning4j/deeplearning4j

    Deeplearning4J DL4JJavaScalaSkymind20146IBMDL4JDL4Jn-dimensional arrayCPUGPUCaffeHadoopSparkAWSAzureDL4J

    DL4JJavaJavaHadoopSparkDL4JJVMLibraryDL4JND4JJVMNumPyDL4J

    عن المؤلف

    PPmoneyGoogle TensorFlow Contributor700010SIGMOBILE MobiComIEEE Transactions on Image ProcessingMobiCom

    At present, the UPTAKE company in Chicago has led the team to establish data science engines for multiple IoT fields for conditions and health monitoring. It has also established the company's prediction model engine and is now used in large -scale machinery fields such as aviation and طاقة.TensorFlowDMLCTensorFlowXGBoostMXNetcommitterTF.LearnggfortifycaretpandasOpen Source Peer BonusDataNovo

    خير! خير!TensorFlow151522010

    GoogleTensorFlow V1.0

    الوشق مزدوج 11 إعادة التدوير "المختار": ثواني الأسهم كوي أكثر من 2 مليون شخص إلى الأمام

    حافلة الضامن الأمني وانغ: الذين يعيشون في وظائف الأمن هناك "نجم" خدمة!

    العالمية "شبكة الأحمر" العودة الى الوطن صباح غد لبدء بناء تشينغداو IKEA

    بكين دونغتشنغ 157 كوادر على مستوى المجتمع المحلي، وخدمة الشعب أن تفعل أشياء العملية للأطفال

    السيارة لا تسأل، وعشرة ملايين وثمانية أكثر من قليل من الزيت، مساحة كبيرة ومفتوحة جيدة!

    Suning اليوم الأول من المعركة 2-11: شكلت الاكثر شهرة الدخن TOP3 السلع لمدة

    تصميم عدد العام "إمبراطورية رسمت"، في محاولة لتخفيف الناس "شعور فقدان السيطرة" في العاصمة ل| استوديو صغير كبير

    عمق خوارزمية تعزيز التعلم تطلعيه

    ممنوع إطلاق مدينة الملح شاكر الثلوج، وشركة يونيليفر قد لم يعد من الممكن إنشاء منصب CMO | حزب اليومية

    iGame RTX 20 فولكان في نهاية المطاف الشاشة الجانب بطاقة الترقية: 60 اللون المنقولة FIG.

    مصنع للملابس في غاية الصعوبة لتجنيد أشخاص الراتب الشهري لأكثر من 90 فضل لماذا شقيق الوجبات الجاهزة

    السويد يريد قطار ليلي "الانتعاش"، والذي هو جزء من التخطيط البيئي