که تاسو دا لوستل کوئ، تاسو بې له شکه لا دمخه ژورې زده کړې ته خپل سفر پیل کړی دی. که تاسو دې موضوع ته نوي یاست، ژوره زده کړه یو اضافه ده چې د مغز په څیر ځانګړي جوړښتونه کاروي چې د مصنوعي عصبي شبکې په نوم یادیږي ترڅو د انسان په څیر کمپیوټرونه رامینځته کړي چې د ریښتینې نړۍ مسلو حل کوي.
د دې ډیزاینونو په پراختیا کې د مرستې لپاره، د ګوګل، فیسبوک، او اوبر په څیر ټیکنالوژۍ د Python ژور زده کړې چاپیریال لپاره مختلف چوکاټونه رامینځته کړي، چې دا د مختلفو عصبي شبکو پوهیدل، رامینځته کول او روزنه اسانه کوي.
د ژورې زده کړې چوکاټ د سافټویر یوه برخه ده چې اکاډمیک او ډیټا ساینس پوهان د ژورې زده کړې ماډلونو رامینځته کولو او روزنې لپاره کاروي.
د دې چوکاټونو هدف دا دی چې د افرادو لپاره دا ممکنه کړي چې خپل ماډلونه وروزي پرته له دې چې شاته تخنیکونه پوه شي. ژوره زده کړهعصبي شبکې، او د ماشین زده کړه.
د لوړې کچې برنامې انٹرفیس له لارې ، دا چوکاټونه د ماډلونو جوړولو ، روزنې او تصدیق کولو لپاره د ودانۍ بلاکونه چمتو کوي.
موږ به TensorFlow، Keras، Apache MXNet، Microsoft CNTK، او DeepLearing4j ته د PyTorch د بدیل په توګه وګورو، کوم چې په پراخه کچه کارول کیږي. د ژورې زده کړې چوکاټ.
Pytorch څه شی دی؟
پینټورچ یو وړیا، د خلاصې سرچینې ماشین زده کړې کتابتون دی چې د Torch Python کتابتون سره جوړ شوی.
دا د فیسبوک د AI څیړنې ګروپ لخوا رامینځته شوی او د 2016 په جنوري کې د کمپیوټر لید ، ژورې زده کړې ، او طبیعي ژبې پروسس کولو غوښتنلیکونو سره د وړیا او خلاصې سرچینې کتابتون په توګه خپور شوی.
دا یو لازمي او پایتونیک پروګرامینګ ژبه لري چې د ماډل په توګه د کوډ ملاتړ کوي، د ډیبګ کولو اسانتیا برابروي، او د نورو مشهور ساینسي کمپیوټر کتابتونونو سره مطابقت لري، پداسې حال کې چې اغیزمن پاتې کیږي او د هارډویر سرعت کونکي لکه GPUs فعالوي.
PyTorch د ژورې زده کړې څیړونکو تر مینځ شهرت کې وده کړې چې د کارونې او بشپړ فعالیت نظرونو باندې د دې تمرکز له امله مننه.
دا د لومړني ډیټا جوړښت لري، ټینسر، کوم چې د Numpy arrays سره ورته یو څو اړخیز سري دی، کوم چې پروګرامرانو ته اجازه ورکوي چې په اسانۍ سره پیچلي ډیزاین کړي. نوریال شبکه.
دا په اوسني سکتورونو او اکاډمیک ټولنه کې د دې انعطاف ، سرعت او پلي کولو اسانتیا له امله خورا مشهور کیږي ، دا د ژورې زده کړې یو له خورا مشهور وسیلو څخه جوړوي.
د Pytorch کلیدي ځانګړتیاوې
- PyTorch د Python-centric، یا "pythonic" دی، په دې کې دا د Python پروګرام کولو سره د ژور ادغام لپاره دی نه دا چې په بله ژبه کې جوړ شوي کتابتون ته د انٹرفیس په توګه خدمت وکړي.
- د زده کړې لپاره ساده - PyTorch د دودیز برنامو په څیر ورته جوړښت تعقیبوي او په دقت سره مستند شوی ، د پراختیا کونکي ټولنې سره تل هڅه کوي چې دا وده وکړي. له همدې امله د پروګرامرانو او غیر پروګرام کونکو لپاره زده کړه ساده ده.
- PyTorch کولی شي کمپیوټري کار په څو CPU باندې تقسیم کړي یا GPU کورونه د معلوماتو موازي وړتیا کاروي. که څه هم ورته موازي د ماشین زده کړې نورو تخنیکونو سره ترسره کیدی شي، PyTorch دا خورا اسانه کوي.
- ډیبګ کول: یو له ډیری پراخه لاسرسي وړ Python ډیبګ کولو وسیلو څخه (د مثال په توګه ، د Python pdb او ipdb اوزار) د PyTorch ډیبګ کولو لپاره کارول کیدی شي.
- PyTorch د متحرک کمپیوټري ګرافونو ملاتړ کوي ، کوم چې پدې معنی ده چې د شبکې چلند د چلولو په جریان کې په متحرک ډول بدلیدلی شي.
- PyTorch د مختلف ځانګړي جوړ شوي ماډلونو سره راځي، لکه مشعل متن، مشعل ویژن، او مشعل، چې د ژورې زده کړې مختلف برخو سره معامله کولو لپاره کارول کیدی شي ، لکه NLP ، کمپیوټر لید ، او غږ پروسس کول.
د Pytorch محدودیتونه
- محدود نظارت او لید انٹرفیسونه: پداسې حال کې چې TensorFlow د ماډل ګراف (TensorBoard) رامینځته کولو لپاره د لید لید ځواکمن وسیله لري ، PyTorch اوس مهال دا خصوصیت نلري. د پایلې په توګه، پراختیا کونکي کولی شي په بهر کې د TensorBoard سره وصل شي یا یو له ډیری موجود Python څخه کار واخلي اومتوک لید لید توکي.
- PyTorch له پای څخه تر پای پورې ندی ماشین زده کړه د پراختیا پلیټ فارم؛ دا غوښتنلیکونه سرورونو، ورک سټیشنونو او ګرځنده وسیلو ته ځای په ځای کوي.
د دې ټولو دلایلو لپاره ، د پیټورچ لپاره د غوره بدیلونو په لټه کې کول به یو هوښیار پریکړه وي.
د Pytorch خورا مشهور بدیلونه
دلته د Pytorch لپاره د غوره بدیلونو لیست دی.
1. Tensorflow
ټیسسر فولډ د ژورې زده کړې متمرکز، د خلاصې سرچینې چوکاټ دی چې د ګوګل لخوا رامینځته شوی. دا هم د معیار ملاتړ کوي ماشین زده کړه. TensorFlow د ژورې زده کړې پرځای په ذهن کې د لوی عددي حسابونو سره ډیزاین شوی و.
سربیره پردې، دا د ژورې زده کړې پراختیا لپاره هم خورا ارزښتناکه ثابته شوې، نو ګوګل دا په وړیا توګه چمتو کړی. TensorFlow د ډیرو ابعادو سره د څو اړخیزو صفونو په بڼه ډاټا اخلي، چې د ټینسر په نوم پیژندل کیږي. کله چې د ډیټا لوی مقدار سره معامله کوئ ، څو اړخیزه صفونه ګټور دي.
TensorFlow د نوډ-ایج ډیټا جریان ګرافونو پراساس دی. ځکه چې د اجرا کولو طریقه د ګرافونو بڼه اخلي، د GPUs کارولو پرمهال د کمپیوټرونو په کلستر کې د TensorFlow کوډ اجرا کول خورا اسانه دي.
C#، Haskell، Julia، R، Ruby، Rust، او Scala د هغو ژبو څخه دي چې د TensorFlow ټولنې یې ملاتړ رامینځته کړی. TensorFlow د لوی شمیر لاسرسي نقطو درلودو ګټه وړاندې کوي.
د ژبو تر څنګ، TensorFlow د وسیلو لوی لړۍ لري چې ورسره وصل دي یا د هغې په سر کې جوړ شوي.
ګټي
- دا د کاروونکي دوستانه ده. که تاسو د Python سره آشنا یاست، نو دا به اسانه وي چې پورته کړئ.
- د ټولنې څخه ملاتړ. TensorFlow هره ورځ په عملي توګه د ګوګل او نورو سازمانونو متخصص پراختیا کونکو لخوا ښه کیږي.
- TensorFlow Lite په ګرځنده وسیلو کې د TensorFlow ماډلونو اجرا کولو لپاره کارول کیدی شي.
- ټینسربورډ د څارنې لپاره یوه وسیله ده د معلوماتو لید. که تاسو غواړئ خپل ژورې زده کړې موډلونه په عمل کې وګورئ، دا د کارولو لپاره غوره وسیله ده.
- Tensorflow.js تاسو ته اجازه درکوي په براوزر کې د ریښتیني وخت ژور زده کړې ماډلونو چلولو لپاره جاواسکریپټ وکاروئ.
زيانونه
- TensorFlow یو ځانګړی جوړښت لري، د غلطیو کشف او ډیبګ کول ستونزمن کوي.
- د OpenCL ملاتړ نشته.
- TensorFlow د وینډوز عملیاتي سیسټم کاروونکو لپاره ډیری وړتیاوې نه وړاندې کوي. دا د لینکس کاروونکو لپاره د ظرفیتونو ډیری برخه خلاصوي. په هرصورت ، د وینډوز کارونکي لاهم کولی شي د اناکونډا پرامپټ یا پایپ کڅوړې په کارولو سره ټینسر فلو ډاونلوډ کړي.
- TensorFlow د نامعلومو ترتیبونو لپاره د سمبولیک لوپونو وړاندیز کولو شرایطو کې شاته راځي. دا د ځانګړو ترتیبونو لپاره ځانګړی کارول لري، دا د کارولو وړ سیسټم جوړوي. د پایلې په توګه، دا د ټیټې کچې API په توګه پیژندل کیږي.
2. کیراس
کیراس د Python پر بنسټ د ژورې زده کړې کتابتون دی، کوم چې دا د نورو ژورو زده کړو چوکاټونو څخه توپیر کوي.
دا د لوړې کچې پروګرامینګ ژبه ده چې تعریفوي نوریال شبکه د API تعریف. دا دواړه د کارونکي انٹرفیس په توګه کارول کیدی شي او د ژور زده کړې چوکاټونو وړتیاو ته وده ورکولو لپاره چې دا پرمخ ځي.
دا یو لږترلږه چوکاټ دی چې لږ وزن لري او کارول یې اسانه دي. د دې دلیلونو لپاره، کیراس د TensorFlow د اصلي API برخه ده. د کیرا مخکینۍ پای په څیړنه کې د عصبي شبکې ماډلونو ګړندي پروټوټایپ ته اجازه ورکوي.
API د مینځلو او کارولو لپاره مستقیم دی ، د اضافي بونس سره چې ماډلونو ته اجازه ورکوي په اسانۍ سره د چوکاټونو ترمینځ لیږدول شي.
ګټي
- د Keras API د کارولو لپاره ساده دی. API ښه ډیزاین شوی، د اعتراض پر بنسټ، او د تطبیق وړ دی، چې پایله یې د کاروونکي ډیر خوندور تجربه ده.
- د توزیع شوي روزنې او څو-GPU موازي لپاره ملاتړ جوړ شوی.
- کیراس د Python اصلي ماډل دی چې د پایتون ډیټا ساینس بشپړ چاپیریال ته ساده لاسرسی چمتو کوي. د Keras ماډلونه، د بیلګې په توګه، د Python scikit-learn API په کارولو سره کارول کیدی شي.
- کیراس کې د څو ژورو زده کړو ماډلونو لپاره دمخه روزل شوي وزنونه شامل دي. موږ کولی شو دا ماډلونه په مستقیم ډول د وړاندوینې یا استخراج لپاره وکاروو.
زيانونه
- دا په منظم ډول د ټیټې کچې پس منظر مسلو ترلاسه کول خورا په زړه پوري ځورونکي کیدی شي. دا ستونزې هغه وخت رامینځته کیږي کله چې موږ د هغه کارونو ترسره کولو هڅه کوو چې کیراس د سرته رسولو لپاره نه و.
- کله چې د دې شاتړ سره پرتله شي، دا ممکن په GPUs کې سست وي او د محاسبې لپاره ډیر وخت ونیسي. د پایلې په توګه، موږ باید د کاروونکي دوستۍ لپاره سرعت سره موافقت وکړو.
- کله چې د نورو کڅوړو سره پرتله شي لکه sci-kit-learn، د Keras ډیټا پری پروسس کولو وړتیاوې دومره زړه راښکونکي ندي.
3. اپاچی MXNet
بل مشهور د ژورې زده کړې چوکاټ MXNet دی. MXNet، چې د اپاچي سافټویر فاونډیشن لخوا رامینځته شوی، د مختلف ژبو ملاتړ کوي، پشمول جاواسکریپټ، پیتون، او C++.
د ایمیزون ویب خدمتونه د ژورې زده کړې ماډلونو په پراختیا کې د MXNet ملاتړ هم کوي. دا خورا د توزیع وړ دی ، د ګړندي ماډل روزنې لپاره اجازه ورکوي ، او دا د کمپیوټر مختلف ژبو سره مطابقت لري.
د سرعت او تولید ښه کولو لپاره، MXNet تاسو ته اجازه درکوي چې سمبولیک او اړین پروګرامینګ ژبې مخلوط کړئ. دا د متحرک انحصار مهالویش پراساس دی چې په ریښتیني وخت کې سمبولیک او لازمي فعالیتونه موازي کوي.
سربیره پردې ، د ګراف اصلاح کولو پرت سمبولیک اجرا کول ګړندي او حافظه اقتصادي کوي. MXNet یو پورټ ایبل او لږ وزن لرونکی کتابتون دی.
دا د NVIDIA PascalTM GPUs لخوا ځواکمن شوی او په ډیری GPUs او نوډونو کې د توزیع وړ دی ، تاسو ته اجازه درکوي موډلونه ډیر ګړندي وروزي.
ګټي
- د GPUs ملاتړ کوي او څو GPU حالت لري.
- موثر، د توزیع وړ، او د بریښنا ګړندی.
- ټول لوی پلیټ فارمونه په بورډ کې دي.
- د ماډل خدمت کول ساده دي، او API ګړندی دی.
- Scala، R، Python، C++، او JavaScript د ملاتړ شوي پروګرام کولو ژبو څخه دي.
زيانونه
- MXNet یو کوچنی لري د پرانيستې سرچينې د TensorFlow په پرتله ټولنه.
- اصلاحات، د بګ فکسونه، او نور پرمختګونه د پام وړ ټولنې ملاتړ نشتوالي له امله پلي کولو لپاره ډیر وخت نیسي.
- MxNet، که څه هم په پراخه کچه د IT صنعت کې د ډیری شرکتونو لخوا ګمارل شوی، د Tensorflow په توګه پیژندل شوی نه دی.
4. مایکروسافټ CNTK
د مایکروسافټ ادراکي اوزار کټ (CNTK) د توزیع شوي ژورې زده کړې لپاره د سوداګرۍ له پلوه د خلاصې سرچینې چوکاټ دی. دا عموما د جوړولو لپاره کارول کیږي نوریال شبکې، مګر د ماشین زده کړې او ادراکي کمپیوټري لپاره هم کارول کیدی شي.
دا د مختلفو ژبو ملاتړ کوي او په بادل کې کارول ساده دي. د دې ځانګړتیاو له امله، CNTK د مختلف AI غوښتنلیکونو لپاره مناسب دی. که څه هم موږ کولی شو د دې دندو غوښتنه کولو لپاره C++ وکاروو، ترټولو پرله پسې اختیار د Python برنامه کارول دي.
کله چې په څو کمپیوټرونو کې چلول کیږي، د مایکروسافټ ادراکي تولکیټ پیژندل کیږي چې د تولکیټونو لکه تیانو یا ټینسر فلو په پرتله غوره فعالیت او اندازه کولو وړتیا ورکوي.
د مایکروسافټ ادراکي اوزار کټ د RNN او CNN عصبي ماډلونو ملاتړ کوي ، دا د عکس ، لاسي لیکلو ، او وینا پیژندنې دندو لپاره مناسب کوي.
ګټي
- د اپاچي سپارک سره یوځای کولو لپاره ساده، د معلوماتو تحلیلي انجن.
- د CNTK اندازه کولو وړتیا دا په ډیری سوداګرۍ کې یو مشهور انتخاب کړی. ډیری مطلوب برخې شتون لري.
- باثباته او ښه فعالیت وړاندې کوي.
- د Azure کلاوډ سره ښه کار کوي، چې دواړه یې د مایکروسافټ لخوا ملاتړ کیږي.
- د سرچینو کارول او مدیریت اغیزمن دي.
زيانونه
- د Tensorflow په پرتله، د ټولنې لږ ملاتړ شتون لري.
- د زده کړې یو دروند وکر.
- دا د لید بورډ او همدارنګه د ARM ملاتړ نلري.
5. ژوره زده کړه4j
که جاوا ستاسو د پروګرام کولو لومړنۍ ژبه وي، DeepLearning4j د کارولو لپاره یو ښه چوکاټ دی. دا د ژورې زده کړې توزیع شوی کتابتون دی چې سوداګریزه درجه او خلاص سرچینه ده.
د عصبي شبکې ډیزاین ټول اصلي ډولونه لکه RNNs او CNNs ملاتړ کیږي. Deeplearning4j د ژورې زده کړې لپاره د جاوا او سکالا کتابتون دی.
دا د هډوپ او اپاچي سپارک سره هم ښه کار کوي. Deeplearning4j د جاوا میشته ژورې زده کړې حلونو لپاره په زړه پوری بدیل دی ځکه چې دا د GPUs ملاتړ هم کوي.
کله چې دا د Eclipse Deeplearning4j ژورې زده کړې چوکاټ ته راځي، ځینې غوره ځانګړتیاوې د تکراري کمولو له لارې موازي روزنه، د مایکرو-خدمت معمارۍ موافقت، او توزیع شوي CPUs او GPUs شامل دي.
ګټي
- دا عالي اسناد او د ټولنې مرسته لري.
- د اپاچي سپارک ادغام ساده دی.
- دا د توزیع وړ او د ډیټا لوی مقدارونو اداره کولو وړ دی.
زيانونه
- د Tensorflow او PyTorch په پرتله، دا لږ مشهور دی.
- جاوا یوازینۍ د پروګرام کولو ژبه ده.
پایله
د غوره ژورې زده کړې چوکاټ غوره کول یو ستونزمن کار دی. نور نو ځکه چې د دوی ډیری شتون لري، لیست د غوښتنې په توګه وده کوي مصنوعي هوښیارتیا د څیړنې او ماشین زده کړې غوښتنلیکونه وده کوي. هر چوکاټ د خپلو ګټو او نیمګړتیاوو سیټ لري.
ډیری ملحوظات باید په پام کې ونیول شي، په شمول د امنیت، توزیع کولو، او فعالیت. د تصدۍ درجې سیسټمونو کې، انحصار نور هم مهم کیږي.
که تاسو یوازې پیل کوئ، Tensorflow د پیل کولو لپاره یو ښه ځای دی. CNTK غوره کړئ که تاسو د وینډوز پراساس سوداګریز محصول رامینځته کوئ. که تاسو جاوا غوره کوئ، DL4J وکاروئ.
یو ځواب ورکړئ ووځي