ĺœ¨čż‡ĺŽťçš„ä¸€ĺš´é‡ŒďźŒĺ’ąäťŹčŽ¨čŽşäş†ĺ…个埀ćşćœşĺ™¨ĺŚäš ĺ’Œ/ćˆ–ćˇąĺşŚĺŚäš 楆果CaffeďźŒMicrosoft Cognitive ToolkitďźˆĺˆĺCNTK 2ďź‰ďźŒMXNetďźŒScikit-learnďźŒSpark MLlibĺ’ŒTensorFlowă€‚ĺŚ‚ćžœćŠŠç˝‘ć’’ĺž—ĺ¤§äş›ďźŒĺŻčƒ˝čż˜äźščŚ†ç›–ĺ…śäť–ĺ‡ ä¸ŞćľčĄŒçš„ćĄ†ćžśďźŒĺŒ…ć‹ŹTheanoďźˆä¸€ä¸Ş10嚴䚋䚅的Python桹庌ĺŚäš ĺ’Œćœşĺ™¨ĺŚäš ćĄ†ćžśďź‰ďźŒKerasďźˆä¸€ä¸ŞTheanoĺ’ŒTensorFlow桹庌ĺŚäš çš„ĺ‰çŤŻďź‰ďźŒDeepLearning4jďźˆJavaĺ’ŒScalaĺœ¨Hadoopĺ’ŒSpark䚋上的桹庌ĺŚäš č˝Żäťśďź‰ă€‚ĺŚ‚ćžœä˝ ćœ‰ĺ…´čśŁä˝żç”¨ćœşĺ™¨ĺŚäš ĺ’ŒçĽžçťç˝‘çťœďźŒä˝ äťŽćĽć˛Ąćœ‰ĺƒçŽ°ĺœ¨čż™ć ˇĺ¤šçš„é€‰ć‹Šă€‚
ćœşĺ™¨ĺŚäš ćĄ†ćžśĺ’ŒćˇąĺşŚĺŚäš ćĄ†ćžśäš‹é—´ćœ‰ĺŒşĺˆŤă€‚ćœŹč´¨ä¸ŠďźŒćœşĺ™¨ĺŚäš ćĄ†ćžśćśľç›–ç”¨äşŽĺˆ†çąťďźŒĺ›žĺ˝’ďźŒčšçąťďźŒĺź‚ĺ¸¸ćŁ€ćľ‹ĺ’Œć•°ćŽĺ‡†ĺ¤‡çš„ĺ„ç§ĺŚäš ć–šćł•ďźŒĺšśä¸”ĺ…śĺŻäťĽćˆ–ĺŻäťĽä¸ĺŒ…拏缞çťç˝‘çťœć–šćł•ă€‚ćˇąĺşŚĺŚäš ćˆ–ćˇąĺşŚçĽžçťç˝‘çťœďźˆDNNďź‰ćĄ†ćžśćśľç›–ĺ…ˇćœ‰čŽ¸ĺ¤šéšč—幂的ĺ„ç§çĽžçťç˝‘çťœć‹“ć‰‘ă€‚čż™äş›ĺą‚ĺŒ…ć‹Źć¨ĄĺźčŻ†ĺˆŤçš„ĺ¤šćĽéŞ¤čż‡ç¨‹ă€‚ç˝‘çťœä¸çš„ĺą‚čśŠĺ¤šďźŒĺŻäťĽćĺ–用于čšçąťĺ’Œĺˆ†çąťçš„牚ĺžčśŠĺ¤ć‚。
CaffeďźŒCNTKďźŒDeepLearning4jďźŒKerasďźŒMXNetĺ’ŒTensorFlowć˜ŻćˇąĺşŚĺŚäš 楆果。 Scikit-learningĺ’ŒSpark MLlibć˜Żćœşĺ™¨ĺŚäš 楆果。 Theanočˇ¨čśŠäş†čż™ä¸¤ä¸ŞçąťĺˆŤă€‚
ä¸€čˆŹćĽčŻ´ďźŒćˇąĺą‚çĽžçťç˝‘çťœčŽĄçŽ—ĺœ¨GPUďźˆç‰šĺˆŤć˜ŻNvidia CUDA通用GPUďźŒĺ¤§ĺ¤šć•°ćĄ†ćžśďź‰ä¸ŠčżčĄŒçš„é€ŸĺşŚčŚćŻ”CPU忍一个数é‡çş§ă€‚ä¸€čˆŹćĽčŻ´ďźŒć›´çŽ€ĺ•çš„ćœşĺ™¨ĺŚäš ć–šćł•ä¸éœ€čŚGPUçš„ĺŠ é€Ÿă€‚
č™˝ç„śä˝ ĺŻäťĽĺœ¨ä¸€ä¸Şćˆ–多个CPU上čŽçťƒDNNďźŒčŽçťƒĺž€ĺž€ć˜Żçź“ć…˘çš„ďźŒć…˘ć…˘ćˆ‘ä¸ć˜ŻčŻ´ç§’ćˆ–ĺˆ†é’Ÿă€‚éœ€čŚčŽçťƒçš„缞çťĺ…ƒĺ’Œĺą‚ć•°čśŠĺ¤šďźŒĺŻç”¨äşŽčŽçťƒçš„ć•°ćŽčśŠĺ¤šďźŒéœ€čŚçš„旜间尹蜊长。当Google Brainĺ°çť„ĺœ¨2016ĺš´é’ˆĺŻšć–°ç‰ˆGoogle翝译čŽçťƒčŻč¨€çżťčŻ‘ć¨Ąĺž‹ć—śďźŒäť–äťŹĺœ¨ĺ¤šä¸ŞGPU上ĺŒć—śčżčĄŒäş†ä¸€ĺ‘¨çš„čŽçťƒć—śé—´ă€‚ć˛Ąćœ‰GPUďźŒćŻä¸Şć¨Ąĺž‹čŽçťƒĺŽžéŞŒĺ°†éœ€čŚĺ‡ ä¸Şćœˆă€‚
这些楆果ä¸ćŻä¸€ä¸ŞćĄ†ćžśĺ…ˇćœ‰č‡łĺ°‘ä¸€ä¸Şć˜žč‘—ç‰šĺžă€‚ Caffeçš„ĺźşéĄšć˜Żç”¨äşŽĺ›žĺƒčŻ†ĺˆŤçš„ĺˇç§ŻDNN。 Cognitive Toolkitćœ‰ä¸€ä¸Şĺ•ç‹Źçš„čŻ„äź°ĺş“ďźŒç”¨äşŽéƒ¨ç˝˛ĺœ¨ASP.Netç˝‘çŤ™ä¸ŠĺˇĽä˝œçš„é˘„ćľ‹ć¨Ąĺž‹ă€‚ MXNetĺ…ˇćœ‰č‰ŻĺĽ˝çš„ĺŻć‰Šĺą•ć€§ďźŒĺŻç”¨äşŽĺ¤šGPUĺ’Œĺ¤šćœşĺ™¨é…罎的čŽçťƒă€‚ Scikit-learnĺ…ˇćœ‰ĺšżćł›çš„ĺźşĺ¤§çš„ćœşĺ™¨ĺŚäš ć–šćł•ďźŒć˜“ĺŚĺˇ˛ç”¨ă€‚ Spark MLlib与Hadoop集ćˆďźŒĺ…ˇćœ‰č‰ŻĺĽ˝çš„ćœşĺ™¨ĺŚäš ĺŻäź¸çźŠć€§ă€‚ TensorFlowä¸şĺ…śç˝‘çťœĺ›žTensorBoardć䞛了一个狏牚的诊ć–塼兡。
ĺŚä¸€ć–šé˘ďźŒć‰€ćœ‰ćˇąĺşŚĺŚäš ćĄ†ćžśĺœ¨GPU上的čŽçťƒé€ŸĺşŚĺ‡ 䚎相ĺŒă€‚čż™ć˜Żĺ› ä¸şčŽçťƒĺ†…ĺžŞçŽŻĺœ¨Nvidia CuDNNĺŒ…ä¸čŠąč´šĺ¤§éƒ¨ĺˆ†ć—śé—´ă€‚ç„śč€ŒďźŒćŻä¸ŞćĄ†ćžśé‡‡ç”¨ä¸€ç§ä¸ĺŒçš„ć–šćł•ćĽć述缞çťç˝‘çťœďźŒĺ…ˇćœ‰ä¸¤ä¸Şä¸ťčŚçš„é˜ľčĽďźšä˝żç”¨ĺ›žĺ˝˘ćčż°ć–‡äťśçš„é˜ľčĽďźŒäťĽĺŠé€ščż‡ć‰§čĄŒäťŁç ćĽĺˆ›ĺťşĺŽƒäťŹçš„ćčż°çš„é˜ľčĽă€‚
č€ƒč™‘ĺˆ°čż™ä¸€ç‚šďźŒčŽŠćˆ‘äťŹćĽçœ‹çœ‹ćŻä¸€ä¸ŞćĄ†ćžśçš„牚性。
Caffe桹庌ĺŚäš éĄšç›ŽďźŒćœ€ĺˆć˜Żä¸€ä¸Şĺźşĺ¤§çš„回ĺƒĺˆ†çąťćĄ†ćžśďźŒäźźäšŽĺœćťžä¸ĺ‰ďźŒĺŸşäşŽĺŽƒçš„ćŒçťçš„bugďźŒäťĽĺŠĺŽƒĺˇ˛č˘ŤĺĄä˝1.0版RC3ä¸€ĺš´ĺ¤šçš„äş‹ĺŽžďźŒĺšśä¸”ĺˆ›ĺ§‹äşşĺˇ˛çŚťĺź€éĄšç›Žă€‚ĺŽƒäťç„śćœ‰č‰ŻĺĽ˝çš„ĺˇç§Żç˝‘çťœĺ›žĺƒčŻ†ĺˆŤĺ’Œč‰ŻĺĽ˝çš„ć”ŻćŒNvidia CUDA GPUďźŒäťĽĺŠä¸€ä¸ŞçŽ€ĺ•çš„ç˝‘çťœćčż°ć źĺźă€‚ĺŚä¸€ć–šé˘ďźŒĺŽƒçš„ć¨Ąĺž‹é€šĺ¸¸éœ€čŚĺ¤§é‡çš„GPU内ĺ˜ďźˆčś…过1GBčżčĄŒďźŒĺŽƒçš„ć–‡ćĄŁć˜Żĺ¤šć–‘ç‚šĺ’Œé—Žé˘˜ďźŒć”ŻćŒĺžˆéšžčŽˇĺž—ďźŒĺŽ‰čŁ…ć˜ŻiffyďźŒç‰šĺˆŤć˜ŻĺŻšäşŽĺŽƒçš„PythonçŹ”čŽ°ćœŹć”ŻćŒă€‚
Caffećœ‰ĺ‘˝äť¤čĄŒďźŒPythonĺ’ŒMatlab掼ĺŁďźŒĺŽƒäžé ProtoText文䝜ćĽĺŽšäš‰ĺŽƒçš„ć¨Ąĺž‹ĺ’Œćą‚č§Łĺ™¨ă€‚ Caffeĺœ¨ĺ…śč‡Şĺˇąçš„ć¨Ąĺž‹ć¨Ąĺźä¸é€ĺą‚ĺŽšäš‰ç˝‘çťœă€‚ç˝‘çťœĺŽšäš‰äťŽčž“ĺ…Ľć•°ćŽĺˆ°ä¸˘ĺ¤ąçš„整个樥型。当数ćŽĺ’Œć´žç”Ÿć•°ćŽĺœ¨ĺ‰ĺ‘ĺ’ŒĺŽĺ‘éĺŽ†ç˝‘çťœć—śďźŒCaffeĺ˜ĺ‚¨ďźŒé€šäżĄĺ’Œć“ä˝œäżĄćŻä¸şblobďźˆäşŒčż›ĺˆśĺ¤§ĺŻščąĄďź‰ďźŒĺ†…éƒ¨ć˜ŻäťĽCčżžçťć–šĺźĺ˜ĺ‚¨çš„Nçť´ć•°çť„ďźˆčĄ¨ç¤şčĄŒčŻĽć•°çť„č˘Ťĺ˜ĺ‚¨ĺœ¨čżžçťçš„ĺ˜ĺ‚¨ĺ™¨ĺ—ä¸ďźŒĺŚ‚ĺœ¨CčŻč¨€ä¸ďź‰ă€‚ Blob䚋于Caffe匂Tensor䚋于TensorFlow。
回幂寚blobć‰§čĄŒć“ä˝œďźŒĺšśćž„ćˆCaffe樥型的睄䝜。幂ĺˇç§Żćť¤ćł˘ĺ™¨ďźŒć‰§čĄŒćą ďźŒĺ–ĺ†…éƒ¨äš˜ç§ŻďźŒĺş”ç”¨éžçşżć€§ďźˆčŻ¸ĺŚ‚ć•´ćľçşżć€§ĺ’ŒS形䝼ĺŠĺ…śäť–ĺ…ƒç´ ć–šé˘çš„ĺ˜ć˘ďź‰ďźŒĺ˝’ä¸€ĺŒ–ďźŒĺŠ č˝˝ć•°ćŽĺ’ŒčŽĄçŽ—čŻ¸ĺŚ‚softmaxĺ’Œé“°é“žçš„ćŸĺ¤ąă€‚
Caffe塲çťčŻć˜Žĺ…śĺœ¨ĺ›žĺƒĺˆ†çąťä¸çš„ćœ‰ć•ˆć€§ďźŒä˝†ĺŽƒçš„ć—śĺˆťäźźäšŽĺˇ˛çťčż‡ĺŽťäş†ă€‚é™¤éžçŽ°ćœ‰çš„Caffe樥型珌ĺˆć‚¨çš„需čŚďźŒćˆ–者ĺŻäťĽć šćŽć‚¨çš„ç›Žçš„čż›čĄŒĺžŽč°ƒďźŒćˆ‘ĺťşčŽŽä˝żç”¨TensorFlowďźŒMXNetćˆ–CNTK。
ĺœ¨NBViewerä¸ć˜žç¤şçš„é˘„ĺ…ˆčŽĄçŽ—çš„CaffeJupyterçŹ”čŽ°ćœŹă€‚čż™ćœŹçŹ”čŽ°ćœŹč§Łé‡Šäş†ä˝żç”¨ä¸€ĺŞĺŻçˆąçš„ĺ°çŒŤĺœ¨Caffeç˝‘çťœä¸Šĺšâ€œć‰‹ćœŻâ€ă€‚
Microsoft Cognitive Toolkitć˜Żä¸€ä¸ŞĺżŤé€ŸďźŒć˜“ç”¨çš„ćˇąĺşŚĺŚäš č˝ŻäťśĺŒ…ďźŒä˝†ä¸ŽTensorFlowç›¸ćŻ”ďźŒĺ…śčŒƒĺ›´ćœ‰é™ă€‚ĺŽƒćœ‰ĺ„ç§ĺ„ć ˇçš„ć¨Ąĺž‹ĺ’ŒçŽ—ćł•ďźŒćžĺĽ˝çš„支ćŒPythonĺ’ŒJupyterçŹ”čŽ°ćœŹďźŒä¸€ä¸Şćœ‰čśŁçš„ĺŁ°ć˜Žć€§çĽžçťç˝‘çťœé…罎čŻč¨€BrainScriptďźŒäťĽĺŠĺœ¨Windowsĺ’ŒUbuntu LinuxçŽŻĺ˘ƒä¸‹č‡ŞĺŠ¨éƒ¨ç˝˛ă€‚
ĺœ¨çźşç‚šć–šé˘ďźŒĺ˝“ćˆ‘ĺŽĄćŸĽBeta 1çš„ć–‡ćĄŁčż˜ć˛Ąćœ‰ĺŽŒĺ…¨ć›´ć–°ĺˆ°CNTK 2ďźŒĺšśä¸”ĺŒ…ć˛Ąćœ‰ĺŻšMacOS支ćŒă€‚虽焜自Beta 1䝼ćĽďźŒCNTK 2ćœ‰čŽ¸ĺ¤šć”ščż›ďźŒĺŒ…ć‹Źć–°çš„ĺ†…ĺ˜ĺŽ‹çźŠć¨ĄĺźďźŒäťĽĺ‡ĺ°‘GPUĺ’Œć–°çš„NugetĺŽ‰čŁ…ĺŒ…çš„ĺ†…ĺ˜ä˝żç”¨ďźŒä˝†ĺŻšMacOS支ćŒäťç„śçźşĺ¤ąă€‚
为Beta 1ćˇťĺŠ çš„PythonAPIćœ‰ĺŠŠäşŽĺ°†čŽ¤çŸĽĺˇĽĺ…ˇĺŒ…ĺ¸Śĺ…Ľä¸ťćľçš„ă€ç”¨Pythonç çš„ă€ćˇąĺşŚĺŚäš ç ”çŠśäşşĺ‘˜ĺ˝“ä¸ă€‚ APIĺŒ…ĺŤć¨Ąĺž‹ĺŽšäš‰ĺ’ŒčŽĄçŽ—ă€ĺŚäš 玗法ă€ć•°ćŽčŻťĺ–ĺ’Œĺˆ†ĺ¸ƒĺźčŽçťƒçš„ćŠ˝čąĄă€‚ä˝œä¸şPythonAPIçš„čĄĽĺ……ďźŒCNTK 2ĺ…ˇćœ‰ć–°çš„Pythonç¤şäž‹ĺ’Œć•™ç¨‹ďźŒäťĽĺŠĺŻš Google Protocol Bufferĺşĺˆ—ĺŒ–çš„ć”ŻćŒă€‚教程䝼JupyterçŹ”čŽ°ćœŹĺŽžçŽ°ă€‚
CNTK 2睄䝜ĺŻäťĽĺ¤„ç†ćĽč‡ŞPythonďźŒC ++ćˆ–BrainScriptçš„ĺ¤šçť´ĺŻ†é›†ćˆ–ç¨€ç–ć•°ćŽă€‚čŽ¤çŸĽĺˇĽĺ…ˇĺŒ…ĺŒ…ć‹Źĺ„ç§ĺ„ć ˇçš„çĽžçťç˝‘çťœçąťĺž‹ďźšFFNďźˆĺ‰éŚˆďź‰ďźŒCNNďźˆĺˇç§Żďź‰ďźŒRNN/ LSTMďźˆé€’ĺ˝’/é•żćœŸçŸćœŸčŽ°ĺż†ďź‰ďźŒć‰šćŹĄć ‡ĺ‡†ĺŒ–ĺ’Œĺşĺˆ—注ć„ĺşĺˆ—ă€‚ĺŽƒć”ŻćŒĺźşĺŒ–ĺŚäš ďźŒç”ŸćˆĺŻšćŠ—ç˝‘çťœďźŒç›‘çŁĺ’Œéžç›‘çŁĺŚäš ďźŒč‡ŞĺŠ¨čś…ĺ‚ć•°č°ƒć•´ďźŒäťĽĺŠäťŽPythonćˇťĺŠ ć–°çš„ďźŒç”¨ćˆˇĺŽšäš‰çš„ć ¸ĺżƒçť„äťśĺœ¨GPU上čżčĄŒçš„čƒ˝ĺŠ›ă€‚ĺŽƒčƒ˝ĺ¤Ÿĺœ¨ĺ¤šä¸ŞGPUĺ’Œćœşĺ™¨ä¸Šĺšĺˆ°ç˛žçĄŽçš„ĺšśčĄŒć€§ďźŒč€Œä¸”ďźˆĺžŽč˝ŻĺŁ°ç§°ďź‰ĺŽƒç”šč‡łĺŻäťĽé€‚ĺş”ćœ€ĺ¤§çš„ć¨Ąĺž‹ĺˆ°GPU内ĺ˜ă€‚
CNTK 2 API支ćŒäťŽPythonďźŒC ++ĺ’ŒBrainScriptĺŽšäš‰ç˝‘çťœďźŒĺŚäš č€…ďźŒčŻťč€…ďźŒĺŸščŽĺ’ŒčŻ„äź°ă€‚äť–äťŹčż˜ć”ŻćŒä˝żç”¨Cďźƒčż›čĄŒčŻ„äź°ă€‚ Python API与NumPyäş’ć“ä˝œďźŒĺšśĺŒ…ć‹Źä¸€ä¸ŞéŤ˜çş§ĺą‚çş§ĺş“ďźŒĺŻäťĽç˛žçĄŽĺŽšäš‰ĺŒ…ć‹Źĺ¤çŽ°ĺœ¨ĺ†…çš„éŤ˜çş§çĽžçťç˝‘çťœă€‚čŻĽĺˇĽĺ…ˇĺŒ…ć”ŻćŒäťĽçŹŚĺˇĺ˝˘ĺźčĄ¨ç¤şĺžŞçŽŻć¨Ąĺž‹ä˝œä¸şçĽžçťç˝‘çťœä¸çš„ĺžŞçŽŻďźŒč€Œä¸éœ€čŚé™ć€ĺą•埀垪环ćĽéŞ¤ă€‚
您ĺŻäťĽĺœ¨Azureç˝‘çťœĺ’ŒGPU上čŽçťƒCNTK 2樥型。é…备GPUçš„Nçłťĺˆ—Azureč™šć‹Ÿćœşçłťĺˆ—ďźŒĺœ¨ćˆ‘ĺŽĄć ¸Beta 1ć—śĺ—ĺˆ°é™ĺˆśďźŒçŽ°ĺœ¨é€šĺ¸¸ĺŻäťĽäťŽAzurećŽ§ĺˆśĺ°čŽˇĺž—ĺšśĺŽŒĺ…¨çŽĄç†ă€‚
ĺ‡ ä¸ŞCNTK 2 / Microsoft Cognitive Toolkit教程䝼JupyterçŹ”čŽ°ćœŹćäž›ă€‚čŻĽĺ›žć˜žç¤şäş†Logistic回归čŽçťƒçš„çť˜ĺˆśçš„ĺŻč§†ĺŒ–。
MXNetć˜Żä¸€ä¸ŞĺŻç§ťć¤çš„ă€ĺŻäź¸çźŠçš„桹庌ĺŚäš ĺş“ďźŒć˜ŻäşšéŠŹé€Šçš„DNNćĄ†ćžśçš„é€‰ć‹ŠďźŒçť“ĺˆäş†çĽžçťç˝‘çťœĺ‡ ä˝•çš„čąĄĺžć€§ĺŁ°ć˜Žä¸Žĺź é‡ć“ä˝œçš„ĺ‘˝äť¤ć€§çź–ç¨‹ă€‚ MXNetĺŻčˇ¨ĺ¤šä¸Şä¸ťćœşć‰Šĺą•ĺˆ°ĺ¤šä¸ŞGPUďźŒćŽĽčż‘çşżć€§ć‰Šĺą•ć•ˆçŽ‡ä¸ş85ďź…ďźŒĺ…ˇćœ‰ĺ‡şč‰˛çš„ĺź€ĺ‘é€ŸĺşŚă€ĺŻçź–ç¨‹ć€§ĺ’ŒĺŻç§ťć¤ć€§ă€‚ĺŽƒć”ŻćŒPythonďźŒRďźŒScalaďźŒJuliaĺ’ŒC ++ďźŒć”ŻćŒç¨‹ĺşŚĺ„ä¸ç›¸ĺŒďźŒĺŽƒĺ…čŽ¸ä˝ ćˇˇĺˆçŹŚĺˇĺ’Œĺ‘˝äť¤ĺźçź–ç¨‹éŁŽć źă€‚
ĺœ¨ćˆ‘çŹŹä¸€ćŹĄčŻ„čŽşMXNetć—śďźŒć–‡ćĄŁć„Ÿč§‰čż˜ć˛Ąćœ‰ĺŽŒćˆďźŒé™¤Pythonäš‹ĺ¤–ďźŒćˆ‘ĺ‘çŽ°ĺžˆĺ°‘ćœ‰ĺ…śĺŽƒčŻč¨€çš„äž‹ĺă€‚č‡ŞäťŽćˆ‘čŻ„čŽşäťĽĺŽďźŒčż™ä¸¤ç§ćƒ…ĺ†ľéƒ˝ćœ‰ć‰€ć”šĺ–„ă€‚
MXNetĺšłĺ°ć˜ŻĺťşçŤ‹ĺœ¨ä¸€ä¸ŞĺЍć€äžčľ–č°ƒĺşŚĺ™¨ä¸Šçš„ďźŒĺŽƒĺŻäťĽč‡ŞĺŠ¨ĺšśčĄŒĺŒ–çŹŚĺˇĺ’Œĺ‘˝äť¤ĺźć“ä˝œďźŒä˝†ć˜Żä˝ ĺż…éĄťĺ‘ŠčŻ‰MXNetčŚä˝żç”¨ĺ“Şäş›GPUĺ’ŒCPUć ¸ĺżƒă€‚ĺœ¨č°ƒĺşŚĺ™¨éĄśéƒ¨çš„ĺ›žäź˜ĺŒ–ĺą‚ä˝żçŹŚĺˇć‰§čĄŒĺżŤé€Ÿĺ’Œĺ†…ĺ˜éŤ˜ć•ˆă€‚
MXNet盎ĺ‰ć”ŻćŒç”¨PythonďźŒRďźŒScalaďźŒJuliaĺ’ŒC ++ćž„ĺťşĺ’ŒčŽçťƒć¨Ąĺž‹ďź›čŽçťƒçš„MXNetć¨Ąĺž‹äšŸĺŻäťĽç”¨äşŽMatlabĺ’ŒJavaScriptä¸çš„é˘„ćľ‹ă€‚ć— čŽşć‚¨é€‰ć‹Šĺ“Şç§čŻč¨€ćĽćž„ĺťşć¨Ąĺž‹ďźŒMXNetéƒ˝äźšč°ƒç”¨äź˜ĺŒ–çš„C ++ĺŽçŤŻĺź•擎。
MXNetä˝œč€…čŽ¤ä¸şäť–äťŹçš„APIć˜ŻTorchă€Theanoă€Chainerĺ’ŒCaffećäž›çš„ä¸€ä¸Şčś…é›†ďźŒĺ°˝çŽĄĺŻšGPUé›†çž¤ćœ‰ć›´ĺ¤šçš„ĺŻç§ťć¤ć€§ĺ’Œć”ŻćŒă€‚ĺœ¨čŽ¸ĺ¤šć–šé˘MXNet繝䟟于TensorFlowďźŒä˝†ĺ˘žĺŠ äş†ĺľŒĺ…Ľĺ‘˝äť¤ĺź é‡ć“ä˝œçš„čƒ˝ĺŠ›ă€‚
é™¤äş†ĺŽžé™…ĺźşĺˆśçš„MNISTć•°ĺ—ĺˆ†çąťäš‹ĺ¤–ďźŒMXNetć•™ç¨‹çš„čŽĄçŽ—ćœşč§†č§‰ĺŒ…ĺŤä˝żç”¨ĺˇç§ŻçĽžçťç˝‘çťœďźˆCNN的回ĺƒĺˆ†çąťĺ’Œĺˆ†ĺ‰˛ďźŒä˝żç”¨ć›´ĺżŤçš„R-CNNçš„ĺŻščąĄćŁ€ćľ‹ďźŒçĽžçťč‰şćœŻĺ’Œä˝żç”¨ćˇąĺşŚCNN的大规樥回ĺƒĺˆ†çąťĺ’ŒImageNetć•°ćŽé›†ă€‚čż˜ćœ‰č‡Şç„śčŻč¨€ĺ¤„ç†ă€čŻéŸłčŻ†ĺˆŤă€ĺŻšćŠ—ç˝‘çťœäťĽĺŠç›‘çŁĺ’Œéžç›‘çŁćœşĺ™¨ĺŚäš 的兜䝖教程。
äşšéŠŹé€Šćľ‹čŻ•äş†ĺœ¨P2.16xlarge厞䞋上的MXNetä¸ĺŽžçŽ°çš„Inception v3çŽ—ćł•ďźŒĺ‘çŽ°ĺ…śäź¸çźŠć•ˆçŽ‡ä¸ş85。
Scikit-learn PythonćĄ†ćžśĺ…ˇćœ‰ĺšżćł›çš„ĺŻé çš„ćœşĺ™¨ĺŚäš çŽ—ćł•ďźŒä˝†ć˛Ąćœ‰ćˇąĺşŚĺŚäš çŽ—ćł•ă€‚ĺŚ‚ćžœä˝ ć˜Żä¸€ä¸ŞPython粉ä¸ďźŒScikit-learnĺŻčƒ˝ć˜Żä¸€čˆŹćœşĺ™¨ĺŚäš ĺş“ä¸ćœ€ä˝łé€‰ć‹Šă€‚
Scikit-learnć˜Żä¸€ä¸Şĺźşĺ¤§çš„ďźŒćˆç†Ÿçš„ćœşĺ™¨ĺŚäš Pythonĺş“ďźŒĺŒ…ĺŤĺ„ç§ĺ„ć ˇćˆç†Ÿçš„çŽ—ćł•ĺ’Œé›†ćˆĺ›žă€‚ĺŽƒç›¸ĺŻšĺŽšć˜“ĺŽ‰čŁ…ă€ĺŚäš ĺ’Œä˝żç”¨ďźŒĺ¸Śćœ‰ĺžˆĺĽ˝çš„äž‹ĺĺ’Œć•™ç¨‹ă€‚
ĺœ¨ĺŚä¸€ć–šé˘ďźŒScikit-learnä¸ĺŒ…拏桹庌ĺŚäš ćˆ–ĺźşĺŒ–ĺŚäš ďźŒçźşĺ°‘ĺ›žć¨Ąĺž‹ĺ’Œĺşĺˆ—é˘„ćľ‹ďźŒĺšśä¸”é™¤Pythonäš‹ĺ¤–ďźŒä¸čƒ˝çœŸćŁä˝żç”¨ĺ…śĺŽƒčŻč¨€ă€‚ĺŽƒä¸ć”ŻćŒPyPyďźŒPythonĺłć—śçź–čŻ‘ĺ™¨ćˆ–GPUă€‚äšŸĺ°ąć˜ŻčŻ´ďźŒé™¤äş†ĺŽƒçš„ĺ°‘é‡čż›ĺ…ĽçĽžçťç˝‘çťœďźŒĺŽƒä¸äźšçœŸçš„ćœ‰é€ŸĺşŚé—Žé˘˜ă€‚ĺŽƒä˝żç”¨CythonďźˆPythonĺˆ°C矖译器ćĽĺ¤„ç†éœ€čŚĺżŤé€Ÿçš„ĺ‡˝ć•°ďźŒäž‹ĺŚ‚ĺ†…ĺžŞçŽŻă€‚
Scikit-learnĺŻšĺˆ†çąťă€ĺ›žĺ˝’ă€čšçąťă€é™çť´ă€ć¨Ąĺž‹é€‰ć‹Šĺ’Œé˘„处ç†çŽ—ćł•ĺ…ˇćœ‰ĺžˆĺĽ˝çš„é€‰ć‹Šă€‚ĺŽƒćœ‰ć‰€ćœ‰čż™äş›çš„č‰ŻĺĽ˝çš„ć–‡ćĄŁĺ’Œç¤şäž‹ďźŒä˝†ć˛Ąćœ‰äťťä˝•ç§çąťçš„ćŒ‡ĺŻźĺˇĽä˝œćľäťĽĺŽŒćˆčż™äş›äťťĺŠĄă€‚
Scikit-learnčľ˘ĺž—äş†ć˜“äşŽĺź€ĺ‘çš„ćœ€éŤ˜ĺˆ†ďźŒä¸ťčŚć˜Żĺ› ä¸şçŽ—ćł•éƒ˝ĺƒĺšżĺ‘Šĺ’Œć–‡ćĄŁä¸€ć ˇĺˇĽä˝œďźŒAPIć˜Żä¸€č‡´çš„ďźŒčŽžčŽĄč‰ŻĺĽ˝ďźŒć•°ćŽçť“ćž„äš‹é—´ĺ‡ äšŽć˛Ąćœ‰â€œé˜ťćŠ—ä¸ĺŒšé…â€ă€‚函数库兜ä¸çš„ĺŠŸčƒ˝ĺˇ˛ĺ˝ťĺş•ĺ……ĺŽžďźŒé”™čŻŻĺ˝ťĺş•ćśˆé™¤ďźŒç”¨ćĽĺź€ĺ‘ĺĺˆ†ć„‰ĺżŤă€‚
ćœŹç¤şäž‹ä˝żç”¨Scikit-learnçš„ĺ°ć‰‹ĺ†™ć•°ĺ—ć•°ćŽé›†ćĽćź”示使用Label Spreading樥型的ĺŠç›‘çŁĺŚäš ă€‚ĺœ¨1,797ć€ťć ˇćœŹä¸ĺŞćœ‰30ä¸Şč˘Ťć ‡čŽ°ă€‚
ĺŚä¸€ć–šé˘ďźŒĺ‡˝ć•°ĺş“ć˛Ąćœ‰ćśľç›–ćˇąĺşŚĺŚäš ćˆ–ĺźşĺŒ–ĺŚäš ďźŒčż™éšč—了当ĺ‰ĺ›°éšžä˝†é‡čŚçš„é—Žé˘˜ďźŒäž‹ĺŚ‚ĺ‡†çĄŽçš„ĺ›žĺƒĺˆ†çąťĺ’ŒĺŻé 的厞旜čŻč¨€č§Łćžĺ’ŒçżťčŻ‘ă€‚ć˜žç„śďźŒĺŚ‚ćžœä˝ ĺŻšćˇąĺşŚĺŚäš ć„Ÿĺ…´čśŁďźŒä˝ ĺş”čŻĽĺŚč§…䝖处。
ç„śč€ŒďźŒĺ˜ĺœ¨čŽ¸ĺ¤šé—Žé˘˜ďźŒäťŽĺťşçŤ‹é“žćŽĽä¸ĺŒč§‚ĺŻŸĺ€źçš„é˘„ćľ‹ĺ‡˝ć•°ĺˆ°ĺˆ†çąťč§‚ĺŻŸĺ€źĺˆ°ĺŚäš ćœŞć ‡čŽ°ć•°ćŽé›†çš„çť“ćž„ďźŒčż™ä˝żĺž—ĺŽƒäťŹé€‚ĺş”äşŽć™Žé€šçš„č€çš„ćœşĺ™¨ĺŚäš ďźŒč€Œä¸éœ€čŚć•°ĺ幂的缞çťĺ…ƒďźŒĺŻšäşŽčż™äş›é˘†ĺŸŸ Scikit-learn ć˜Żéžĺ¸¸ĺĽ˝çš„选拊。
Spark MLlib
Spark MLlibć˜ŻSpark的埀ćşćœşĺ™¨ĺŚäš ĺş“ďźŒćäž›äş†é€šç”¨çš„ćœşĺ™¨ĺŚäš çŽ—ćł•ďźŒĺŚ‚ĺˆ†çąťă€ĺ›žĺ˝’ă€čšçąťĺ’ŒĺĺŒčż‡ćť¤ďźˆä˝†ä¸ĺŒ…拏DNN䝼ĺŠç‰šĺžćĺ–ă€č˝Źć˘ă€çť´ć•°é™ä˝ŽĺˇĽĺ…ˇďźŒäťĽĺŠćž„ĺťşă€čŻ„äź°ĺ’Œč°ƒć•´ćœşĺ™¨ĺŚäš 玥é“é€‰ć‹Šĺ’ŒĺˇĽĺ…ˇă€‚Spark MLlibčż˜ĺŒ…ć‹Źç”¨äşŽäżĺ˜ĺ’ŒĺŠ č˝˝çŽ—ćł•ă€ć¨Ąĺž‹ĺ’ŒçŽĄçşżă€ç”¨äşŽć•°ćŽĺ¤„ç†äťĽĺŠčż›čĄŒçşżć€§äťŁć•°ĺ’ŒçťŸčŽĄçš„ĺŽžç”¨ç¨‹ĺşă€‚
Spark MLlibć˜Żç”¨Scalaçź–ĺ†™çš„ďźŒĺšśä˝żç”¨çşżć€§äťŁć•°ĺŒ…Breeze。 Breezeäžé netlib-javaćĽäź˜ĺŒ–数借处ç†ďźŒč™˝ç„śĺœ¨ĺź€ćşĺˆ†ĺ¸ƒä¸ć„味ç€äź˜ĺŒ–使用CPU。 Databricksć䞛与GPUé…ĺˆä˝żç”¨çš„ĺŽšĺˆśSparké›†çž¤ďźŒčż™ćœ‰ĺŻčƒ˝ä¸şć‚¨ĺ¸ŚćĽĺŚä¸€ä¸Ş10ĺ€çš„é€ŸĺşŚć”ščż›ďźŒç”¨äşŽčŽçťƒĺ…ˇćœ‰ĺ¤§ć•°ćŽçš„ĺ¤ć‚ćœşĺ™¨ĺŚäš 樥型。
MLlib厞现了大é‡çš„ĺˆ†çąťĺ’Œĺ›žĺ˝’çš„ĺ¸¸ç”¨çŽ—ćł•ĺ’Œć¨Ąĺž‹ďźŒć–°ć‰‹ĺŻčƒ˝ĺ˜ĺž—桡䚹ä¸ĺ ŞďźŒć— ĺŻé€‚äťŽďźŒä˝†ä¸“ĺŽśćœ€çťˆĺŻčƒ˝äźšä¸şĺˆ†ćžć•°ćŽć‰žĺˆ°ä¸€ä¸ŞĺžˆĺĽ˝çš„樥型的数ćŽă€‚ĺŻšäşŽčż™äšˆĺ¤šçš„ć¨Ąĺž‹Spark2.xĺ˘žĺŠ äş†čś…ĺ‚ć•°č°ƒäź˜çš„é‡čŚç‰šć€§ďźŒäšŸç§°ä¸şć¨Ąĺž‹é€‰ć‹Šă€‚čś…ĺ‚ć•°tĺ…čŽ¸č°ƒäź˜ĺˆ†ćžäşşĺ‘˜čŽžç˝Žĺ‚ć•°ç˝‘ć źă€äź°čŽĄĺ™¨ĺ’ŒčŻ„äź°ĺ™¨ďźŒĺšśä¸”ĺŽƒĺ…莸交ĺ‰éŞŒčŻć–šćł•ďźˆč€—ć—śä˝†ĺ‡†çĄŽďź‰ćˆ–čŽçťƒéŞŒčŻĺˆ†ĺ‰˛ć–šćł•ďźˆć›´ĺżŤä˝†ä¸ĺ¤Şĺ‡†çĄŽďź‰ć‰žĺˆ°ćœ€ä˝łć•°ćŽć¨Ąĺž‹ă€‚
Spark MLlibć‹Ľćœ‰é’ˆĺŻšScalaĺ’ŒJavaçš„ĺŽŒć•´APIďźŒä¸ťčŚć˜Żé’ˆĺŻšPythonçš„ĺŽŒć•´API䝼ĺŠé’ˆĺŻšRçš„ç˛—ç•Ľéƒ¨ĺˆ†API。您ĺŻäťĽé€ščż‡čŽĄçŽ—ç¤şäž‹ćĽčŽˇĺž—č‰ŻĺĽ˝çš„čŚ†ç›–çŽ‡ďźš54个Javaĺ’Œ60个Scalaćœşĺ™¨ĺŚäš ç¤şäž‹ďźŒ52个Pythonćœşĺ™¨ĺŚäš ç¤şäž‹ďźŒĺŞćœ‰äş”个Rç¤şäž‹ă€‚ĺœ¨ćˆ‘çš„çťéŞŒä¸ďźŒSpark MLlibć˜Żćœ€ĺŽšć˜“ä˝żç”¨JupyterçŹ”čŽ°ćœŹďźŒä˝†ä˝ ĺŻäťĽč‚ŻĺŽšĺœ°ĺœ¨ćŽ§ĺˆśĺ°čżčĄŒĺŽƒďźŒĺŚ‚ćžœä˝ éŠŻćœčŻŚçť†çš„Spark犜ć€ćśˆćŻă€‚
Spark MLlibćäž›äş†ä˝ ćƒłčŚçš„ĺŸşćœŹćœşĺ™¨ĺŚäš ă€ç‰šć€§é€‰ć‹Šă€çŽĄé“ĺ’ŒćŒäš…ć€§çš„äťťä˝•ä¸œčĽżă€‚ĺŽƒĺœ¨ĺˆ†çąťă€ĺ›žĺ˝’ă€čšçąťĺ’Œčż‡ćť¤ć–šé˘ĺšĺž—相当ä¸é”™ă€‚é‰´äşŽĺŽƒć˜ŻSparkçš„ä¸€éƒ¨ĺˆ†ďźŒĺŽƒĺ…ˇćœ‰čŽżé—Žć•°ćŽĺş“ă€ćľĺ’Œĺ…śäť–ć•°ćŽćşçš„基大莿闎ćƒé™ă€‚ĺŚä¸€ć–šé˘ďźŒSparkMLlibĺšśä¸çœŸćŁé‡‡ç”¨ä¸ŽTensorFlowďźŒMXNetďźŒCaffeĺ’ŒMicrosoft Cognitive Toolkit相ĺŒçš„ć–šĺźĺťşć¨Ąĺ’ŒčŽçťƒćˇąĺą‚缞çťç˝‘çťœă€‚
Spark MLlibPythonç¤şäž‹ďźˆNaive Bayesďź‰ä˝œä¸şDatabricksçŹ”čŽ°ćœŹă€‚ćł¨ć„č§Łé‡ŠďźŒäťŁç ĺ’Œčž“ĺ‡şĺŚ‚ä˝•ć•Łĺ¸ƒă€‚
TensorFlowďźŒGoogleçš„ĺŻç§ťć¤ćœşĺ™¨ĺŚäš ĺ’ŒçĽžçťç˝‘çťœĺş“ďźŒć‰§čĄŒĺ’Œäź¸çźŠć€§ĺžˆĺĽ˝ďźŒč™˝ç„śĺŽƒćœ‰ç‚šéšžĺŚă€‚TensorFlowć‹Ľćœ‰ĺ„ç§ĺ„ć ˇçš„ć¨Ąĺž‹ĺ’ŒçŽ—ćł•ďźŒĺŽƒäťŹĺŻšćˇąĺşŚĺŚäš éžĺ¸¸é‡č§†ďźŒĺšśä¸”ĺœ¨ĺ…ˇćœ‰GPUďźˆç”¨äşŽčŽçťƒďź‰ćˆ–Google TPUďźˆç”¨äşŽç”Ÿäş§č§„ć¨Ąé˘„ćľ‹ďź‰çš„çĄŹäťśä¸Šĺ…ˇćœ‰ĺ‡şč‰˛çš„ć€§čƒ˝ă€‚ĺŽƒčż˜ĺ…ˇćœ‰ĺŻšPython的良弽支ćŒďźŒč‰ŻĺĽ˝çš„ć–‡ćĄŁĺ’Œč‰ŻĺĽ˝çš„č˝ŻäťśďźŒç”¨äşŽć˜žç¤şĺ’Œç†č§Łć述兜莥玗的数ćŽćľĺ›žTensorBoard。
ć•°ćŽćľĺ›žä¸çš„节炚襨示数ĺŚčżçŽ—ďźŒč€Œĺ›žçš„čžščĄ¨ç¤şĺœ¨ĺŽƒäťŹäš‹é—´ćľĺŠ¨çš„ĺ¤šçť´ć•°ćŽć•°çť„ďźˆĺź é‡ďź‰ă€‚čż™ç§çľć´ťçš„ćžśćž„ĺ…čŽ¸ć‚¨ĺ°†čŽĄçŽ—éƒ¨ç˝˛ĺˆ°ćĄŒé˘ă€ćœĺŠĄĺ™¨ćˆ–ç§ťĺŠ¨čŽžĺ¤‡ä¸çš„ä¸€ä¸Şćˆ–ĺ¤šä¸ŞCPUćˆ–GPUďźŒč€Œć— éœ€é‡ĺ†™äťŁç 。
使用TensorFlow的丝čŚčŻč¨€ć˜ŻPythonďźŒč™˝ç„śĺŻšC ++ćœ‰é™çš„支ćŒă€‚TensorFlowćäž›çš„ć•™ç¨‹ĺŒ…ć‹Źć‰‹ĺ†™ć•°ĺ—ĺˆ†çąťă€‚ĺ›žĺƒčŻ†ĺˆŤă€ĺ—ĺľŒĺ…Ľă€é€’归缞çťç˝‘çťœďźŒç”¨äşŽćœşĺ™¨çżťčŻ‘çš„ĺşĺˆ—ĺˆ°ĺşĺˆ—樥型ă€č‡Şç„śčŻč¨€ĺ¤„ç†ĺ’ŒĺŸşäşŽPDEďźˆĺĺžŽĺˆ†ć–šç¨‹ďź‰çš„ć¨Ąć‹Ÿçš„ĺş”ç”¨ă€‚
TensorFlowĺŻäťĽć–šäžżĺœ°ĺ¤„ç†ĺ„ç§çĽžçťç˝‘çťœďźŒĺŒ…ć‹Źç›Žĺ‰ćŁĺœ¨ć€Ľĺ‰§ĺ˜ĺŒ–的回ĺƒčŻ†ĺˆŤĺ’ŒčŻč¨€ĺ¤„ç†é˘†ĺŸŸçš„桹庌CNNĺ’ŒLSTM递归樥型。用于厚䚉回幂的䝣ç ĺŻčƒ˝fanďźŒä˝†ć˜Żć‚¨ć–šäžżä˝†ä¸čŻŚçť†ďźŒĺŻäťĽä˝żç”¨ä¸‰ä¸ŞĺŻé€‰çš„桹庌ĺŚäš 界é˘ä¸çš„䝝何一个ćĽäżŽĺ¤ĺŽƒă€‚č™˝ç„śč°ƒčŻ•ĺź‚ćĽç˝‘çťœćą‚č§Łĺ™¨ĺŻäťĽć˜Żĺšłĺ‡Ąçš„ďźŒä˝†TensorBoard软䝜ĺŻäťĽĺ¸ŽĺŠŠć‚¨ĺŻč§†ĺŒ–回。
TensorBoardć˜žç¤şTensorFlowčŽĄçŽ—çš„ĺ›žĺ˝˘ă€‚ćˆ‘äťŹć”žĺ¤§äş†ĺ‡ ä¸Şéƒ¨ĺˆ†ćĽćŁ€ćŸĽĺ›žĺ˝˘çš„çť†čŠ‚ă€‚
ĺŻšäşŽäťťä˝•çť™ĺŽšçš„é˘„ćľ‹äťťĺŠĄďźŒć‚¨ĺş”čŻĽä˝żç”¨ĺ“Şç§ćœşĺ™¨ĺŚäš ćˆ–ćˇąĺşŚĺŚäš ĺŒ…ĺ–ĺ†łäşŽćœşĺ™¨ĺŚäš çš„ĺ¤ć‚ć€§ďźŒç”¨äşŽčŽçťƒçš„ć•°ćŽé‡ĺ’Œĺ˝˘ĺźďźŒć‚¨çš„莥玗辄ćşäťĽĺŠć‚¨çš„矖程čŻč¨€ĺĺĽ˝ĺ’ŒćŠ€čƒ˝ă€‚ĺŽƒäšŸĺŻčƒ˝ĺ–ĺ†łäşŽć‚¨ć˜ŻĺŚĺ–œćŹ˘ä˝żç”¨äťŁç ćˆ–é…罎文䝜厚䚉樥型。
ä˝†ć˜ŻďźŒĺœ¨ĺź€ĺ§‹č‡Şĺˇąçš„ć¨Ąĺž‹čŽçťƒč€ƒĺŻŸäš‹ĺ‰ďźŒć‚¨ĺŻčƒ˝ĺ¸Œćœ›äş†č§ŁćĽč‡ŞGoogleďźŒHPEĺ’ŒMicrosoftAzureäş‘çš„äťťä˝•é˘„ĺ…ˆčŽçťƒçš„ĺş”ç”¨ćœşĺ™¨ĺŚäš ćœĺŠĄć˜ŻĺŚčƒ˝ĺ¤Ÿĺ¤„ç†ć‚¨çš„ć•°ćŽďźŒć— čŽşć˜ŻčŻéŸłă€ć–‡ćœŹćˆ–回ĺƒă€‚ĺŚ‚ćžœäť–äťŹĺŻšä˝ çš„ć•°ćŽä¸čƒ˝ĺžˆĺĽ˝ĺœ°ĺˇĽä˝œďźŒä˝ ĺŻčƒ˝čż˜ćƒłĺœ¨ĺ°čŻ•ĺŸşćœŹçš„ćœşĺ™¨ĺŚäš čŽçťƒďźˆćœ€ĺŽďźŒĺŚ‚ćžœć˛Ąćœ‰ĺ…śäť–ĺˇĽä˝œďź‰ćˇąĺşŚĺŚäš čŽçťƒäš‹ĺ‰ďźŒçœ‹çœ‹ä˝ čƒ˝ç”¨çŽ€ĺ•çš„çťŸčŽĄć–šćł•čŽˇĺž—ĺ¤šĺ¤§çš„ĺĽ˝ĺ¤„ă€‚čż™é‡Œçš„ĺŽŸĺˆ™ć˜ŻäżćŒĺˆ†ćžĺ°˝ĺŻčƒ˝çŽ€ĺ•ďźŒä˝†ä¸ć˜Żć›´çŽ€ĺ•。
ĺœ¨ćˆ‘čŽ¨čŽşçš„ä¸¤ä¸ŞĺŸşćœŹçš„ćœşĺ™¨ĺŚäš ĺŒ…ďźŒćˆ‘ĺťşčŽŽĺ–œćŹ˘Scalaĺ’Œĺœ¨Hadoopä¸ćœ‰äť–䝏的数ćŽçš„使用Spark MLlib ă€‚ćˆ‘ĺťşčŽŽĺ–œćŹ˘Python的人Scikit-learn。
ćˆ‘ĺş”čŻĽćĺˆ°é‚Łäş›ĺ–œćŹ˘Scalaďźˆĺ’ŒJavaďź‰çš„äşşĺ’Œĺœ¨Hadoopä¸ćœ‰äť–䝏的数ćŽçš„äşşçš„ĺŚä¸€ä¸Şé€‰ć‹Šäş‹Deeplearning4jă€‚ćˆ‘ć˛Ąćœ‰čŻ„čŽşäť–ďźŒä˝†ć˜ŻďźŒĺ› ä¸şĺ…śĺç§°ć„味ç€ĺŽƒć˜Żä¸€ä¸ŞĺŚäš ćˇąĺşŚĺŒ…ă€‚
选拊CaffeďźŒMicrosoft Cognitive ToolkitďźŒMXNetĺ’ŒTensorFlow的桹庌ĺŚäš ĺŒ…ć˜Żä¸€ä¸Şć›´ĺ›°éšžçš„ĺ†łĺŽšă€‚ćˆ‘ä¸ĺ†ĺťşčŽŽä˝żç”¨CaffeďźŒĺ› ä¸şĺŽƒçš„ĺ‘ĺą•ĺœćťžä¸ĺ‰ă€‚ç„śč€ŒďźŒé€‰ć‹Šĺ…śäť–ä¸‰ä¸Şä¸çš„一个äťç„ść˜ŻćŁ˜ć‰‹ďźŒĺ› ä¸şĺŻšäşŽĺ…ˇćœ‰çąťäźźĺŠŸčƒ˝ďźŒĺŽƒäťŹéƒ˝ć˜Żćœ€ĺĽ˝çš„é€‰ć‹Šă€‚
Cognitive ToolkitçŽ°ĺœ¨ćœ‰Pythonĺ’ŒC ++ API䝼ĺŠç˝‘çťœé…罎čŻč¨€BrainScriptă€‚ĺŚ‚ćžœć‚¨ĺ–œćŹ˘ä˝żç”¨é…ç˝Žć–‡äťśč€Œä¸ć˜Żçź–ç¨‹ç˝‘çťœć‹“ć‰‘ďźŒé‚ŁäšˆCognitiveToolkitĺŻčƒ˝ć˜Żä¸€ä¸Şä¸é”™çš„选拊。ĺŚä¸€ć–šé˘ďźŒĺŽƒäźźäšŽä¸ĺƒTensorFlow䏀㠎ćˆç†ŸďźŒĺŽƒä¸čƒ˝ĺœ¨MacOS上čżčĄŒă€‚
MXNet支ćŒPythonă€Ră€Scalaă€Juliaĺ’ŒC ++ďźŒä˝†ĺ…ść”ŻćŒćœ€ĺĽ˝çš„APIć˜Żç”¨Python埀ĺ‘的。 MXNetĺœ¨ĺ¤šä¸Şä¸ťćœşä¸Šçš„ĺ¤šä¸ŞGPUä¸Šĺą•ç¤şĺ‡şč‰ŻĺĽ˝çš„äź¸çźŠć€§ďźˆ85ďź…çš„çşżć€§ďź‰ă€‚ĺ˝“ćˆ‘čŻ„čŽşMXNetçš„ć–‡ćĄŁĺ’Œç¤şäž‹ć˜Żĺĺ•Źçš„ďźŒä˝†äť–äťŹĺˇ˛çťć”ščż›äş†ă€‚
TensorFlowĺŻčƒ˝ć˜Żä¸‰ä¸ŞĺŒ…ä¸ćœ€ćˆç†Ÿçš„ďźŒĺšśä¸”ĺŽƒć˜Żä¸€ä¸ŞĺžˆĺĽ˝çš„é€‰ć‹ŠďźŒĺŞčŚä˝ ĺ–œćŹ˘çź–ĺ†™PythonďźŒĺšśĺŻäťĽĺ…‹ćœĺŚäš 曲线。 TensorFlowĺ…ˇćœ‰ä˝ ĺŻäťĽä˝żç”¨ĺŸşćœŹçš„构坺ĺ—ďźŒĺŽƒçť™ä˝ çť†ç˛’ĺşŚçš„ćŽ§ĺˆśďźŒä˝†äšŸéœ€čŚä˝ 矖写大é‡çš„䝣ç ćĽć述一个缞çťç˝‘çťœă€‚ćœ‰ä¸‰ä¸ŞçŽ€ĺŒ–çš„API与TensorFlowä¸€čľˇĺˇĽä˝œćĽč§Łĺ†łčż™ä¸Şé—Žé˘˜ďźštf.contrib.learnďźŒTF-Slimĺ’ŒKeras。支ćŒTensorFlowçš„ćœ€çťˆč€ƒč™‘ć˜ŻTensorBoardďźŒĺŽƒĺŻšäşŽĺŻč§†ĺŒ–ĺ’Œç†č§Łć‚¨çš„ć•°ćŽćľĺ›žéžĺ¸¸ćœ‰ç”¨ă€‚
ćœşĺ™¨ĺŚäš ĺ’ŒćˇąĺşŚĺŚäš çš„ćœ€ä˝łćĄ†ćžśĺ¤§ćŻ”ć‹źďźŒéŚ–ĺ‘äşŽć–‡çŤ - 䟯äšĺœ¨çşżă€‚