Taula de continguts[Amaga][Espectacle]
Un marc per a l'aprenentatge profund consisteix en una combinació d'interfícies, biblioteques i eines per definir i entrenar models d'aprenentatge automàtic de manera ràpida i precisa.
Com que l'aprenentatge profund utilitza una gran quantitat de dades no estructurades i no textuals, necessiteu un marc que controli la interacció entre les "capes" i faci que el desenvolupament del model sigui ràpid aprenent de les dades d'entrada i prenent decisions autònomes.
Si esteu interessats a aprendre sobre l'aprenentatge profund el 2021, penseu a utilitzar un dels marcs que s'indiquen a continuació. Recordeu triar-ne un que us ajudi a assolir els vostres objectius i visió.
1. TensorFlow
Quan es parla d'aprenentatge profund, TensorFlow és sovint el primer marc esmentat. Molt popular, aquest marc no només és utilitzat per Google, l'empresa responsable de la seva creació, sinó també per altres empreses com Dropbox, eBay, Airbnb, Nvidia i tantes altres.
TensorFlow es pot utilitzar per desenvolupar API de nivell alt i baix, que us permeten executar aplicacions en gairebé qualsevol tipus de dispositiu. Tot i que Python és el seu llenguatge principal, es pot accedir a la interfície de Tensoflow i controlar-la mitjançant altres llenguatges de programació com C++, Java, Julia i JavaScript.
En ser de codi obert, TensorFlow us permet fer diverses integracions amb altres API i obtenir suport ràpid i actualitzacions de la comunitat. La seva dependència dels "gràfics estàtics" per al càlcul us permet fer càlculs immediats o desar operacions per accedir-hi en un altre moment. Aquests motius, sumats a la possibilitat que pugueu "veure" el desenvolupament de la vostra xarxa neuronal a través de TensorBoard, fan que TensorFlow sigui el marc més popular per a l'aprenentatge profund.
Característiques clau
- Codi obert
- Flexibilitat
- Depuració ràpida
2. PyTorch
PyTorch és un framework desenvolupat per Facebook per donar suport al funcionament dels seus serveis. Des que es va convertir en codi obert, aquest marc ha estat utilitzat per empreses diferents de Facebook, com Salesforce i Udacity.
Aquest marc opera gràfics actualitzats dinàmicament, cosa que us permet fer canvis a l'arquitectura del vostre conjunt de dades mentre el processeu. Amb PyTorch és més senzill desenvolupar i entrenar una xarxa neuronal, fins i tot sense cap experiència en aprenentatge profund.
En ser de codi obert i basat en Python, podeu fer integracions senzilles i ràpides a PyTorch. També és un marc senzill per aprendre, utilitzar i depurar. Si teniu preguntes, podeu comptar amb el gran suport i les actualitzacions d'ambdues comunitats: la comunitat Python i la comunitat PyTorch.
Característiques clau
- Fàcil d'aprendre
- Admet GPU i CPU
- Conjunt ric d'API per ampliar les biblioteques
3. Apatxe MXNet
A causa de la seva alta escalabilitat, alt rendiment, resolució de problemes ràpida i suport avançat de GPU, Apache va crear aquest marc per utilitzar-lo en grans projectes industrials.
MXNet inclou la interfície Gluon que permet als desenvolupadors de tots els nivells d'habilitat començar amb l'aprenentatge profund al núvol, en dispositius perifèrics i en aplicacions mòbils. En poques línies de codi Gluon, podeu crear regressió lineal, xarxes convolucionals i LSTM recurrents per a detecció d'objectes, reconeixement de veu, recomanació i personalització.
MXNet es pot utilitzar en diversos dispositius i és compatible amb diversos llenguatges de programació com Java, R, JavaScript, Scala i Go. Tot i que el nombre d'usuaris i membres de la seva comunitat és baix, MXNet té una documentació ben escrita i un gran potencial de creixement, sobretot ara que Amazon ha seleccionat aquest marc com a eina principal per a l'aprenentatge automàtic a AWS.
Característiques clau
- 8 enllaços d'idiomes
- Formació distribuïda, compatible amb sistemes multi-CPU i multi-GPU
- Front-end híbrid, que permet canviar entre els modes imperatiu i simbòlic
4. Microsoft Cognitive Toolkit
Si esteu pensant a desenvolupar aplicacions o serveis que s'executen a Azure (serveis al núvol de Microsoft), Microsoft Cognitive Toolkit és el marc per seleccionar per als vostres projectes d'aprenentatge profund. Això és de codi obert i és compatible amb llenguatges de programació com Python, C++, C#, Java, entre d'altres. Aquest marc està dissenyat per "pensar com el cervell humà", de manera que pot processar grans quantitats de dades no estructurades, alhora que ofereix un entrenament ràpid i una arquitectura intuïtiva.
Si seleccioneu aquest marc, el mateix que hi ha darrere de Skype, Xbox i Cortana, obtindreu un bon rendiment de les vostres aplicacions, escalabilitat i una integració senzilla amb Azure. Tanmateix, en comparació amb TensorFlow o PyTorch, el nombre de membres de la seva comunitat i suport es redueix.
El vídeo següent ofereix una introducció completa i exemples d'aplicació:
Característiques clau
- Documentació clara
- Suport de l'equip de Microsoft
- Visualització directa de gràfics
5. Keras
Igual que PyTorch, Keras és una biblioteca basada en Python per a projectes intensius en dades. L'API keras funciona a un alt nivell i permet integracions amb API de baix nivell com TensorFlow, Theano i Microsoft Cognitive Toolkit.
Alguns dels avantatges d'utilitzar keras són la seva senzillesa d'aprendre: és el marc recomanat per als principiants en l'aprenentatge profund; la seva velocitat de desplegament; comptant amb un gran suport de la comunitat python i de les comunitats dels altres frameworks amb els quals està integrat.
Keras conté diverses implementacions del blocs de construcció de xarxes neuronals com ara capes, funcions objectius, funcions d'activació i optimitzadors matemàtics. El seu codi està allotjat a GitHub i hi ha fòrums i un canal de suport de Slack. A més de suport per a estàndard xarxes neuronals, Keras ofereix suport per a xarxes neuronals convolucionals i xarxes neuronals recurrents.
Keras ho permet models d'aprenentatge profund per generar-se en telèfons intel·ligents tant a iOS com a Android, a una màquina virtual Java o a la web. També permet l'ús de la formació distribuïda de models d'aprenentatge profund en clústers d'Unitats de processament gràfic (GPU) i unitats de processament de tensors (TPU).
Característiques clau
- Models pre-entrenats
- Suport de múltiples backend
- Suport de la comunitat fàcil d'utilitzar i gran
6. Apple Core ML
Core ML va ser desenvolupat per Apple per donar suport al seu ecosistema: iOS, Mac OS i iPad OS. La seva API funciona a un nivell baix, fent un bon ús dels recursos de la CPU i la GPU, la qual cosa permet que els models i aplicacions creats continuïn funcionant fins i tot sense connexió a Internet, la qual cosa redueix la "empremta de memòria" i el consum d'energia del dispositiu.
La manera com Core ML aconsegueix això no és exactament fent una altra biblioteca d'aprenentatge automàtic optimitzada per funcionar en iPhones/ipads. En canvi, Core ML s'assembla més a un compilador que pren les especificacions del model i els paràmetres entrenats expressats amb un altre programari d'aprenentatge automàtic i el converteix en un fitxer que es converteix en un recurs per a una aplicació iOS. Aquesta conversió a un model Core ML es produeix durant el desenvolupament de l'aplicació, no en temps real, ja que l'aplicació s'està utilitzant, i la facilita la biblioteca de Python coremltools.
Core ML ofereix un rendiment ràpid amb una fàcil integració màquina d'aprenentatge models en aplicacions. Admet l'aprenentatge profund amb més de 30 tipus de capes, així com arbres de decisió, màquines vectorials de suport i mètodes de regressió lineal, tot basat en tecnologies de baix nivell com Metal i Accelerate.
Característiques clau
- Fàcil d'integrar a les aplicacions
- Ús òptim dels recursos locals, sense necessitat d'accés a Internet
- Privadesa: les dades no han de sortir del dispositiu
7. ONNX
L'últim marc de la nostra llista és ONNX. Aquest framework va sorgir d'una col·laboració entre Microsoft i Facebook, amb l'objectiu de simplificar el procés de transferència i construcció de models entre diferents frameworks, eines, temps d'execució i compiladors.
ONNX defineix un tipus de fitxer comú que es pot executar en diverses plataformes, alhora que utilitza els avantatges de les API de baix nivell, com ara les de Microsoft Cognitive Toolkit, MXNet, Caffe i (utilitzant convertidors) Tensorflow i Core ML. El principi d'ONNX és entrenar un model en una pila i implementar-lo mitjançant altres inferències i prediccions.
La Fundació LF AI, una suborganització de la Fundació Linux, és una organització dedicada a construir un ecosistema per donar suport de codi obert innovació en intel·ligència artificial (IA), aprenentatge automàtic (ML) i aprenentatge profund (DL). Va afegir ONNX com a projecte de grau el 14 de novembre de 2019. Aquest moviment d'ONNX sota el paraigua de la Fundació LF AI es va veure com una fita important per establir ONNX com un estàndard de format obert neutre per a proveïdors.
ONNX Model Zoo és una col·lecció de models pre-entrenats en Deep Learning disponibles en format ONNX. Per a cada model n'hi ha Quaderns Jupyter per a l'entrenament del model i realitzar inferències amb el model entrenat. Els quaderns estan escrits en Python i contenen enllaços a conjunt de dades de formació i referències al document científic original que descriu l'arquitectura del model.
Característiques clau
- Interoperabilitat del marc
- Optimització de maquinari
Conclusió
Aquest és un resum dels millors marcs per a aprenentatge profund. Hi ha diversos marcs per a aquest propòsit, gratuïts o de pagament. Per seleccionar el millor per al vostre projecte, primer heu de saber per a quina plataforma desenvolupareu la vostra aplicació.
Els marcs generals com TensorFlow i Keras són les millors opcions per començar. Però si necessiteu utilitzar avantatges específics del sistema operatiu o del dispositiu, Core ML i Microsoft Cognitive Toolkit poden ser les millors opcions.
Hi ha altres marcs destinats a dispositius Android, altres màquines i finalitats específiques que no s'han esmentat en aquesta llista. Si aquest darrer grup us interessa, us suggerim que cerqueu la seva informació a Google o en altres llocs d'aprenentatge automàtic.
Deixa un comentari