Змест[Схаваць][Паказаць]
Рамка для глыбокага навучання складаецца з камбінацыі інтэрфейсаў, бібліятэк і інструментаў для хуткага і дакладнага вызначэння і навучання мадэляў машыннага навучання.
Паколькі глыбокае навучанне выкарыстоўвае вялікую колькасць неструктураваных, нетэкстуальных даных, вам патрэбна структура, якая кантралюе ўзаемадзеянне паміж «слаямі» і робіць распрацоўку мадэлі хуткай, навучаючыся на ўваходных дадзеных і прымаючы аўтаномныя рашэнні.
Калі вы зацікаўлены ў вывучэнні глыбокага навучання ў 2021 годзе, падумайце аб выкарыстанні адной з асноў, пазначаных ніжэй. Не забудзьцеся выбраць той, які дапаможа вам дасягнуць вашых мэтаў і бачання.
1. TensorFlow
Калі казаць пра глыбокае навучанне, TensorFlow часта з'яўляецца першым згаданым каркасам. Вельмі папулярная, гэтая структура выкарыстоўваецца не толькі Google - кампаніяй, якая адказвае за яе стварэнне - але і іншымі кампаніямі, такімі як Dropbox, eBay, Airbnb, Nvidia і многія іншыя.
TensorFlow можна выкарыстоўваць для распрацоўкі API высокага і нізкага ўзроўню, што дазваляе запускаць прыкладання практычна на любым прыладзе. Хоць Python з'яўляецца яго асноўнай мовай, інтэрфейс Tensoflow можна атрымаць і кіраваць з дапамогай іншых моў праграмавання, такіх як C++, Java, Julia і JavaScript.
Будучы адкрытым зыходным кодам, TensorFlow дазваляе вам зрабіць некалькі інтэграцый з іншымі API і атрымліваць хуткую падтрымку і абнаўленні ад супольнасці. Яго залежнасць ад «статычных графікаў» для вылічэнняў дазваляе рабіць неадкладныя вылічэнні або захоўваць аперацыі для доступу ў іншы час. Гэтыя прычыны, дададзеныя да магчымасці «назіраць» за развіццём сваёй нейронавай сеткі праз TensorBoard, робяць TensorFlow самай папулярнай базай для глыбокага навучання.
асноўныя характарыстыкі
- Адкрыты зыходны код
- Гнуткасць
- Хуткая адладка
2. PyTorch
PyTorch - гэта база, распрацаваная Facebook для падтрымкі працы сваіх сэрвісаў. Пасля таго, як гэтая структура стала адкрытай, яна выкарыстоўвалася іншымі кампаніямі, акрамя Facebook, такімі як Salesforce і Udacity.
Гэтая структура працуе з дынамічна абнаўляемымі графікамі, што дазваляе ўносіць змены ў архітэктуру вашага набору даных па меры яго апрацоўкі. З PyTorch прасцей развіваць і навучаць нейронавую сетку, нават не маючы вопыту глыбокага навучання.
Будучы з адкрытым зыходным кодам і заснаваны на Python, вы можаце зрабіць простую і хуткую інтэграцыю ў PyTorch. Гэта таксама простая база для вывучэння, выкарыстання і адладжвання. Калі ў вас ёсць пытанні, вы можаце разлічваць на вялікую падтрымку і абнаўлення ад абедзвюх суполак - супольнасці Python і супольнасці PyTorch.
асноўныя характарыстыкі
- лёгка вучыцца
- Падтрымлівае GPU і CPU
- Багаты набор API для пашырэння бібліятэк
3. Apache MX Net
Дзякуючы высокай маштабаванасці, высокай прадукцыйнасці, хуткаму ліквідацыі непаладак і пашыранай падтрымцы графічнага працэсара, гэтая структура была створана Apache для выкарыстання ў буйных прамысловых праектах.
MXNet ўключае ў сябе інтэрфейс Gluon, які дазваляе распрацоўшчыкам усіх узроўняў кваліфікацыі пачаць з глыбокім навучаннем у воблаку, на периферийных прыладах і ў мабільных прылажэннях. Усяго за некалькі радкоў глюоннага кода вы можаце пабудаваць лінейную рэгрэсію, згортавыя сеткі і рэцыдыўныя LSTM для выяўленне аб'ектаў, распазнаванне маўлення, рэкамендацыя і персаналізацыя.
MXNet можна выкарыстоўваць на розных прыладах і падтрымліваецца некалькімі мовы праграмавання такія як Java, R, JavaScript, Scala і Go. Нягледзячы на тое, што колькасць карыстальнікаў і членаў у яе суполцы невялікая, MXNet мае пісьменную дакументацыю і вялікі патэнцыял для росту, асабліва цяпер, калі Amazon выбрала гэтую платформу ў якасці асноўнага інструмента для машыннага навучання на AWS.
асноўныя характарыстыкі
- 8 моўных прывязак
- Размеркаванае навучанне, падтрымка сістэм з некалькімі і некалькімі GPU
- Гібрыдны інтэрфейс, які дазваляе пераключацца паміж імператыўным і сімвалічным рэжымам
4. Кагнітыўны набор інструментаў Microsoft
Калі вы думаеце аб распрацоўцы прыкладанняў або сэрвісаў, якія працуюць на Azure (воблачныя сэрвісы Microsoft), Microsoft Cognitive Toolkit з'яўляецца асновай для выбару для вашых праектаў глыбокага навучання. Гэта з адкрытым зыходным кодам і падтрымліваецца такімі мовамі праграмавання, як Python, C++, C#, Java і іншымі. Гэтая структура распрацавана, каб «думаць як чалавечы мозг», таму яна можа апрацоўваць вялікія аб'ёмы неструктураваных даных, прапаноўваючы пры гэтым хуткае навучанне і інтуітыўна зразумелую архітэктуру.
Выбраўшы гэтую структуру - такую ж, як і Skype, Xbox і Cortana - вы атрымаеце добрую прадукцыйнасць сваіх прыкладанняў, маштабаванасць і простую інтэграцыю з Azure. Аднак у параўнанні з TensorFlow або PyTorch колькасць членаў у яго суполцы і падтрымка зніжаецца.
Наступнае відэа прапануе поўнае ўвядзенне і прыклады прымянення:
асноўныя характарыстыкі
- Дакладная дакументацыя
- Падтрымка ад каманды Microsoft
- Прамая візуалізацыя графіка
5. Керас
Як і PyTorch, Keras - гэта бібліятэка на базе Python для праектаў, якія патрабуюць шмат дадзеных. API keras працуе на высокім узроўні і дазваляе інтэграваць з API нізкага ўзроўню, такімі як TensorFlow, Theano і Microsoft Cognitive Toolkit.
Некаторымі перавагамі выкарыстання keras з'яўляецца яго прастата ў вывучэнні - гэта рэкамендаваная база для пачаткоўцаў у глыбокім навучанні; хуткасць яго разгортвання; мае вялікую падтрымку з боку супольнасці Python і з боку супольнасцяў іншых фрэймворкаў, з якімі ён інтэграваны.
Keras змяшчае розныя рэалізацыі будаўнічыя блокі нейронных сетак такія як пласты, мэтавыя функцыі, функцыі актывацыі і матэматычныя аптымізатары. Яго код размешчаны на GitHub, а таксама ёсць форумы і канал падтрымкі Slack. У дадатак да падтрымкі стандартных нейронавыя сеткі, Keras прапануе падтрымку згортковых нейронавых сетак і рэкурэнтных нейронавых сетак.
Керас дазваляе мадэлі глыбокага навучання стварацца на смартфонах на iOS і Android, на віртуальнай машыне Java або ў Інтэрнэце. Гэта таксама дазваляе выкарыстоўваць размеркаванае навучанне мадэляў глыбокага навучання на кластарах графічных працэсараў (GPU) і тэнзарных працэсараў (TPU).
асноўныя характарыстыкі
- Папярэдне падрыхтаваныя мадэлі
- Падтрымка некалькіх бэкэнд
- Зручная і вялікая падтрымка супольнасці
6. Apple Core ML
Core ML быў распрацаваны Apple для падтрымкі сваёй экасістэмы - IOS, Mac OS і iPad OS. Яго API працуе на нізкім узроўні, добра выкарыстоўваючы рэсурсы працэсара і графічнага працэсара, што дазваляе створаным мадэлям і прылажэнням працягваць працаваць нават без падключэння да Інтэрнэту, што зніжае «адбітак памяці» і энергаспажыванне прылады.
Тое, як Core ML дасягае гэтага, - гэта не зусім стварэнне яшчэ адной бібліятэкі машыннага навучання, аптымізаванай для працы на iphone/ipad. Замест гэтага Core ML больш падобны на кампілятар, які прымае спецыфікацыі мадэлі і навучаныя параметры, выражаныя іншым праграмным забеспячэннем машыннага навучання, і пераўтворыць іх у файл, які становіцца рэсурсам для прыкладання iOS. Гэта пераўтварэнне ў мадэль Core ML адбываецца падчас распрацоўкі прыкладання, а не ў рэжыме рэальнага часу, калі праграма выкарыстоўваецца, і гэтаму спрыяе бібліятэка python coremltools.
Core ML забяспечвае высокую прадукцыйнасць з лёгкай інтэграцыяй навучанне з дапамогай машыны мадэлі ў дадаткі. Ён падтрымлівае глыбокае навучанне з больш чым 30 тыпамі слаёў, а таксама дрэвамі рашэнняў, дапаможнымі вектарнымі машынамі і метадамі лінейнай рэгрэсіі, усе яны пабудаваны на аснове нізкаўзроўневых тэхналогій, такіх як Metal і Accelerate.
асноўныя характарыстыкі
- Лёгка інтэграваць у праграмы
- Аптымальнае выкарыстанне мясцовых рэсурсаў, не патрабуючы доступу ў Інтэрнэт
- Канфідэнцыяльнасць: дадзеныя не павінны пакідаць прыладу
7. ONNX
Апошні каркас у нашым спісе - ONNX. Гэтая структура ўзнікла ў выніку супрацоўніцтва паміж Microsoft і Facebook з мэтай спрашчэння працэсу перадачы і пабудовы мадэляў паміж рознымі рамкамі, інструментамі, асяродкамі выканання і кампілятарамі.
ONNX вызначае агульны тып файла, які можа працаваць на некалькіх платформах, выкарыстоўваючы пры гэтым перавагі нізкаўзроўневых API, такіх як Microsoft Cognitive Toolkit, MXNet, Caffe і (з дапамогай канвертараў) Tensorflow і Core ML. Прынцып ONNX заключаецца ў навучанні мадэлі на стэку і рэалізацыі яе з выкарыстаннем іншых высноў і прагнозаў.
LF AI Foundation, суб-арганізацыя Linux Foundation, з'яўляецца арганізацыяй, якая займаецца стварэннем экасістэмы для падтрымкі з адкрытым зыходным кодам інавацыі ў галіне штучнага інтэлекту (AI), машыннага навучання (ML) і глыбокага навучання (DL). 14 лістапада 2019 г. ён дадаў ONNX у якасці праекта на ўзроўні выпускнікоў. Гэты крок ONNX пад эгідай LF AI Foundation быў расцэнены як важная вяха ў стварэнні ONNX як нейтральнага для пастаўшчыкоў стандарту адкрытага фармату.
ONNX Model Zoo - гэта калекцыя папярэдне падрыхтаваных мадэляў Deep Learning, даступных у фармаце ONNX. Для кожнай мадэлі ёсць свае Сшыткі Jupyter для навучання мадэлі і выканання высновы з дапамогай навучанай мадэлі. Сшыткі напісаны на Python і ўтрымліваюць спасылкі на навучальны набор даных і спасылкі на арыгінальны навуковы дакумент, які апісвае архітэктуру мадэлі.
асноўныя характарыстыкі
- Сумяшчальнасць Framework
- Аптымізацыя абсталявання
заключэнне
Гэта рэзюмэ лепшых фрэймворкаў для глыбокае вывучэнне. Для гэтага існуе некалькі фрэймворкаў, бясплатных або платных. Каб выбраць лепшае для вашага праекта, спачатку даведайцеся, для якой платформы вы будзеце распрацоўваць сваё прыкладанне.
Агульныя структуры, такія як TensorFlow і Keras, - лепшыя варыянты для пачатку. Але калі вам трэба выкарыстоўваць перавагі АС або прылады, то Core ML і Microsoft Cognitive Toolkit могуць быць лепшымі варыянтамі.
Існуюць іншыя платформы, прызначаныя для прылад Android, іншых машын і пэўных мэтаў, якія не былі згаданыя ў гэтым спісе. Калі апошняя група вас зацікавіла, мы прапануем пашукаць іх інфармацыю ў Google або іншых сайтах машыннага навучання.
Пакінуць каментар