Table of Contents[Veşartin][Rêdan]
Ger hûn vê dixwînin, bê guman we jixwe rêwîtiya xwe ya fêrbûna kûr dest pê kiriye. Ger hûn di vê mijarê de nû ne, fêrbûna kûr pêvekek e ku strukturên bêhempa yên mîna mêjî bi navê torên neuralî yên çêkirî bikar tîne da ku komputerên mîna mirovî yên ku pirsgirêkên cîhana rast çareser dikin ava bike.
Ji bo arîkariya pêşkeftina van sêwiranan, behmanên teknolojiyê yên mîna Google, Facebook, û Uber ji bo hawîrdora fêrbûna kûr a Python çarçoveyek cûrbecûr pêş xistine, ku famkirin, afirandin û perwerdekirina torên neuralî yên cihêreng hêsantir dike.
Çarçoveyek fêrbûna kûr perçeyek nermalavê ye ku akademîsyen û zanyarên daneyê bikar tînin da ku modelên fêrbûna kûr biafirînin û perwerde bikin.
Armanca van çarçoweyan ev e ku meriv îmkan bide kesan ku modelên xwe perwerde bikin bêyî ku teknîkên li pişt fam bikin hînbûna kûr, torên neuralî, û fêrbûna makîneyê.
Bi navgînek bernamesaziya asta bilind, van çarçove blokên avahîsaziyê ji bo çêkirin, perwerdekirin û verastkirina modelan peyda dikin.
Em ê li TensorFlow, Keras, Apache MXNet, Microsoft CNTK, û DeepLearing4j wekî alternatîfên PyTorch, ku pir tê bikar anîn, binêrin. çarçoveya fêrbûna kûr.
Pytorch çi ye?
PyTorch pirtûkxaneyek fêrbûna makîneyê ya belaş, çavkaniya vekirî ye ku bi pirtûkxaneya Torch Python ve hatî çêkirin.
Ew ji hêla koma Lêkolînê ya AI-ê ya Facebook-ê ve hate afirandin û wekî pirtûkxaneyek belaş û çavkaniya vekirî di Çileyê 2016-an de bi serîlêdanên di dîtina komputerê, fêrbûna kûr, û pêvajoya zimanê xwezayî de hate weşandin.
Ew xwedan zimanek bernamesaziya mecbûrî û Pythonic e ku kodê wekî modelek piştgirî dike, debugkirinê hêsantir dike, û bi pirtûkxaneyên din ên hesabkeriya zanistî yên populer re hevaheng e, hemî di heman demê de ku bikêr dimîne û bilezkerên hardware yên mîna GPU-yê çalak dike.
PyTorch di nav lêkolînerên fêrbûna kûr de ji ber baldariya xwe ya li ser bikêrhatîbûn û ramanên performansa bêkêmasî populer bûye.
Ew avahiyek daneya bingehîn, Tensor vedihewîne, ku rêzek pir-alî ye ku mîna rêzikên Numpy-yê ye, ku dihêle bernamenûs bi hêsanî dîzaynek tevlihev dîzayn bikin. torê neural.
Ew di sektorên heyî û di civata akademîk de ji ber nermbûn, bilez û hêsaniya wê ya pêkanînê populertir dibe, û ew dike yek ji amûrên fêrbûna kûr a herî populer.
Taybetmendiyên sereke yên Pytorch
- PyTorch Python-navendî, an "pythonic" e, ji ber ku ew ji bo entegrasyona kûr bi bernamesaziya Python-ê re ji bilî ku wekî navbeynkarek ji pirtûkxaneyek ku bi zimanek din hatî pêşve xistin re xizmet bike tê mebest kirin.
- Fêrbûna hêsan - PyTorch heman strukturê wekî bernamesaziya kevneşopî dişopîne û bi hûrgulî hatî belge kirin, digel ku civata pêşdebir her gav hewl dide ku wê zêde bike. Ji ber vê yekê fêrbûna hem ji bo bernamenûs û hem jî ne-bernamenûs hêsan e.
- PyTorch dikare xebata hesabkerî li ser çend CPU an dabeş bike GPU core bi karanîna kapasîteya paralelîzma daneyê. Her çend paralelîzma wekhev bi teknîkên din ên fêrbûna makîneyê re were çêkirin jî, PyTorch wê pir hêsantir dike.
- Debugging: Yek ji gelek amûrên nerastkirina Python-ê yên ku bi berfirehî têne gihîştin (mînak, amûrên pdf û ipdb yên Python) dikare were bikar anîn da ku PyTorch xelet bike.
- PyTorch grafikên hesabker ên dînamîkî piştgirî dike, ku tê vê wateyê ku tevgera torê dikare di dema xebitandinê de bi rengek dînamîkî were guheztin.
- PyTorch bi modulên cihêreng ên ku bi taybetî hatine afirandin tê, wek mînak torchtext, torchvision, û torchaudio, ku dikare were bikar anîn da ku bi qadên cihêreng ên fêrbûna kûr re mijûl bibe, wekî NLP, dîtina komputerê, û hilberandina deng.
Sînorên Pytorch
- Têkiliyên çavdêrîkirin û dîtinê yên tixûbdar: Dema ku TensorFlow ji bo çêkirina grafika modelê (TensorBoard) amûrek dîtbarî ya hêzdar vedihewîne, PyTorch naha vê taybetmendiyê tune. Wekî encamek, pêşdebir dikarin ji derve ve bi TensorBoard ve girêbidin an yek ji Pythonên heyî yên pirjimar bikar bînin. amûrên dîtbariya daneyê.
- PyTorch ne dawî-bi-dawî ye fêrbûna makîneyê platforma pêşveçûnê; ew serîlêdanan li ser server, stasyonên xebatê, û cîhazên mobîl bicîh dike.
Ji ber van hemî sedeman, lêgerîna alternatîfên herî baş ên Pytorch dê biryarek biaqil be.
Alternatîfên Pytorch yên herî populer
Li vir navnîşa çêtirîn alternatîfên Pytorch heye.
1. Tensorflow
TensorFlow çarçoveyek fêrbûna kûr, çavkaniyek vekirî ye ku ji hêla Google ve hatî afirandin. Ew standard jî piştgirî dike fêrbûna makîneyê. TensorFlow li şûna fêrbûna kûr, bi hesabên hejmarî yên mezin di hişê xwe de hate sêwirandin.
Wekî din, ew ji bo pêşkeftina fêrbûna kûr jî pir bi qîmet bû, ji ber vê yekê Google ew belaş peyda kir. TensorFlow daneyan di forma rêzikên pir-alî yên bi dimenên mezintir, ku wekî tensor têne zanîn, digire. Dema ku meriv bi cildên mezin ên daneyê re mijûl dibe, rêzikên pir-dimensî dibin alîkar.
TensorFlow li ser bingeha grafikên herikîna daneya girêk-kêvî ye. Ji ber ku rêbaza darvekirinê forma grafîkan digire, dema ku GPU-yê bikar tîne, pêkanîna koda TensorFlow li ser komek komputeran pir hêsantir e.
C#, Haskell, Julia, R, Ruby, Rust, û Scala di nav wan zimanan de ne ku civata TensorFlow ji wan re piştgirî çêkiriye. TensorFlow feydeya hebûna hejmareke mezin ji xalên gihîştinê pêşkêşî dike.
Ji bilî zimanan, TensorFlow xwedan rêzek mezin a amûran e ku bi wê ve girêdayî ye an jî li ser wê têne çêkirin.
Feyda
- Ew bikarhêner-heval e. Heke hûn bi Python-ê nas in, hilgirtina wê hêsan e.
- Piştgiriya ji civakê. TensorFlow bi pratîkî her roj ji hêla pêşdebirên pispor ên Google û rêxistinên din ve tê çêtir kirin.
- TensorFlow Lite dikare were bikar anîn da ku modelên TensorFlow li ser cîhazên mobîl bicîh bîne.
- Tensorboard amûrek ji bo şopandin û dîtbarkirina daneyan. Ger hûn dixwazin modelên fêrbûna kûr a xwe di çalakiyê de temaşe bikin, ev amûrek hêja ye ku bikar bînin.
- Tensorflow.js destûrê dide te ku hûn JavaScript-ê bikar bînin da ku modelên fêrbûna kûr a rast-dem di gerokê de bimeşînin.
dezawantajên
- TensorFlow xwedan avahiyek bêhempa ye, ku vedîtin û xeletkirina xeletiyan dijwartir dike.
- Piştgiriyek OpenCL tune.
- TensorFlow ji bo bikarhênerên pergala xebitandina Windows-ê gelek kapasîteyên peyda nake. Ew ji bo bikarhênerên Linux-ê gelek kapasîteyan vedike. Lêbelê, bikarhênerên Windows-ê hîn jî dikarin TensorFlow bi karanîna bileziya anaconda an pakêta pip dakêşin.
- TensorFlow di warê pêşkêşkirina xelekên sembolîk ên ji bo rêzikên nediyar de li paş dimîne. Ji bo rêzikên taybetî karanîna wê ya taybetî heye, ku ew dike pergalek bikêr. Wekî encamek, ew wekî API-a asta nizm tê hesibandin.
2. Keras
Keras pirtûkxaneyek fêrbûna kûr a Python-ê ye, ku wê ji çarçoveyek fêrbûna kûr a din vediqetîne.
Ew zimanek bernamesaziyê ya asta bilind e ku a torê neural pênase API. Ew dikare hem wekî navgînek bikarhêner û hem jî ji bo baştirkirina kapasîteyên çarçoveyên fêrbûna kûr a ku li ser wan dimeşîne were bikar anîn.
Ew çarçoveyek minimalîst e ku sivik e û karanîna wê hêsan e. Ji ber van sedeman, Keras beşek ji API-ya bingehîn a TensorFlow e. Eniya Keras di lêkolînê de destûrê dide prototîpa bilez a modelên tora neuralî.
API rasterast tê girtin û bikar anîn, digel bonusa lêzêdekirî ku dihêle ku model bi hêsanî di navbera çarçoweyan de werin veguheztin.
Feyda
- Keras API-ya karanîna hêsan e. API-ya baş-sêwirandî, objekt-oriented, û adapteyî ye, ku di encamê de ezmûnek bikarhênerek xweştir peyda dike.
- Piştgiriya perwerdehiya belavkirî û paralelîzma pir-GPU-yê hatî çêkirin.
- Keras modulek xwecî ya Python e ku gihîştina hêsan a hawîrdora zanistiya daneya Python-ê ya bêkêmasî peyda dike. Mînakî, modelên Keras dikarin bi karanîna Python scikit-learn API bikar bînin.
- Keras ji bo çend modelên fêrbûna kûr giraniyên pêş-perwerdekirî vedihewîne. Em dikarin van modelan rasterast bikar bînin da ku pêşbîniyan bikin an taybetmendiyan derxînin.
dezawantajên
- Dikare pir acizker be ku meriv bi rêkûpêk pirsgirêkên paşîn-asta nizm bigire. Van pirsgirêkan dema ku em hewl didin ku karên ku Keras nedixwest pêk bîne, derdikevin.
- Dema ku bi paşpirtikên wê re were berhev kirin, dibe ku ew li ser GPU-yê sist be û hesabkirina wê dirêjtir bigire. Wekî encamek, dibe ku em ji bo dostaniya bikarhêner leza xwe tawîz bikin.
- Dema ku bi pakêtên din ên wekî sci-kit-learn re were berhev kirin, kapasîteyên pêş-pêvajoya daneya Keras ne ew qas balkêş in.
3. Apache MX Net
Yê din yê navdar Çarçoveya Hînbûna Kûr MXNet e. MXNet, ku ji hêla Weqfa Nermalava Apache ve hatî afirandin, gelek zimanan piştgirî dike, di nav de JavaScript, Python, û C++.
Karûbarên Webê yên Amazon jî di pêşkeftina modelên fêrbûna kûr de MXNet piştgirî dike. Ew zehf berbelav e, rê dide perwerdehiya modela bilez, û ew bi cûrbecûr zimanên komputerê re hevaheng e.
Ji bo xweşbînkirina lez û berberiyê, MXNet dihêle hûn zimanên bernamesaziyê yên sembolîk û mecbûrî tevlihev bikin. Ew li ser plansaziyek pêwendiya dînamîkî ye ku di demek rast de çalakiyên sembolîk û mecbûrî paralel dike.
Li ser vê yekê, qatek optimîzasyona grafikê pêkanîna sembolîk bilez û bîranînê aborî dike. MXNet pirtûkxaneyek portable û sivik e.
Ew ji hêla GPU-yên NVIDIA PascalTM ve tête hêz kirin û li ser gelek GPU û nodeyan tê pîvandin, ku dihêle hûn modelan zûtir perwerde bikin.
Feyda
- GPU-yan piştgirî dike û moda pir-GPU heye.
- Bi bandor, berbelav û birûsk-lez.
- Hemî platformên sereke li ser rê ne.
- Xizmetkirina modela hêsan e, û API zû ye.
- Scala, R, Python, C++, û JavaScript di nav zimanên bernamesaziyê de ne.
dezawantajên
- MXNet piçûktir heye çavkaniya vekirî civaka ji TensorFlow.
- Ji ber nebûna piştgiriyek girîng a civakê, çêtirkirin, rastkirinên xeletiyan, û çêtirkirinên din ji bo pêkanîna demek dirêjtir digirin.
- MxNet, her çend ji hêla gelek pargîdaniyên di pîşesaziya IT-ê de bi berfirehî tê xebitandin jî, wekî Tensorflow ne naskirî ye.
4. Microsoft CNTK
Microsoft Cognitive Toolkit (CNTK) ji bo fêrbûna kûr a belavkirî çarçoveyek çavkaniya vekirî ya bazirganî ye. Ew bi gelemperî ji bo afirandina tê bikaranîn torên neural, lê di heman demê de dikare ji bo fêrbûna makîneyê û hesabkirina cognitive jî were bikar anîn.
Ew cûrbecûr zimanan piştgirî dike û karanîna li ser ewr hêsan e. Ji ber van taybetmendiyan, CNTK ji bo cûrbecûr sepanên AI-ê guncan e. Her çend em dikarin C++-ê bikar bînin da ku fonksiyonên wê bişopînin, vebijarka herî pir caran karanîna bernameyek Python e.
Dema ku li ser gelek komputeran tê xebitandin, Amûrên Cognitive Microsoft-ê tê nas kirin ku ji amûrên wekî Theano an TensorFlow performansa çêtir û mezinbûnê dide.
Microsoft Cognitive Toolkit hem modelên neuralî yên RNN û hem jî CNN piştgirî dike, ku wê ji bo karên naskirina wêne, destnivîs û axaftinê guncan dike.
Feyda
- Yekbûna bi Apache Spark, motorek analîtîka daneyê, hêsan e.
- Mezinbûna CNTK-ê di gelek karsaziyan de ew kiriye bijarek populer. Gelek hêmanên xweşbînkirî hene.
- Performansa stabîl û baş pêşkêşî dike.
- Bi Azure Cloud re xweş dixebite, ku her du jî ji hêla Microsoft-ê ve têne piştgirî kirin.
- Bikaranîna çavkaniyê û rêvebirin bi bandor e.
dezawantajên
- Li gorî Tensorflow, piştevaniya civakê kêm e.
- Kevirek hînbûnê ya hişk.
- Ew ji panelek dîtbar û hem jî piştgiriya ARM tune.
5. DeepLearning4j
Ger Java zimanê bernameya weya bingehîn e, DeepLearning4j çarçoveyek baş e ku meriv bikar bîne. Ew pirtûkxaneyek fêrbûna kûr a belavkirî ye ku pola bazirganî û çavkaniya vekirî ye.
Hemî celebên sêwiranên tora neuralî, wekî RNN û CNN, têne piştgirî kirin. Deeplearning4j ji bo fêrbûna kûr pirtûkxaneyek Java û Scala ye.
Ew bi Hadoop û Apache Spark re jî xweş dixebite. Deeplearning4j ji bo çareseriyên fêrbûna kûr a Java-yê alternatîfek ecêb e ji ber ku ew GPU jî piştgirî dike.
Gava ku dor tê çarçoweya fêrbûna kûr a Eclipse Deeplearning4j, hin taybetmendiyên berbiçav perwerdehiya paralel bi navgîniya kêmkirina dubare, adaptasyona mîmariya karûbarê mîkro, û CPU û GPU-yên belavkirî hene.
Feyda
- Ew belge û arîkariya civakê ya hêja heye.
- Yekbûna Apache Spark hêsan e.
- Ew berbelav e û jêhatî ye ku hêjmarên mezin ên daneyê bi rê ve bibe.
dezawantajên
- Li gorî Tensorflow û PyTorch, ew kêmtir populer e.
- Java tenê zimanê bernamekirinê ye.
Xelasî
Hilbijartina çarçoveyek fêrbûna kûr a çêtirîn karekî dijwar e. Zêdetir ji ber ku gelek ji wan hene, navnîş wekî daxwazê mezin dibe çêkirî sepanên lêkolîn û fêrbûna makîneyê mezin dibin. Her çarçoveyek xwedan erênî û kêmasiyên xwe hene.
Pêdivî ye ku çend nirx bêne çêkirin, di nav de ewlehî, pîvanbûn, û performans. Di pergalên pola pargîdanî de, pêbawerbûn hîn girîngtir dibe.
Heke hûn nû dest pê dikin, Tensorflow cîhek baş e ku hûn dest pê bikin. Heke hûn hilberek bazirganî ya Windows-ê pêşve dikin CNTK-ê hilbijêrin. Heke hûn Java-yê tercîh dikin, DL4J bikar bînin.
Leave a Reply