Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 

     
   
 ¶©ÔÄ
  ¾èÖú
´ÓË㷨ʵÏÖµ½MiniFlowʵÏÖ£¬´òÔì»úÆ÷ѧϰµÄ»ù´¡¼Ü¹¹Æ½Ì¨

 
À´Ô´£ºInfoQ ·¢²¼ÓÚ£º 2017-10-30
  2367  次浏览      28
 

»ù´¡¼Ü¹¹£¨Infrastructure£©Ïà±ÈÓÚ´óÊý¾Ý¡¢ÔƼÆËã¡¢Éî¶Èѧϰ£¬²¢²»ÊÇÒ»¸öºÜ»ðµÄ¸ÅÄÉõÖÁºÜ¶à³ÌÐòÔ±¾ÍÒµ¿ªÊ¼¾ÍÔÚÓà MySQL¡¢Django¡¢Spring¡¢Hadoop À´¿ª·¢ÒµÎñÂß¼­£¬¶øÃ»ÓÐÕæÕý²ÎÓë¹ý»ù´¡¼Ü¹¹ÏîÄ¿µÄ¿ª·¢¡£ÔÚ»úÆ÷ѧϰÁìÓòÒ²ÊÇÀàËÆµÄ£¬½èÖú¿ªÔ´µÄ Caffe¡¢TensorFlow »òÕß AWS¡¢Google CloudML ¾Í¿ÉÒÔʵÏÖÖî¶àÒµÎñÓ¦Ó㬵«¿ò¼Ü»òƽ̨¿ÉÄÜÒòÐÐÒµµÄ·¢Õ¹¶øÁ÷ÐлòÕßË¥ÍË£¬¶ø×·Çó¸ß¿ÉÓᢸßÐÔÄÜ¡¢Áé»îÒ×ÓõĻù´¡¼Ü¹¹È´¼¸ºõÊÇÓÀºã²»±äµÄ¡£

Google µÄÍõÓ½¸ÕÀÏʦÔÚ¡¶ÎªÊ²Ã´ AI ¹¤³ÌʦҪ¶®Ò»µã¼Ü¹¹¡·Ìáµ½£¬Ñо¿Ôº²¢²»ÄÜÖ»¶®Ëã·¨£¬Ë㷨ʵÏÖ²»µÈÓÚÎÊÌâ½â¾ö£¬ÎÊÌâ½â¾ö²»µÈÓÚÏÖ³¡ÎÊÌâ½â¾ö£¬¼Ü¹¹ÖªÊ¶Êǹ¤³Ìʦ½øÐиßЧÍŶÓЭ×÷µÄ¹²Í¬ÓïÑÔ¡£Google ÒÀ¿¿Ç¿´óµÄ»ù´¡¼Ü¹¹ÄÜÁ¦Èà AI Ñо¿ÁìÏÈÓÚÒµ½ç£¬¹¤Òµ½çµÄ·¢Õ¹Ò²ÈÃÉî¶Èѧϰ¡¢Auto Machine Learning ³ÉΪ¿ÉÄÜ£¬Î´À´½«Óиü¶àÈ˹Ø×¢µ×²ãµÄ¼Ü¹¹ÓëÉè¼Æ¡£

Òò´Ë£¬½ñÌìµÄÖ÷Ìâ¾ÍÊǽéÉÜ»úÆ÷ѧϰµÄ»ù´¡¼Ü¹¹£¬°üÀ¨ÒÔÏµļ¸¸ö·½Ã棺

1.»ù´¡¼Ü¹¹µÄ·Ö²ãÉè¼Æ£»

2.»úÆ÷ѧϰµÄÊýÖµ¼ÆË㣻

3.TensorFlow µÄÖØÐÂʵÏÖ£»

4.·Ö²¼Ê½»úÆ÷ѧϰƽ̨µÄÉè¼Æ¡£

µÚÒ»²¿·Ö£¬»ù´¡¼Ü¹¹µÄ·Ö²ãÉè¼Æ

´ó¼ÒÏëÏóһϣ¬Èç¹ûÎÒÃÇÔÚ AWS ÉÏʹÓñàдһ¸ö TensorFlow Ó¦Ó㬾¿¾¹¾­¹ýÁ˶àÉÙ²ãÓ¦ÓóéÏó£¿Ê×ÏÈ£¬ÎïÀí·þÎñÆ÷ºÍÍøÂç¿í´ø¾Í²»±ØËµÁË£¬Í¨¹ý TCP/IP µÈЭÒéµÄ³éÏó£¬ÎÒÃÇÖ±½ÓÔÚ AWS ÐéÄâ»úÉϲÙ×÷¾ÍºÍ±¾µØ²Ù×÷ûÓÐÇø±ð¡£Æä´Î£¬²Ù×÷ϵͳºÍ±à³ÌÓïÑԵijéÏó£¬ÈÃÎÒÃÇ¿ÉÒÔ²»¸ÐÖªµ×²ãÄÚ´æÎïÀíµØÖ·ºÍ¶Áд´ÅÅÌµÄ System call£¬¶øÖ»ÐèÒª×ñÑ­ Python ¹æ·¶±àд´úÂë¼´¿É¡£È»ºó£¬ÎÒÃÇʹÓÃÁË TensorFlow ¼ÆËã¿â£¬Êµ¼ÊÉÏÎÒÃÇÖ»Ðèµ÷ÓÃ×îÉϲãµÄ Python API£¬µ×²ãÊǾ­¹ýÁË Protobuf ÐòÁл¯ºÍ swig ½øÐпçÓïÑÔµ÷ÑУ¬È»ºóͨ¹ý gRPC »òÕß RDMA ½øÐÐͨÐÅ£¬¶ø×îµ×²ãÕâÊǵ÷Óà Eigen »òÕß CUDA ¿â½øÐоØÕóÔËËã¡£

Òò´Ë£¬ÎªÁËʵÏÖÈí¼þ¼äµÄ½âñîºÍ³éÏó£¬ÏµÍ³¼Ü¹¹³£³£²ÉÓ÷ֲã¼Ü¹¹£¬Í¨¹ý·Ö²ãÀ´ÆÁ±Îµ×²ãʵÏÖϸ½Ú£¬¶øÃ¿Ò»¸öµ×²ã¶¼Ï൱ÓÚÉϲãÓ¦ÓõĻù´¡¼Ü¹¹¡£

ÄÇôÎÒÃÇÈçºÎÔÚÒ»¸ö·Ö²ãµÄÊÀ½çÖмзìÉú´æ£¿

ÓÐÈË¿ÉÄÜÈÏΪ£¬¼ÈÈ»ÓÐÈËʵÏÖÁ˲Ù×÷ϵͳºÍ±à³ÌÓïÑÔ£¬ÄÇôÎÒÃÇ»¹ÐèÒª¹Ø×¢µ×²ãµÄʵÏÖϸ½ÚÂð£¿Õâ¸öÎÊÌâûÓбê×¼´ð°¸£¬²»Í¬µÄÈËÔÚ²»Í¬µÄʱÆÚ»áÓв»Í¬µÄ¸ÐÊÜ£¬ÏÂÃæÎÒ¾ÙÁ½¸öÀý×Ó¡£

ÔÚ¡¶ÎªÁË 1% ÇéÐΣ¬ÎþÉü 99% ÇéÐÎϵÄÐÔÄÜ£ºÎÏÅ£°ãµÄ Python É±´¡·ÕâÆªÎÄÕÂÖУ¬×÷Õß½éÉÜÁË Python ±ê×¼¿âÖÐ copy.deep_copy() µÄʵÏÖ£¬1% µÄÇé¿öÊÇÖ¸ÔÚÉ±´Ê±¶ÔÏóÄÚ²¿ÓпÉÄÜ´æÔÚÒýÓÃ×ÔÉíµÄ¶ÔÏó£¬Òò´ËÐèÒªÔÚ¿½±´Ê±¼Ç¼ËùÓп½±´¹ýµÄ¶ÔÏóÐÅÏ¢£¬¶ø 99% µÄ³¡¾°Ï¶ÔÏó²¢²»»áÖ±½ÓÓ¦ÓÃ×ÔÉí£¬ÎªÁ˼æÈÝ 100% µÄÇé¿öÕâ¸ö¿âËðʧÁË 6 ±¶ÒÔÉϵÄÐÔÄÜ¡£ÔÚÉîÈëÁ˽â Python Ô´Âëºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýʵÏÖÉ±´Ëã·¨À´½â¾öÉÏÊöÐÔÄÜÎÊÌ⣬´Ó¶øÓÅ»¯ÎÒÃǵÄÒµÎñÂß¼­¡£

ÁíÒ»¸öÀý×ÓÊǰ¢ÀïµÄÑî¾üÀÏʦÔÚ Strata Data Conference ·ÖÏíµÄ¡¶Pluto: Ò»¿î·Ö²¼Ê½Òì¹¹Éî¶Èѧϰ¿ò¼Ü¡·£¬ÀïÃæ½éÉܵ½»ùÓÚ TensorFlow µÄ control_dependencies À´ÊµÏÖÀäÈÈÊý¾ÝÔÚ GPU ÏÔ´æÉϵÄÖÃÈëÖóö£¬´Ó¶øÔÚÓû§¼¸ºõ²»¸ÐÖªµÄÇé¿öϼ«´ó½µµÍÁËÏÔ´æµÄʹÓÃÁ¿¡£Á˽âÔ´ÂëµÄÈË¿ÉÄÜ·¢ÏÖÁË£¬TensorFlow µÄ Dynamic computation graph£¬Ò²¾ÍÊÇ tensorflow/fold ÏîÄ¿£¬Ò²ÊÇ»ùÓÚ control_dependencies ʵÏֵģ¬ÄÜÔÚÉùÃ÷ʽ»úÆ÷ѧϰ¿ò¼ÜÖÐʵÏÖ¶¯Ì¬¼ÆËãͼҲÊDz»Ì«ÈÝÒס£ÕâÁ½ÖÖʵÏÖ¶¼²»´æÔÚ TensorFlow µÄ¹Ù·½ÎĵµÖУ¬Ö»ÓжÔÔ´ÂëÓÐ×ã¹»ÉîÈëµÄÁ˽â²Å¿ÉÄÜÔÚ¹¦ÄܺÍÐÔÄÜÉÏÓо޴óµÄÍ»ÆÆ£¬Òò´ËÈç¹ûÄãÊÇÆóÒµÄÚ TensorFlow ¿ò¼ÜµÄ»ù´¡¼Ü¹¹Î¬»¤Õߣ¬Í»ÆÆ TensorFlow µÄ Python API ³éÏó²ãÊǷdz£ÓбØÒªµÄ¡£

´ó¼ÒÔÚÓ¦ÓûúÆ÷ѧϰʱ£¬²»Öª²»¾õÒѾ­Ê¹ÓÃÁ˺ܶà»ù´¡¼Ü¹¹µÄ³éÏ󣬯äÖÐ×îÖØÒªµÄιýÓÚ»úÆ÷ѧϰËã·¨±¾ÉíµÄʵÏÖ£¬½ÓÏÂÀ´ÎÒÃǽ«Í»ÆÆ³éÏó£¬ÉîÈëÁ˽âµ×²ãµÄʵÏÖÔ­Àí¡£

µÚ¶þ²¿·Ö£¬»úÆ÷ѧϰµÄÊýÖµ¼ÆËã

»úÆ÷ѧϰ£¬±¾ÖÊÉÏÊÇһϵÁеÄÊýÖµ¼ÆË㣬Òò´Ë TensorFlow ¶¨Î»Ò²²»ÊÇÒ»¸öÉî¶Èѧϰ¿â£¬¶øÊÇÒ»¸öÊýÖµ¼ÆËã¿â¡£µ±ÎÒÃÇÌýµ½ÁËÏãÅ©ìØ¡¢±´Ò¶Ë¹¡¢·´Ïò´«²¥ÕâЩ¸ÅÄîʱ£¬²¢²»ÐèÒªµ£ÐÄ£¬ÕâЩ¶¼ÊÇÊýѧ£¬¶øÇÒ¿ÉÒÔͨ¹ý¼ÆËã»ú±à³ÌʵÏֵġ£

½Ó´¥¹ý»úÆ÷ѧϰµÄ¶¼ÖªµÀ LR£¬Ò»°ãÊÇÖ¸Âß¼­»Ø¹é£¨Logistic regression£©£¬Ò²¿ÉÒÔÖ¸ÏßÐԻع飨Linear regression£©£¬¶øÇ°ÕßÊôÓÚ·ÖÀàËã·¨£¬ºóÕßÊôÓڻعéËã·¨¡£Á½ÖÖ LR ¶¼ÓÐһЩ¿ÉÒÔµ÷Óŵij¬²ÎÊý£¬ÀýÈçѵÁ·ÂÖÊý£¨Epoch number£©¡¢Ñ§Ï°ÂÊ£¨Learning rate£©¡¢ÓÅ»¯Æ÷£¨Optimizer£©µÈ£¬Í¨¹ýʵÏÖÕâ¸öËã·¨¿ÉÒÔ°ïæÎÒÃÇÀí½âÆäÔ­ÀíºÍµ÷Óż¼ÇÉ¡£

ÏÂÃæÊÇÒ»¸ö×î¼òµ¥µÄÏßÐԻعé Python ʵÏÖ£¬Ä£ÐÍÊǼòµ¥µÄ y = w * x + b¡£

´ÓÕâ¸öÀý×Ó´ó¼Ò¿ÉÒÔ¿´µ½£¬ÊµÏÖÒ»¸ö»úÆ÷ѧϰËã·¨²¢²»ÒÀÀµÓÚ Scikit-learn »òÕß TensorFlow µÈÀà¿â£¬±¾ÖÊÉ϶¼ÊÇÊýÖµÔËË㣬²»Í¬ÓïÑÔʵÏÖ»áÓÐÐÔÄܲîÒì¶øÒÑ¡£Ï¸ÐĵÄÅóÓÑ¿ÉÄÜ·¢ÏÖ£¬ÎªÊ²Ã´ÕâÀï w µÄÌݶȣ¨Gradient£©ÊÇ -2 * x * (y ¨C x * x ¨Cb)£¬¶ø b µÄÌݶÈÕâÊÇ -2 * (y ¨C w * x - b)£¬ÈçºÎ±£Ö¤¾­¹ý¼ÆËãºó Loss Ͻµ¶ø×¼È·ÂÊÉÏÉý£¿Õâ¾ÍÊÇÊýѧÉϱ£Ö¤ÁË£¬ÎÒÃǶ¨ÒåÁË Loss º¯Êý£¨Mean square error£©Îª y ¨C w * x - b µÄƽ·½£¬Ò²¾ÍÊÇ˵Ԥ²âÖµÔ½½Ó½ü y µÄ»° Loss ԽС£¬Ä¿±ê±ä³ÉÇó Loss º¯ÊýÔÚ w ºÍ b µÄÈÎÒâȡֵϵÄ×îСֵ£¬Òò´Ë¶Ô w ºÍ b Ç󯫵¼ºó¾ÍµÃµ½ÉÏÃæÁ½Ìõ¹«Ê½¡£

Èç¹û¸ÐÐËȤ£¬²»·Á¿´Ò»ÏÂÏßÐԻعéÏ MSE Ç󯫵¼µÄÊýѧ¹«Ê½Ö¤Ã÷¡£

Âß¼­»Ø¹éÓëÏßÐԻعéÀàËÆ£¬µ±ÓÉÓÚÊÇ·ÖÀàÎÊÌ⣬Òò´ËÐèÒª¶Ô w * x + b µÄÔ¤²â½á¹û½øÐйéÒ»»¯£¨Normalization£©£¬Ò»°ãʹÓà Sigmoid ·½·¨£¬ÔÚ Python ÖпÉÒÔͨ¹ý 1.0 / (1 + numpy.exp(-x)) ÕâÖÖ·½Ê½ÊµÏÖ¡£ÓÉÓÚÔ¤²âÖµ²»Í¬£¬Loss º¯ÊýµÄ¶¨ÒåÒ²²»Í¬£¬Ç󯫵¼µÃµ½µÄÊýÖµ¼ÆË㹫ʽҲ²»Í¬£¬¸ÐÐËȤҲ¿ÉÒÔ¿´¿´ÎҵĹ«Ê½ÍƵ¼¡£

´ó¼Ò¿ÉÒÔ¿´µ½×îÖÕÇóµÃµÄÆ«µ¼ÊǷdz£¼òµ¥µÄ£¬ÓÃÈκαà³ÌÓïÑÔ¶¼¿ÉÒÔÇáÒ×ʵÏÖ¡£µ«ÎÒÃÇ×Ô¼ºµÄʵÏÖδ±ØÊÇ×î¸ßЧµÄ£¬ÎªÊ²Ã´²»Ö±½ÓÓà Scikit-learn¡¢MXNet ÕâЩ¿ªÔ´¿âÒѾ­ÊµÏֺõÄËã·¨ÄØ£¿

ÎÒÃǶÔÕâ¸öËã·¨µÄÀí½â£¬ÆäʵÊÇÔÚ¹¤³ÌÉÏʹÓÃËüµÄÒ»¸öºÜÖØÒªµÄ»ù´¡¡£ÀýÈçÔÚÕæÊµµÄÒµÎñ³¡¾°Ï£¬Ò»¸öÑù±¾µÄÌØÕ÷¿ÉÄÜÓаÙÒÚÉõÖÁǧÒÚά£¬¶øÍ¨¹ýÇ°ÃæµÄËã·¨ÎÒÃÇÁ˽⵽£¬LR Ä£Ð͵ĴóСºÍÑù±¾ÌØÕ÷µÄά¶ÈÊÇÏàͬµÄ£¬Ò²¾ÍÊÇ˵һ¸ö½ÓÊܰÙÒÚÎ¬ÌØÕ÷µÄÄ£ÐÍ£¬±¾Éí²ÎÊý¾ÍÓаÙÒÚ¸ö£¬Èç¹ûʹÓñê×¼µÄË«¾«¶È¸¡µãÊý±£´æÄ£ÐͲÎÊý£¬ÄÇô°ÙÒÚάµÄÄ£ÐͲÎÊý²¿·ÖÖÁÉÙÒª³¬¹ý 40G£¬ÄÇôǧÒÚάµÄÌØÕ÷¸üÊǵ¥»úËùÎÞ·¨¼ÓÔØµÄ¡£

Òò´Ë£¬ËäÈ» Scikit-learn ͨ¹ý native ½Ó¿ÚʵÏÖÁ˸ßÐÔÄÜµÄ LR Ëã·¨£¬µ«Ö»ÄÜÂú×ãÔÚµ¥»úÉÏѵÁ·£¬¶ø MXNet ÓÉÓÚÔ­ÉúûÓÐÖ§³Ö SpareTensor£¬¶ÔÓÚ³¬¸ßά¶ÈµÄÏ¡ÊèÊý¾ÝѵÁ·Ð§ÂÊÊǷdz£µÍµÄ£¬TensorFlow ±¾ÉíÖ§³Ö SpareTensor Ò²Ö§³ÖÄ£ÐͲ¢ÐУ¬¿ÉÒÔÖ§³Ö°ÙÒÚÎ¬ÌØÕ÷µÄÄ£ÐÍѵÁ·£¬µ«Ã»ÓÐÕë¶Ô LR ÓÅ»¯Ð§ÂÊÒ²²»ÊǺܸߡ£ÔÚÕâÖÖ³¡¾°Ï£¬µÚËÄ·¶Ê½»ùÓÚ Parameter server ʵÏÖÁËÖ§³ÖÄ£ÐͲ¢ÐкÍÊý¾Ý²¢Ðеij¬¸ßά¶È¡¢¸ßÐÔÄÜ»úÆ÷ѧϰ¿â£¬ÔÚ´Ë»ù´¡ÉϵĴó¹æÄ£ LR¡¢GBDT µÈË㷨ѵÁ·Ð§ÂʲÅÄÜÂú×㹤³ÌÉϵÄÐèÇó¡£

»úÆ÷ѧϰ»¹ÓкܶàÓÐÒâ˼µÄËã·¨£¬ÀýÈç¾ö²ßÊ÷¡¢SVM¡¢Éñ¾­ÍøÂç¡¢ÆÓËØ±´Ò¶Ë¹µÈµÈ£¬Ö»ÐèÒª²¿·ÖÊýѧÀíÂÛ»ù´¡¾Í¿ÉÒÔÇáÒ×ÔÚ¹¤³ÌÉÏʵÏÖ£¬ÓÉÓÚÆª·ù¹ØÏµÕâÀï¾Í²»ÔÚ׸ÊöÁË¡£Ç°ÃæÎÒÃǽéÉܵįäʵÊÇ»úÆ÷ѧϰÖеÄÃüÁîʽ£¨Imperative£©±à³Ì½Ó¿Ú£¬ÎÒÃǰÑÇ󯫵¼µÄ¹«Ê½ÌáÇ°ÍÆµ¼³öÀ´£¬È»ºóÏñÆäËû±à³Ì½Å±¾Ò»Ñù¸ù¾Ý´úÂëÄÇ˳ÐòÖ´ÐУ¬¶øÎÒÃÇÖªµÀ TensorFlow ÌṩµÄÊÇÒ»ÖÖÉùÃ÷ʽ£¨Declarative£©µÄ±à³Ì½Ó¿Ú£¬Í¨¹ýÃèÊö¼ÆËãͼµÄ·½Ê½À´ÑÓºóºÍÓÅ»¯Ö´Ðйý³Ì£¬½ÓÏÂÀ´ÎÒÃǾͽéÉÜÕâ·½ÃæµÄÄÚÈÝ¡£

µÚÈý²¿·Ö£¬TensorFlow µÄÖØÐÂʵÏÖ

Ê×ÏÈ´ó¼Ò¿ÉÄÜÓÐÒÉÎÊ£¬ÎÒÃÇÐèÒªÐèÒªÖØÐÂʵÏÖ TensorFlow£¿TensorFlow Áé»îµÄ±à³Ì½Ó¿Ú¡¢»ùÓÚ Eigen ºÍ CUDA µÄ¸ßÐÔÄܼÆËã¡¢Ö§³Ö·Ö²¼Ê½ºÍ Hadoop HDFS ¼¯³É£¬ÕâЩ¶¼ÊǸöÈËÉõÖÁÆóÒµºÜÄÑÍêȫ׷¸ÏʵÏֵ쬶øÇÒ¼´Ê¹ÐèÒªÃüÁîʽ±à³Ì½Ó¿ÚÎÒÃÇÒ²¿ÉÒÔʹÓà MXNet£¬²¢Ã»ÓÐÇ¿ÐèÇóÐèÒªÒ»¸öÐ嵀 TensorFlow ¿ò¼Ü¡£

ÊÂʵÉÏ£¬ÎÒ¸öÈËÔÚѧϰ TensorFlow ¹ý³ÌÖУ¬Í¨¹ýʵÏÖÒ»¸ö TensorFlow-like µÄÏîÄ¿£¬²»½ö¾ªÌ¾ÓëÆäÔ´ÂëºÍ½Ó¿ÚµÄÉè¼Æ¾«ÇÉ£¬Ò²¼ÓÉîÁ˶ÔÉùÃ÷ʽ±à³Ì¡¢DAG ʵÏÖ¡¢×Ô¶¯Ç󯫵¼¡¢·´Ïò´«²¥µÈ¸ÅÄîµÄÀí½â¡£ÉõÖÁÔÚ Benchmark ²âÊÔÖз¢ÏÖ£¬´¿ Python ʵÏÖµÄÏîÄ¿ÔÚÏßÐԻعéÄ£ÐÍѵÁ·ÖÐ±È TensorFlow ¿ì 22 ±¶£¬µ±È»ÕâÊÇÔÚÌØ¶¨³¡¾°ÏÂѹ²âµÃµ½µÄ½á¹û£¬Ö÷ÒªÔ­ÒòÊÇ TensorFlow ÖдæÔÚ Python Óë C++ ¿çÓïÑÔµÄÇл»¿ªÏú¡£

Õâ¸öÏîÄ¿¾ÍÊÇ MiniFlow£¬Ò»¸öʵÏÖÁËÁ´Ê½·¨Ôò¡¢×Ô¶¯Ç󵼡¢Ö§³ÖÃüÁîʽ±à³ÌºÍÉùÃ÷ʽ±à³ÌµÄÊýÖµ¼ÆËã¿â£¬²¢ÇÒ¼æÈÝ TensorFlow Python API¡£¸ÐÐËȤ¿ÉÒÔÔÚÕâ¸öµØÖ·²ÎÓ뿪·¢£¬ÏÂÃæÊÇÁ½Õß API ¶Ô±Èͼ¡£

Á˽â TensorFlow ºÍ MXNet£¨»òÕß NNVM£©Ô´ÂëµÄÅóÓÑ¿ÉÄÜÖªµÀ£¬Á½Õß¶¼³éÏóÁË Op¡¢Graph¡¢Placeholer¡¢Variable µÈ¸ÅÄͨ¹ý DAG µÄ·½Ê½ÃèÊöÄ£Ð͵ļÆËãÁ÷ͼ£¬Òò´ËÎÒÃÇÒ²ÐèҪʵÏÖÀàËÆµÄ¹¦Äܽӿڡ£

ÓëÇ°ÃæµÄ LR ´úÂ벻ͬ£¬»ùÓÚ Graph µÄÄ£ÐÍÔÊÐíÓû§×Ô¶¨Òå Loss º¯Êý£¬Ò²¾ÍÊÇÓû§¿ÉÒÔʹÓô«Í³µÄ Mean square error£¬Ò²¿ÉÒÔ×Ô¶¨ÒåÒ»¸öÈÎÒâµÄÊýѧ¹«Ê½×÷Ϊ Loss º¯Êý£¬ÕâÒªÇó¿ò¼Ü±¾ÉíÄܹ»ÊµÏÖ×Ô¶¯Ç󵼵ŦÄÜ£¬¶ø²»ÊÇÎÒÃǸù¾Ý Loss º¯ÊýÔ¤ÏÈʵÏÖÁ˵¼ÊýµÄ¼ÆË㷽ʽ¡£

ÄÇôÓû§¿ÉÒÔ¶¨ÒåµÄ×îС²Ù×÷£¬Ò²¾ÍÊÇ Op£¬ÐèҪƽ̨ʵÏÖ»ù±¾µÄËã×Ó£¬ÀýÈç ConstantOp¡¢AddOp¡¢MultipleOp µÈ£¬¶øÇÒÓû§ÊµÏÖ×Ô¶¨ÒåËã×Óʱ¿ÉÒÔ¼ÓÈë×Ô¶¯Çóµ¼µÄÁ÷³ÌÖУ¬²¢²»Ó°Ïì¿ò¼Ü±¾ÉíµÄѵÁ·Á÷³Ì¡£²Î¿¼ TensorFlow µÄ Python Ô´Â룬ÏÂÃæÎÒÃǶ¨ÒåÁË Op µÄ»ùÀ࣬ËùÓÐµÄ Op ¶¼Ó¦¸ÃʵÏÖ forward() ºÍ grad() ÒÔ±ãÓÚÄ£ÐÍѵÁ·Ê±×Ô¶¯Çóµ¼£¬¶øÇÒͨ¹ýÖØÔØ Python ²Ù×÷·û¿ÉÒÔΪ¿ª·¢ÕßÌṩ¸ü±ãÀûµÄʹÓýӿڡ£

ÄÇô¶ÔÓÚ³£Á¿£¨ConstantOp£©ºÍ±äÁ¿£¨VariableOp£©£¬ËûÃǵÄÕýÏòÔËËã¾ÍÊǵõ½µÄÊDZ¾ÉíµÄÖµ£¬¶øÇóµ¼Ê±³£Á¿µÄµ¼ÊýΪ 0£¬Ç󯫵¼µÄ±äÁ¿µ¼ÊýΪ 1£¬ÆäËû±äÁ¿Ò²Îª 0£¬¾ßÌå´úÂëÈçÏ¡£

Æäʵ¸üÖØÒªµÄÊÇ£¬ÎÒÃÇÐèҪʵÏÖ¼Ó£¨AddOp£©¡¢¼õ£¨MinusOp£©¡¢³Ë£¨MultipleOp£©¡¢³ý£¨DivideOp£©¡¢Æ½·½£¨PowerOp£©µÈËã×ÓµÄÕýÏòÔËËãºÍ·´ÏòÔËËãÂß¼­£¬È»ºó¸ù¾ÝÁ´Ê½·¨Ôò£¬Èκθ´ÔÓµÄÊýѧ¹«Ê½Çóµ¼¶¼¿ÉÒÔ¼ò»¯³ÉÕâЩ»ù±¾Ëã×ÓµÄÇ󵼡£

ÀýÈç¼Ó·¨ºÍ¼õ·¨£¬ÎÒÃÇÖªµÀÁ½¸öÊý¼Ó·¨µÄµ¼ÊýµÈÓÚµ¼ÊýµÄ¼Ó·¨£¬Òò´Ë¸ù¾Ý´ËÊýѧԭÀí£¬ÎÒÃÇ¿ÉÒÔºÜÈÝÒ×ʵÏÖ AddOp£¬¶ø MinusOp ʵÏÖÀàËÆ¾Í²»×¸ÊöÁË¡£

¶ø³Ë·¨ºÍ³ý·¨Ïà¶Ô¸´ÔÓ£¬ÏÔÈ»Á½¸öÊý³Ë·¨µÄµ¼Êý²»µÈÓÚµ¼ÊýµÄ³Ë·¨£¬ÀýÈç x ºÍ x µÄƽ·½£¬Ïȵ¼ÊýºóÏà³ËµÃµ½ 2x£¬ÏÈÏà³Ëºóµ¼ÊýµÃµ½ 3 ±¶ x µÄƽ·½¡£Òò´ËÕâÊÇÐèҪʹÓóËÊý·¨Ôò£¬»ù±¾¹«Ê½ÊÇ£¬¶ø´úÂëʵÏÖÈçÏ¡£

³ý·¨ºÍƽ·½µÄÇóµ¼·½Ê½Ò²ÊÇÀàËÆµÄ£¬ÒòΪÊýѧÉÏÒѾ­Ö¤Ã÷£¬ËùÒÔÖ»ÐèÒª±àÂëʵÏÖ»ù±¾µÄÕýÏòºÍ·´ÏòÔËËã¼´¿É¡£ÓÉÓÚÆª·ùÓÐÏÞ£¬ÕâÀï²»ÔÙϸÖ½éÉÜ MiniFlow µÄÔ´ÂëʵÏÖÁË£¬¸ÐÐËȤ¿ÉÒÔͨ¹ýÉÏÃæµÄ Github Á´½ÓÕÒµ½ÍêÕûµÄÔ´ÂëʵÏÖ£¬ÏÂÃæÔÙÌṩʹÓÃÏàͬ API ½Ó¿ÚʵÏÖµÄÄ£ÐÍÐÔÄܲâÊÔ½á¹û£¬¶ÔÓÚСÅúÁ¿Êý¾Ý´¦Àí¡¢ÐèҪƵ·±Çл» Python/C++ ÔËÐл·¾³µÄ³¡¾°Ï MiniFlow »áÓиüºÃµÄÐÔÄܱíÏÖ¡£

Ç°Ãæ½éÉÜÁË»úÆ÷ѧϰËã·¨ºÍÉî¶ÈѧϰÀà¿âµÄʵÏÖ£¬²¢²»ÊÇËùÓÐÈ˶¼ÓÐÄÜÁ¦È¥ÖØÐ´»òÕßÓÅ»¯Õⲿ·Ö»ù´¡¼Ü¹¹µÄ£¬ºÜ¶àʱºòÎÒÃǶ¼Ö»ÊÇÕâЩËã·¨µÄʹÓÃÕߣ¬µ«´ÓÁíÒ»¸ö½Ç¶È£¬ÎÒÃǾÍÐèҪά»¤Ò»¸ö¸ß¿ÉÓõļÆËãÆ½Ì¨À´×ö»úÆ÷ѧϰµÄѵÁ·ºÍÔ¤²â£¬ÏÂÃæ½«´ÓÕâ·½Ãæ½éÉÜÈçºÎ´òÔì·Ö²¼Ê½»úÆ÷ѧϰƽ̨¡£

µÚËIJ¿·Ö£¬·Ö²¼Ê½»úÆ÷ѧϰƽ̨µÄÉè¼Æ

Ëæ×Å´óÊý¾ÝºÍÔÆ¼ÆËãµÄ·¢Õ¹£¬ÊµÏÖÒ»¸ö¸ß¿ÉÓᢷֲ¼Ê½µÄ»úÆ÷ѧϰƽ̨³ÉΪһ¸ö»ù±¾ÐèÇó¡£ÎÞÂÛÊÇ Caffe¡¢TensorFlow£¬»¹ÊÇÎÒÃÇ×ÔÑеĸßÐÔÄÜ»úÆ÷ѧϰ¿â£¬¶¼Ö»Êǽâ¾öÊýÖµ¼ÆËã¡¢Ë㷨ʵÏÖÒÔ¼°Ä£ÐÍѵÁ·µÄÎÊÌ⣬¶ÔÓÚÈÎÎñµÄ¸ôÀë¡¢µ÷¶È¡¢Failover ¶¼ÐèÒªÉÏ²ãÆ½Ì¨ÊµÏÖ¡£

ÄÇôÉè¼ÆÒ»¸öÕë¶Ô»úÆ÷ѧϰȫÁ÷³ÌµÄ»ù´¡¼Ü¹¹Æ½Ì¨£¬ÐèÒªº­¸ÇÄÄЩ¹¦ÄÜÄØ£¿

Ê×ÏÈ£¬±ØÐëʵÏÖ×ÊÔ´¸ôÀë¡£ÔÚÒ»¸ö¹²Ïíµ×²ã¼ÆËã×ÊÔ´µÄ¼¯ÈºÖУ¬Óû§Ìá½»µÄѵÁ·ÈÎÎñ²»Ó¦¸ÃÊܵ½ÆäËûÈÎÎñµÄÓ°Ï죬¾¡¿ÉÄܱ£Ö¤ CPU¡¢ÄÚ´æ¡¢GPU µÈ×ÊÔ´¸ôÀë¡£Èç¹ûʹÓà Hadoop »ò Spark ¼¯Èº£¬Ä¬ÈϾͻáÔÚÈÎÎñ½ø³ÌÉϹÒÔØ cgroups£¬±£Ö¤ CPU ºÍÄÚ´æµÄ¸ôÀ룬¶øËæ×Å Docker µÈÈÝÆ÷¼¼ÊõµÄ³ÉÊ죬ÎÒÃÇÒ²¿ÉÒÔʹÓà Kubernetes¡¢Mesos µÈÏîÄ¿À´Æô¶¯ºÍ¹ÜÀíÓû§ÊµÏÖµÄÄ£ÐÍѵÁ·ÈÎÎñ¡£

Æä´Î£¬ÊµÏÖ×ÊÔ´µ÷¶ÈºÍ¹²Ïí¡£Ëæ×ÅͨÓüÆËãµÄ GPU Á÷ÐУ¬Ä¿Ç°Ö§³Ö GPU µ÷¶ÈµÄ±àÅŹ¤¾ßÒ²Ô½À´Ô½¶à£¬¶ø²¿·ÖÆóÒµÄÚ»¹´æÔÚ×Å GPU ר¿¨×¨ÓõÄÇé¿ö£¬ÎÞ·¨ÊµÏÖ×ÊÔ´µÄ¶¯Ì¬µ÷¶ÈºÍ¹²Ïí£¬Õâ±ØÈ»µ¼Ö¼ÆËã×ÊÔ´µÄÑÏÖØÀË·Ñ¡£ÔÚÉè¼Æ»úÆ÷ѧϰƽ̨ʱ£¬ÐèÒª¾¡¿ÉÄÜ¿¼ÂÇͨÓõļ¯Èº¹²Ïí³¡¾°£¬ÀýÈçͬʱ֧³ÖÄ£ÐÍѵÁ·¡¢Ä£ÐÍ´æ´¢ÒÔ¼°Ä£ÐÍ·þÎñµÈ¹¦ÄÜ£¬¿ÉÒÔ¶Ô±êµÄµäÀý¾ÍÊÇ Google Borg ϵͳ¡£

È»ºó£¬Æ½Ì¨ÐèÒªÓÐÁé»îµÄ¼æÈÝÐÔ¡£Ä¿Ç°»úÆ÷ѧϰҵÎñ·¢Õ¹Ñ¸ËÙ£¬Õë¶Ô²»Í¬³¡¾°µÄ»úÆ÷ѧϰ¿ò¼ÜÒ²Ô½À´Ô½¶à£¬Áé»îµÄƽ̨¼Ü¹¹¿ÉÒÔ¼æÈݼ¸ºõËùÓÐÖ÷Á÷µÄÓ¦Óÿò¼Ü£¬±ÜÃâ»ù´¡¼Ü¹¹ÒòΪҵÎñµÄ·¢Õ¹¶øÆµ·±±ä»¯¡£Ä¿Ç° Docker ÊÇÒ»Öַdz£ºÏÊʵÄÈÝÆ÷¸ñʽ¹æ·¶£¬Í¨¹ý±àд Dockerfile ¾Í¿ÉÒÔÃèÊö¿ò¼ÜµÄÔËÐл·¾³ºÍϵͳÒÀÀµ£¬ÔÚ´Ë»ù´¡ÉÏÎÒÃÇ¿ÉÒÔÔÚÆ½Ì¨ÉÏʵÏÖÁË TensorFlow¡¢MXNet¡¢Theano¡¢CNTK¡¢Torch¡¢Caffe¡¢Keras¡¢Scikit-learn¡¢XGBoost¡¢PaddlePaddle¡¢Gym¡¢Neon¡¢Chainer¡¢PyTorch¡¢Deeplearning4j¡¢Lasagne¡¢Dsstne¡¢H2O¡¢GraphLab ÒÔ¼° MiniFlow µÈ¿ò¼ÜµÄ¼¯³É¡£

×îºó£¬ÐèҪʵÏÖ»úÆ÷ѧϰ³¡¾°Ï嵀 API ·þÎñ¡£Õë¶Ô»úÆ÷ѧϰµÄÄ£ÐÍ¿ª·¢¡¢Ä£ÐÍѵÁ·ºÍÄ£ÐÍ·þÎñÈý¸öÖ÷ÒªÁ÷³Ì£¬ÎÒÃÇ¿ÉÒÔ¶¨ÒåÌύѵÁ·ÈÎÎñ¡¢´´½¨¿ª·¢»·¾³¡¢Æô¶¯Ä£ÐÍ·þÎñ¡¢Ìá½»ÀëÏßÔ¤²âÈÎÎñµÈ API£¬ÓÃÊìϤµÄ±à³ÌÓïÑÔÀ´ÊµÏÖ Web service ½Ó¿Ú¡£ÒªÊµÏÖÒ»¸ö Google-like µÄÔÆÉî¶Èѧϰƽ̨£¬´ó¼Ò¿ÉÒԲο¼ÏÂÃæÕâÈý¸ö²½Öè¡£

µ±È»£¬ÒªÊµÏÖÒ»¸öº­¸ÇÊý¾ÝÒýÈë¡¢Êý¾Ý´¦Àí¡¢ÌØÕ÷¹¤³ÌÒÔ¼°Ä£ÐÍÆÀ¹À¹¦ÄܵĻúÆ÷ѧϰƽ̨£¬ÎÒÃÇ»¹ÐèÒª¼¯³É HDFS¡¢Spark¡¢Hive µÈ´óÊý¾Ý´¦Àí¹¤¾ß£¬ÊµÏÖÀàËÆ Azkaban¡¢Oozie µÄ¹¤×÷Á÷¹ÜÀí¹¤¾ß£¬ÔÚÒ×ÓÃÐÔ¡¢µÍÃż÷·½Ãæ×ö¸ü¶àµÄ¹¤×÷¡£

×ܽá

×îºó×ܽáһϣ¬»úÆ÷ѧϰµÄ»ù´¡¼Ü¹¹°üº¬ÁË»úÆ÷ѧϰËã·¨¡¢»úÆ÷ѧϰÀà¿âÒÔ¼°»úÆ÷ѧϰƽ̨µÈ¶à¸ö²ã´ÎµÄÄÚÈÝ¡£¸ù¾ÝÒµÎñµÄÐèÇó£¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñÌØ¶¨µÄÁìÓò½øÐÐÉîÈëÑо¿ºÍ¶þ´Î¿ª·¢£¬ÀûÓÃÂÖ×Ӻ͸ù¾ÝÐèÇó¸ÄÔìÂÖ×ÓͬÑùÖØÒª¡£

ÔÚ»úÆ÷ѧϰÓëÈ˹¤ÖÇÄܷdz£Á÷ÐеĽñÌ죬ϣÍû´ó¼ÒÒ²¿ÉÒÔÖØÊӵײã»ù´¡¼Ü¹¹£¬Ëã·¨Ñо¿Ô±¿ÉÒÔ Àí½â¸ü¶à¹¤³ÌµÄÉè¼ÆÓëʵÏÖ£¬¶øÑз¢¹¤³Ìʦ¿ÉÒÔÁ˽â¸ü¶àµÄËã·¨Ô­ÀíÓëÓÅ»¯£¬ÔÚºÏÊʵĻù´¡¼Ü¹¹Æ½Ì¨ÉÏÈûúÆ÷ѧϰ·¢»Ó¸ü´óµÄÐ§Òæ£¬ÕæÕýÓ¦ÓõÄʵ¼Ê³¡¾°ÖС£

½ñÌì·ÖÏíµÄÄÚÈݵ½ÕâÀïÁË£¬·Ç³£¸Ðл´ó¼Ò :)

´ðÒÉ»·½Ú

Q 1£ºÀÏʦÄúºÃ! ÎÒµÄÎÊÌâÊÇ »ù´¡¼Ü¹¹ÔÚ¾ßÌåÂ䵨·½Ãæ ÓÐʲô½¨Ò飿±ÈÈçÔÚÔÆÉϲ¿ÊðºÍÐéÄ⻯ÈÝÆ÷¼¼ÊõµÄʹÓã¿

³ÂµÏºÀ£º»ù´¡¼Ü¹¹Æäʵ°üº¬¶à²ã´ÎµÄÄÚÈÝ£¬Èç¹ûÔÚÔÆ¶Ë²¿Ê𣬿ÉÒÔ¿¼ÂÇʹÓà AWS »òÕß Google CloudML µÈ»ù´¡·þÎñ£¬Ò²¿ÉÒÔ»ùÓÚ Kubernetes¡¢TensorFlow µÈ¿ªÔ´ÏîÄ¿ÕâÄÚ²¿´î½¨»úÆ÷ѧϰƽ̨£¬²Î¿¼Ç°ÃæÍ¼Æ¬Ìáµ½µÄÈý¸ö²½Ö裬ֻÐèҪʵÏÖ¼òµ¥µÄ API ·þÎñºÍÈÝÆ÷µ÷¶ÈÈÎÎñ¼´¿É¡£

Q 2£ºÀÏʦºÃ£¬½Ó´¥£¨»úÆ÷ѧϰ£©Ö®Ç°ÐèÒªÉîÈëѧϰ spark Âð£¿

³ÂµÏºÀ£º»úÆ÷ѧϰËã·¨±¾Éí²¢ÒÀÀµ Spark£¬ÎÒÃÇ¿ÉÒÔ×Ô¼ºÊµÏÖ»ù±¾µÄËã·¨£¬Ò²¿ÉÒÔʹÓà Scikit-learn¡¢TensorFlow µÈ¿ªÔ´¿â¡£µ±È»Ôڴ󲿷ÖÒµÎñ³¡¾°ÖУ¬ÎÒÃÇ»¹ÊÇÐèÒª Hadoop¡¢Spark µÈ´óÊý¾Ý¿ò¼Ü½øÐÐÊý¾Ý´¦Àí¡¢ÌØÕ÷³éÈ¡µÈ¹¦ÄÜ£¬Òò´ËÕÆÎÕÒ»¶¨µÄ´óÊý¾Ý´¦ÀíÄÜÁ¦Ò²ÊǺÜÓмÛÖµµÄ¡£

Q 3£ºÎÒÓиöÎÊÌ⣬ÔõÑù×öµ½ÏßÏÂÄ£ÐÍЧ¹ûÆÀ¹ÀµÄ×Ô¶¯»¯£¿

³ÂµÏºÀ£ºÕâÊǸöºÃÎÊÌ⣬ÔÚÏßÏÂÎÒÃÇÒ»°ã»á¶Ô²âÊÔÊý¾Ý¼¯¼ÆËã AUC µÈÀëÏßÖ¸±ê£¬À´Ô¤¹ÀÄ£Ð͵ÄЧ¹û£¬×Ô¶¯»¯·½ÃæÎÒÃÇÓÐÒ»Ì××ÔѧϰµÄÁ÷³Ì£¬´ó¼ÒÒ²¿ÉÒÔʹÓà Crontab »òÕß Azkaban µÈÈÎÎñ¹ÜÀí¹¤¾ß£¬¶ÔÓÚеIJâÊÔ¼¯½øÐÐÄ£ÐÍÆÀ¹À£¬ÕâÊÇ´¿¹¤³ÌµÄÎÊÌâÁË¿ÉÒÔ½áºÏÒÑÓеķþÎñ¼Ü¹¹À´ÊµÏÖ¡£

Q 4£ºÎÄÖнéÉܵĻúÆ÷ѧϰ»ù´¡¼Ü¹¹Æ½Ì¨µÄ´î½¨Ë¼Â·£¬ÊÇ·ñ¾ÍÊÇÏÈ֪ƽ̨µÄ¼Ü¹¹Ë¼Â·£¿ÏÈ֪ƽ̨ÊÇ SaaS ʽµÄ·þÎñƽ̨£¬Èç¹ûÎÒÊÇÏë´î½¨¹«Ë¾ÄÚ²¿µÄ»úÆ÷ѧϰ¼Ü¹¹Æ½Ì¨£¬Ë¼Â·Ò²ÊǸúÎÄÖÐÃèÊöÒ»Ñù»¹ÊÇ˵ÓÐʲô²îÒ죿

³ÂµÏºÀ£ºÏÈ֪ƽ̨µÄµ×²ãÒ²ÊÇ·Ö²¼Ê½¡¢¸ß¿ÉÓõĻù´¡¼Ü¹¹£¬Ò²ÊÇÕâ¸ö˼·£¬²»¹ýÔÚÒ×ÓÃÐÔ¡¢µÍÃż÷·½Ãæ×öÁ˸ü¶àµÄ¹¤×÷¡£Ä¿Ç°ÏÈÖªÌṩ SaaS ¹«ÓÐÔÆ°æ±¾¿ÉÒԺܷ½±ãµÃ×¢²áʹÓã¬Èç¹ûÊÇÆóÒµÄÚ²¿´î½¨£¬ÏÈ֪ƽ̨ҲÓÐÆóÒµ°æË½ÓÐÔÆ¿ÉÒÔµ¥¶À²¿Êð£¬Èç¹ûÐèÒª×Ô¼ºÎ¬»¤ºÍ´î½¨»úÆ÷ѧϰƽ̨£¬¿ÉÒÔ¿¼ÂÇ»ùÓÚ Kubernetes µÄÈÝÆ÷µ÷¶È¼¯Èº£¬¿ÉÒÔͨ¹ý¹ÜÀí CPU¡¢GPU µÈÒì¹¹×ÊÔ´£¬Í¨¹ýÖÆ×÷ Docker ¾µÏñµÄ·½Ê½À´Ö§³Ö¸÷ÖÖ»úÆ÷ѧϰ¿ò¼ÜµÄʹÓ㬺ÍÇ°ÃæÌáµ½µÄ˼·ÀàËÆ¡£

Q 5£º¶ÔÓÚÒ»°ãµÄ¹«Ë¾Êý¾Ý¹æÄ£Ã»ÄÇô´ó£¬ÊDz»ÊÇÒ»¸ö¸ßÅäµÄ»úÆ÷ +4 ¸ö GPU ¿¨£¬°²×°Ò»¸ö tensorflow ¾Í¿ÉÒÔÁË£¿

³ÂµÏºÀ£º¶ÔÓÚ¹æÄ£±È½ÏСµÄ¹«Ë¾£¬¿ÉÒÔÖ±½ÓʹÓõ¥»ú¶à¿¨µÄ·½Ê½£¬°üÀ¨ BAT µÈ´óÆóÒµÓеIJ¿ÃÅÒ²ÊÇÖ±½ÓʹÓÃÂã»úµÄ£¬µ«Âã»ú´øÀ´µÄÎÊÌâÊÇûÓÐ×ÊÔ´¹ÜÀíºÍÈÎÎñµ÷¶È£¬Ê¹ÓÃÕßÖ®¼äÐèÒª»¥ÏàÔ¼¶¨Ê¹ÓÃʱ¼äºÍʹÓõÄ×ÊÔ´£¬ÔÚÒ»¶¨³Ì¶ÈÉÏÔì³É×ÊÔ´ÀË·Ñ£¬Èç¹û¹æÄ£´óÁ˽¨ÒéʹÓÃͳһµÄ¼¯Èºµ÷¶È·½Ê½£¬¿ÉÒÔ±£Ö¤ÈÎÎñ¼äµÄ×ÊÔ´¸ôÀëºÍÕý³£Ö´ÐС£

Q 6£ºÕýÈçÀÏʦÔÚȺÀïÉÏ¿ÎÌáµÄ£¬ÔÚ¹¤³ÌÉÏ£¬ÔÚÕæÊµµÄÒµÎñ³¡¾°Ï£¬Ò»¸öÑù±¾µÄÌØÕ÷ÊǰÙÒÚÉõÖÁǧÒÚ£¬ÔÚÏßϵÄʱºò£¬ÑµÁ·ºÃÒ»¸öÄ£ÐÍ£¬²¿ÊðÔÚ·þÎñÆ÷¶Ë¡£ÄÇô£¬ÔÚÏß·þÎñ½×¶Î£¬Ò²¾ÍÊÇÔÚÏß·þÎñµÄÔ¤²â½×¶ÎµÄʱºò£¬ÓÉÓÚ·¢ÆðÔ¤²âÇëÇóµÄÑù±¾ÌØÕ÷Ò²±È½Ï´ó£¬ÄÇôÇëÎÊÔÚʵ¼Ê¹¤³ÌÖÐÕâЩÊý¾ÝÊÇÔõô´æ´¢µÄ£¿

³ÂµÏºÀ£ºÔÚÒ»¸ö°ÙÒÚÉõÖÁÊÇǧÒÚάµÄÄ£ÐÍÉÏ£¬ÎÒÃÇÒ»°ãͨ¹ý·Ö shard µÄ·½Ê½À´Çз֣¬Ä£Ðͱ¾Éí¿ÉÒÔͨ¹ý¶à¸ö Parameter server ʵÀýÀ´±£´æ£¬¶ø¿Í»§¶Ë·¢ËÍÔ¤²âÇëÇóʱ£¬ÓÉÓÚÌØÕ÷ÊǷdz£Ï¡ÊèµÄ£¬Êµ¼ÊÓÐÖµµÄÊý¾Ý·Ç³£ÉÙ£¬Òò´Ë²¢²»ÐèÒª°Ñ´ó²¿·ÖÁãÖµÊý¾ÝÒ²ÇëÇóµ½·þÎñ¶Ë£¬¾ßÌå¸ñʽ´ó¼ÒÒ²¿ÉÒԲο¼Ï TensorFlow ÖÐ SparseTensor µÄʵÏÖ¡£

Q 7£ºÇëÎÊÏÈ֪Ŀǰƽ̨µÄËã·¨ÊÇ»ùÓÚ¿ªÔ´Ëã·¨·â×°»¹ÊÇ×Ô¼ºÊµÏÖµÄÄØ£¿

³ÂµÏºÀ£ºÄ¿Ç°ÏÈ֪ƽ̨Ö÷ÒªÕë¶ÔÕæÊµµÄÓ¦Óó¡¾°£¬×ÔÖ÷Ñз¢µÄ´ó¹æÄ£ LR¡¢GBDT¡¢HE-TreeNet¡¢LFC¡¢SVM¡¢Feature-go µÈËã·¨¶¼¼¯³Éµ½ÏÈ֪ƽ̨ÉÏ£¬µ±È»Æ½Ì¨Ò²Ö§³Ö Spark MLlib¡¢TensorFlow µÈ¿ªÔ´¿ò¼ÜµÄË㷨ʵÏÖ¡£

 

   
2367 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚͼ¾í»ýÍøÂçµÄͼÉî¶Èѧϰ
×Ô¶¯¼ÝÊ»ÖеÄ3DÄ¿±ê¼ì²â
¹¤Òµ»úÆ÷ÈË¿ØÖÆÏµÍ³¼Ü¹¹½éÉÜ
ÏîĿʵս£ºÈçºÎ¹¹½¨ÖªÊ¶Í¼Æ×
 
Ïà¹ØÎĵµ

5GÈ˹¤ÖÇÄÜÎïÁªÍøµÄµäÐÍÓ¦ÓÃ
Éî¶ÈѧϰÔÚ×Ô¶¯¼ÝÊ»ÖеÄÓ¦ÓÃ
ͼÉñ¾­ÍøÂçÔÚ½»²æÑ§¿ÆÁìÓòµÄÓ¦ÓÃÑо¿
ÎÞÈË»úϵͳԭÀí
Ïà¹Ø¿Î³Ì

È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ&TensorFlow
»úÆ÷ÈËÈí¼þ¿ª·¢¼¼Êõ
È˹¤ÖÇÄÜ£¬»úÆ÷ѧϰºÍÉî¶Èѧϰ
ͼÏñ´¦ÀíËã·¨·½·¨Óëʵ¼ù