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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
TensorflowʵսGoogleÉî¶Èѧϰ¿ò¼Ü
 
  3825  次浏览      27
 2018-4-10 
 
±à¼­ÍƼö:

±¾ÎÄÓÚÍøÂç,ÎÄÕ½²½âÁËʹÓÃTensorFlowÈçºÎÀ´¹¹½¨Éñ¾­ÍøÂç¼° ͼÏñʶ±ðÓë¾í»ýÉñ¾­ÍøÂçµÄÏêϸÃèÊö¡£

tensor:ÕÅÁ¿£¬ÊÇtensorflowµÄÊý¾ÝÄ£ÐÍ¡£ÔÚtensorflowÖпÉÒÔ¼òµ¥Àí½âΪ¶àλÊý×飬±íʾ¼ÆËã½Úµã£¬ÊÇtensorflow¹ÜÀíÊý¾ÝµÄÐÎʽ¡£µ«ÊÇÔÚtensorflowÖУ¬ÕÅÁ¿µÄʵÏÖ²¢²»ÊÇÖ±½Ó²ÉÓÃÊý×éµÄÐÎʽ£¬Ëü½ö½öÊǶÔÔËËã½á¹ûµÄÒýÓá£

ÕÅÁ¿µÄÈý¸öÖ÷ÒªÊôÐÔ£ºname¡¢shape£¨Î¬¶È£©¡¢type(ÀàÐÍ)¡£

£¨Note:³£Á¿¿ÉÒÔ¿´³ÉÊÇÒ»ÖÖÓÀÔ¶Êä³ö¹Ì¶¨ÖµµÄ¼ÆË㣬ËùÒÔ¿ÉÒÔÓüÆËã±íʾÊý¾Ý£©

flow:ÒÔÁ÷µÄ·½Ê½

TensorFlow±£³Ö½Úµã²»±ä£¬½ö½ö¸Ä±ä½ÚµãµÄÊý¾Ý£¬»òÕß˵Êý¾ÝÔÚ½ÚµãÖ®¼äÁ÷¶¯¡£

tensorflowÖ§³Ön̨»úÆ÷m¸öcpu,k¸ögpu(n,m,kΪÈÎÒâÕûÊý)¡£

¼ÆËãͼ£º¼ÆËãͼÊÇtensorflowµÄ»ù´¡£¬ÔÚ¼ÆËãͼÖУ¬½Úµã±íʾ¼ÆË㣬¶ø±ß±íʾÏ໥֮¼äµÄÒÀÀµ¹ØÏµ¡£

¼ÆËãͼµÄʹÓãº

ʹÓ÷ÖΪÁ½¸ö½×¶Î£º¹¹½¨¼ÆËãͼºÍÖ´ÐмÆËã

£¨1£©¹¹½¨¼ÆËãͼ

¶¨ÒåÊý¾ÝºÍ¼ÆËã½ÚµãÒÔ¼°ËüÃÇÖ®¼äµÄÒÀÀµ¡£Í¨¹ýtf.get_default_graphÀ´Î¬»¤Ä¬ÈϵļÆËãͼ£¬Í¨¹ýg = tf.GraphÀ´Éú³É¼ÆËãͼ,ͨ¹ýg.device()À´²é¿´gpu¡£

£¨2£©Ö´ÐмÆËã

tensorflowÔËÐÐÄ£ÐÍ£º»á»°

»á»°ÓµÓк͹ÜÀíTensorFlow³ÌÐòÔËÐÐʱµÄËùÓÐ×ÊÔ´¡£

ʹÓûỰÀ´¹ÜÀí×ÊԴʱ£¬Òª×¢ÒâÊÍ·Å×ÊÔ´¡£

TensorFlow¿ÉÒÔ×Ô¶¯Éú³ÉĬÈϵļÆËãͼ£¬µ«²»ÄÜ×Ô¶¯Éú³ÉĬÈϵĻỰ£¬ÐèÒªÊÖ¶¯Ö¸¶¨Ä¬ÈϵĻỰ¡£

ConfigProto Protocol Buffer¹¤¾ß£º¿ÉÒÔÅäÖÃÐèÒªÉú³ÉµÄ»á»°£¬ÀàËÆ²¢ÐеÄÏß³ÌÊý¡¢gpu·ÖÅä²ßÂÔºÍÔËË㳬ʱʱ¼äµÈ²ÎÊý¡£

ʹÓÃTensorFlowÀ´¹¹½¨Éñ¾­ÍøÂç

ǰÏò´«²¥Ëã·¨£º

×î¼òµ¥µÄǰÏò´«²¥Ëã·¨ÊÇÈ«Á¬½ÓÍøÂç½á¹¹µÄǰÏò´«²¥Ëã·¨¡£

È«Á¬½Ó£ºÏàÁÚÁ½²ãÖ®¼äÈÎÒâÁ½¸ö½ÚµãÖ®¼ä¶¼ÓÐÁ¬½Ó¡£

W±íʾÉñ¾­ÍøÂçµÄ²ÎÊý¡£

ÔÚTensorFlowÖУ¬ÉùÃ÷º¯Êýtf.Variable¸øÈ¨Öظ³³õʼֵ¡£Ê¹ÓÃtf.initialize_all_variablesº¯Êý£¬²»ÐèÒª½«±äÁ¿Ò»¸öÒ»¸ö³õʼ»¯£¬¶øÇÒ»á×Ô¶¯´¦Àí±äÁ¿Ö®¼äµÄÒÀÀµ¹ØÏµ¡£

¼¯ºÏ£¨collection£©£º¹ÜÀí²»Í¬Àà±ðµÄ×ÊÔ´¡£±í3-1±íʾÁËTensorFlowά»¤µÄËùÓм¯ºÏµÄÁÐ±í¡£

±äÁ¿µÄÁ½¸öÖØÒªÊôÐÔ£ºÎ¬¶ÈºÍÀàÐÍ¡£

ÀàÐÍÒ»µ©±»È·¶¨£¬²»Äܸı䣬²»Í¬ÀàÐ͵ĸ³Öµ½«»á±¨´í¡£

ËäÈ»TensorFlowÖ§³Ö¸ü¸Ä±äÁ¿µÄά¶È£¬µ«ÊÇÕâÖÖÓ¦ÓÃÔÚʵ¼ùÖбȽϺ±¼û¡£

Éñ¾­ÍøÂçÓÅ»¯Ëã·¨ÖУ¬×î³£ÓõÄÊÇ·´Ïò´«²¥Ëã·¨(backpropagation)

TensorFlowÌṩÁËplaceholder»úÖÆÀ´±ÜÃâÒòΪ³£Á¿¹ý¶à¶øµ¼ÖµļÆËãͼ¹ý´óµÄÎÊÌâ¡£placeholder»úÖÆÓÃÓÚÌṩÊäÈëÊý¾Ý£¬Ï൱ÓÚ¶¨ÒåÁËÒ»¸öλÖã¬Õâ¸öλÖÃÖеÄÊý¾ÝÔÚ³ÌÐòÔËÐÐʱÔÙÖ¸¶¨¡£palceholderµÄÀàÐÍÐèÒªÖ¸¶¨£¬Í¬Ê±Ò²²»¿ÉÒԸı䡣ά¶ÈÐÅÏ¢¿ÉÒÔ¸ù¾ÝÌṩµÄÊý¾ÝÍÆµ¼µÃ³ö£¬ËùÒÔ²»Ò»¶¨¸ø³ö¡£ÔÚÔËÐÐʱ£¬ÐèÒªÌṩһ¸öfeed_dict(Ò»ÖÖ×ÖµäÀàÐ͵Ä)ÀàÐ͵ÄÊý¾Ý¸³Öµ¡£

TensorFlowÖ§³Ö7ÖÖ²»Í¬µÄÓÅ»¯Æ÷£¬¿ÉÒÔ¶ÔTRAINABLE_VARIABLES¼¯ºÏÖеıäÁ¿½øÐÐÓÅ»¯¡£

Éî¶ÈѧϰÁ½¸öÖØÒªÌØÐÔ£º¶à²ã¡¢·ÇÏßÐÔ

¶à²ã£º¼ÓÈëÒþ²Ø²ã£¬¿ÉÒÔÈÏΪ´ÓÊäÈëÌØÕ÷ÖÐÌáÈ¡Á˸ü¸ßάµÄÌØÕ÷£¬Êµ¼ÊÉϾßÓÐ×éºÏÌØÕ÷ÌáÈ¡µÄ¹¦ÄÜ¡£

TensorFlowÖ§³Ö7ÖÖ²»Í¬µÄ·ÇÏßÐÔ¼¤»îº¯Êý£¬Í¬Ê±Óû§Ò²¿ÉÒÔʹÓÃ×Ô¼º¶¨ÒåµÄ¼¤»îº¯Êý£¬À´±£Ö¤Éî¶ÈѧϰµÄ·ÇÏßÐÔ¡£

¾­µäËðʧº¯Êý£ºÍ¨³£Ê¹Óý»²æìØÀ´ÃèÊöÁ½¸ö¸ÅÂÊÖ®¼äµÄ¾àÀë,ͨ¹ý¿Ì»­¸ÅÂÊ·Ö²¼qÀ´±í´ï¸ÅÂÊ·Ö²¼pµÄÀ§Äѳ̶ȣ¬µ±½»²æìØ×÷ΪÉñ¾­ÍøÂçµÄËðʧº¯Êýʱ£¬Ôòp´ú±íµÄÊÇÕýÈ·´ð°¸£¬q´ú±íµÄÊÇÔ¤²âÖµ¡£ÎªÁ˽«Éñ¾­ÍøÂçµÄÊä³ö±ä³É¸ÅÂÊ·Ö²¼£¬softmax»Ø¹éÊÇ×î³£Óõķ½·¨¡£¶ÔÓڻعéÎÊÌ⣬×î³£ÓõÄËðʧº¯ÊýÊǾù·½Îó²î¡£»Ø¹éÎÊÌâÒ»°ãÖ»ÓÐÒ»¸öÊä³ö½Úµã¡£

ÔÚTensorFlowÖл¹¿ÉÒÔ×Ô¶¨ÒåËðʧº¯Êý¡£

Éñ¾­ÍøÂçÓÅ»¯Ëã·¨£º·´Ïò´«²¥Ëã·¨ºÍÌݶÈϽµËã·¨

·´Ïò´«²¥Ëã·¨¸ø³öÁËÒ»¸ö¸ßЧµÄ·½Ê½ÔÚËùÓвÎÊýÉÏʹÓÃÌݶÈϽµËã·¨£¬ÊÇѵÁ·Éñ¾­ÍøÂçµÄºËÐÄËã·¨¡£ÌݶÈϽµËã·¨µÄ¼ÆËãʱ¼äÌ«³¤£¬Í¨³£²ÉÓÃËæ»úÌݶÈϽµºÍÌݶÈϽµ·½·¨µÄÕÛÖУºbatchÌݶÈϽµ¡£

×¢£ºÌݶÈϽµËã·¨²»Ò»¶¨Äܱ£Ö¤´ïµ½¾Ö²¿×îÓÅÖµ¡£

ѧϰÂʵÄÉèÖÃ

TensorflowʹÓü¯ºÏÀ´½â¾öÒò²ÎÊý¹ý¶à¶ø´øÀ´µÄËðʧº¯Êý¹ý³¤ÈÝÒ׳ö´íµÄÎÊÌâ¡£

»¬¶¯Æ½¾ùÄ£ÐÍ£ºÔÚtensorflowÖУ¬Ê¹ÓÃtf.train.ExponentialMovingAverageÀ´ÊµÏÖ¡£³õʼ»¯Ê±£¬ÐèÒªÌṩ˥¼õÂÊ£¨decay£©À´¿ØÖƸüеÄËÙ¶È¡£

Êý¾Ý¼¯£º

train:ѵÁ·Ä£ÐÍ¡£

validation:´ÓtrainÊý¾Ý¼¯ÖзÖÀë³öÀ´£¬ÔÚѵÁ·¹ý³ÌÖÐ×÷Ϊ²âÊÔÊý¾Ý£¬ÒòΪѡÓòâÊÔ¼¯À´Ñ¡È¡²ÎÊý¿ÉÄܻᵼÖÂÉñ¾­ÍøÂçÄ£Ð͹ý¶ÈÄâºÏ²âÊÔÊý¾Ý¡£

test:ÅжÏÒ»¸öÉñ¾­ÍøÂçµÄÄ£Ð͵ÄЧ¹û×îÖÕÊÇͨ¹ý²âÊÔÊý¾ÝÀ´ÆÀÅеġ£

tensorflowÖÐÖ÷Ҫͨ¹ýtf.get_variableºÍtf.variable_scopeÀ´Í¨¹ý±äÁ¿Ãû³Æ»ñÈ¡±äÁ¿¡£tf.get_variable±äÁ¿Ãû³ÆÊÇÒ»¸ö±ØÌîµÄ²ÎÊý£¬tf.Variable±äÁ¿Ãû³ÆÊÇÒ»¸ö¿ÉÑ¡µÄ²ÎÊý¡£

ͨ¹ýÃüÃû¿Õ¼ä¿ÉÒÔ½â¾ö±äÁ¿Ãû³åÍ»µÄÎÊÌ⣬±ÈÈçµÚÒ»²ãºÍµÚ¶þ²ãÉñ¾­ÍøÂçÖж¼¶¨ÒåÁËweightsÕâ¸ö±äÁ¿£¬Ôò»á³åÍ»£¬Èç¹ûÏȶ¨ÒåÁ½¸öÃüÃû¿Õ¼ä£ºlayer1ºÍlayer2£¬ÔòÔÚ¸÷×ÔµÄÃüÃû¿Õ¼äÖж¨Òå±äÁ¿½â¾öÃüÃû³åÍ»ÎÊÌâ¡£

Ä£Ðͳ־û¯

Ä¿µÄ£ºÈÃѵÁ·½á¹û¿ÉÒÔ¸´Ó㨽«ÑµÁ·½á¹û±£´æÏÂÀ´ÒÔ±ãÒÔºóÖ±½ÓʹÓã©

·½Ê½£ºtf.train.Saver() API

Ó¦Óãºsaver.save(path)º¯Êý»á±£´æÉú³ÉÈý¸öÎļþ£¬ÕâÊÇÒòΪtensorflow»á½«¼ÆËãͼÉϵĽṹºÍ²ÎÊýȡֵ·Ö¿ª±£´æ¡£

£¨1£©*.ckpt.meta±£´æ¼ÆËãͼµÄ½á¹¹

Êý¾Ý¸ñʽ£ºÔªÍ¼£¨MetaGraph£©

ͨ¹ýԪͼÀ´¼Ç¼¼ÆËãͼÖнڵãµÄÐÅÏ¢ÒÔ¼°ÔËÐмÆËãͼÖнڵãËùÐèÒªµÄÔªÊý¾Ý¡£MetaGraphÊÇÓÉMetaGraphDef Protocol Buffer¶¨ÒåµÄ£¬¹¹³ÉÁËTensorFlow³Ö¾Ã»¯Ê±µÄµÚÒ»¸öÎļþ¡£MetaGraphDefÀàÐ͵͍ÒåÈçÏÂËùʾ£º

ÕâÀïдͼƬÃèÊö

save±£´æµÄÊǶþ½øÖÆÎļþ£¬¿ÉÒÔͨ¹ýexport_meta_graphº¯ÊýÒÔjson¸ñʽµ¼³ömetaÎļþÀ´²é¿´¡£

£¨2£©*.ckpt±£´æ³ÌÐòÖÐÿһ¸ö±äÁ¿µÄȡֵ

ÎļþÁбíµÄµÚÒ»ÐÐÃèÊöÁËÎļþµÄÔªÐÅÏ¢£¬±ÈÈçÔÚÕâ¸öÎļþÖд洢µÄ±äÁ¿ÁÐ±í¡£ÁбíʣϵÄÿһÐб£´æÁËÒ»¸ö±äÁ¿µÄƬ¶Î¡£TensorFlowÌṩtf.train.NewCheckpointReaderÀàÀ´²é¿´ckptÎļþÖб£´æµÄ±äÁ¿ÐÅÏ¢¡£

£¨3£©checkpoint±£´æÁËÒ»¸öĿ¼ÏÂËùÓеÄÄ£ÐÍÎļþÁÐ±í¡£

¸ÃÎļþµÄÃû×ÖÊǹ̶¨µÄ£¬ÊÇtf.train.SaverÀà×Ô¶¯Éú³ÉÇÒ×Ô¶¯Î¬»¤µÄ¡£¸ÃÎļþά»¤ÁËÓÉtf.train.SaverÀà³Ö¾Ã»°µÄËùÓÐTensorFlowÉú³ÉµÄÄ£ÐÍÎļþµÄÎļþÃû¡£

³ÌÐòĬÈϱ£´æºÍ¼ÓÔØÁËTensorFlow¼ÆËãͼÉ϶¨ÒåµÄÈ«²¿±äÁ¿£¬µ«ÓÐʱ¿ÉÄÜÐèÒª±£´æ»ò¼ÓÔØ²¿·Ö±äÁ¿¡£ÔÚÉùÃ÷tf.train.SaverÀàʹ¿ÉÒÔÌṩһ¸öÁбíÀ´Ö¸¶¨ÐèÒª±£´æ»ò¼ÓÔØµÄ±äÁ¿£¬Í¬Ê±¸ÃÀàÒ²¿ÉÒÔÔÚ±£´æ»ò¼ÓÔØ±äÁ¿Ê±Ö§³Ö¶Ô±äÁ¿µÄÖØÃüÃû¡£

TensorFlowÒ²ÌṩÁËconvert_variables_to_constantsº¯Êý£¬Í¨¹ý¸Ãº¯Êý¿ÉÒÔ½«¼ÆËãͼÖеıäÁ¿¼°Æäȡֵͨ¹ý³£Á¿µÄ·½Ê½±£´æ£¬Õû¸ö¼ÆËãͼ¿ÉÒÔͳһ´æ·ÅÔÚÒ»¸öÎļþÖС£

ͼÏñʶ±ðÎÊÌâ¾­µäÊý¾Ý¼¯£º

MNIST¡¢Cifar¡¢ImageNet

ͼÏñʶ±ðÓë¾í»ýÉñ¾­ÍøÂç

È«Á¬½ÓÉñ¾­ÍøÂçÎÞ·¨ºÜºÃµØ´¦ÀíͼÏñÊý¾ÝµÄÔ­Òò£º

1.È«Á¬½ÓÉñ¾­ÍøÂç´¦ÀíͼÏñµÄ×î´óÎÊÌâÔÚÓÚÈ«Á¬½Ó²ãµÄ²ÎÊýÌ«¶à£¬µ¼Ö¼ÆËãËٶȵͣ¬»¹ÈÝÒ×µ¼Ö¹ýÄâºÏµÄÎÊÌâ¡£

¾í»ýÉñ¾­ÍøÂçÏàÁÚÁ½²ãÖ®¼äÖ»Óв¿·Ö½ÚµãÏàÁ¬¡£¾í»ýÉñ¾­ÍøÂçºÍÈ«Á¬½ÓÉñ¾­ÍøÂçµÄÎ¨Ò»Çø±ð¾ÍÊÇÉñ¾­ÍøÂçÖÐÏàÁÚÁ½²ãµÄÁ¬½Ó·½Ê½¡£

¾í»ýÉñ¾­ÍøÂçÖ÷ÒªÓÉ5Öнṹ×é³É£º

1.ÊäÈë²ã

Õû¸öÉñ¾­ÍøÂçµÄÊäÈ룬ÔÚͼÏñ´¦ÀíÖУ¬ÊäÈëÒ»°ã´ú±íÒ»ÕÅͼƬµÄÏñËØ¾ØÕó¡£ÔÚͼ6-7ÖУ¬×î×ó²àµÄÈýά¾ØÕó¾Í´ú±íÒ»ÕÅͼƬ¡£Èýά¾ØÕóµÄ³¤ºÍ¿í´ú±íͼÏñµÄ´óС£¬Éî¶È´ú±íÁËͼÏñµÄÉ«²ÊͨµÀ¡£´ÓÊäÈë²ã¿ªÊ¼£¬¾í»ýÉñ¾­ÍøÂçͨ¹ý²»Í¬µÄÉñ¾­ÍøÂç½á¹¹½«ÉÏÒ»²ãµÄÈýά¾ØÕóת»¯ÎªÏÂÒ»²ãµÄÈýά¾ØÕó£¬ÖªµÀ×îºóµÄÈ«Á¬½Ó²ã¡£

2.¾í»ý²ã

¾í»ý²ãÊǾí»ýÉñ¾­ÍøÂçÖÐ×îÖØÒªµÄ²¿·Ö¡£¾í»ý²ãÖÐÿһ¸ö½ÚµãµÄÊäÈëÖ»ÊÇÉÏÒ»²ãÉñ¾­ÍøÂçµÄһС¿é£¬Õâ¸öС¿é³£ÓõĴóСÓÐ3??3»ò5??5£¬Ò»°ãÀ´Ëµ¾­¹ý¾í»ý²ã´¦Àí¹ýµÄ½Úµã¾ØÕó»á±äµÃ¸üÉî¡£

3.³Ø»¯²ã

³Ø»¯²ãÉñ¾­ÍøÂç²»»á¸Ä±äÈýά¾ØÕóµÄÉî¶È£¬µ«ÊÇËü¿ÉÒÔËõС¾ØÕóµÄ´óС¡£³Ø»¯²Ù×÷¿ÉÒÔÈÏΪÊǽ«Ò»ÕÅ·Ö±æÂʽϸߵÄͼƬת»¯Îª·Ö±æÂʽϵ͵ÄͼƬ¡£³Ø»¯²ã¿ÉÒÔ½øÒ»²½ËõС×îºÃÈ«Á¬½Ó²ãÖнڵãµÄ¸öÊý£¬´Ó¶ø´ïµ½¼õÉÙÕû¸öÉñ¾­ÍøÂçÖвÎÊýµÄÄ¿µÄ¡£

4.È«Á¬½Ó²ã

¾­¹ý¶àÂÖ¾í»ý²ãºÍ³Ø»¯²ãµÄ´¦ÀíÖ®ºó£¬¾í»ýÉñ¾­ÍøÂçµÄ×îºóÒ»°ã»áÊÇÓÉ1-2¸öÈ«Á¬½Ó²ãÀ´¸ø³ö×îºóµÄ·ÖÀà½á¹û¡£¾­¹ý¼¸ÂÖ¾í»ý²ãºÍ³Ø»¯²ã´¦ÀíÖ»ºÃ£¬¿ÉÒÔÈÏΪͼÏñÖеÄÐÅÏ¢ÒѾ­±»³éÏó³ÉÁËÐÅÏ¢º¬Á¿¸ü¸ßµÄÌØÕ÷¡£

5.Softmax²ã£¨pooling²ã£©

Softmax²ãÖ÷ÒªÓÃÓÚ·ÖÀàÎÊÌâ¡£

¾í»ý²ãÏêϸ½éÉÜ£º

¹ýÂËÆ÷£¨filter£©»òÕßÄںˣ¨kernel£©:¾í»ý²ãÉñ¾­ÍøÂç½á¹¹ÖÐ×îÖØÒªµÄ²¿·Ö¡£¹ýÂËÆ÷¿ÉÒÔ½«µ±Ç°²ãÉñ¾­ÍøÂ·ÉϵÄÒ»¸ö×Ó½Úµãת»¯ÎªÏÂÒ»²ãÉñ¾­ÍøÂçÉϵÄÒ»¸öµ¥Î»½Úµã¾ØÕó¡£

µ¥Î»½Úµã¾ØÕ󣺳¤ºÍ¿í¶¼Îª1£¬µ«Éî¶È²»ÏÞµÄ½Úµã¾ØÕó¡£

¹ýÂËÆ÷µÄ³ß´ç£ºÖ¸µÄÊÇÒ»¸ö¹ýÂËÆ÷ÊäÈë½Úµã¾ØÕóµÄ´óС£¬¶øÉî¶ÈÖ¸µÄÊÇÊä³öµ¥Î»½Úµã¾ØÕóµÄÉî¶È¡£

¹ýÂËÆ÷µÄǰÏò´«²¥¹ý³Ì£ºÍ¨¹ý×ó²àС¾ØÕóÖÐµÄ½Úµã¼ÆËã³öÓҲ൥λ¾ØÕóÖнڵãµÄ¹ý³Ì¡£ÏÂÃæ½«¸ø³öÒ»¸ö¹ýÂËÆ÷µÄǰÏò´«²¥¹ý³ÌµÄ¾ßÌåÑùÀý¡£ÔÚÕâ¸öÑùÀýÖн«Õ¹Ê¾Èç¸èͨ¹ý¹ýÂËÆ÷½«Ò»¸ö2¡Á2¡Á32¡Á2¡Á3µÄ½Úµã¾ØÕó±ä»¯ÎªÒ»¸ö1¡Á1¡Á51¡Á1¡Á5µÄµ¥Î»½Úµã¾ØÕó¡£Õâ¸ö¹ýÂËÆ÷µÄǰÏò´«²¥¹ý³ÌºÍÈ«Á¬½Ó²ãÏàËÆ£¬×ܹ²ÐèÒª2¡Á2¡Á3¡Á5+5=652¡Á2¡Á3¡Á5+5=65¸ö²ÎÊý£¬ÆäÖÐ×îºóµÄ+5ΪƫÖÃÏî²ÎÊýµÄ¸öÊý¡£¼ÙÉèʹÓÃwix,y,zwx,y,ziÀ´±íʾ¶ÔÓÚÊä³öµ¥Î»½Úµã¾ØÕóÖеĵÚi¸ö½Úµã£¬¹ýÂËÆ÷ÊäÈë½Úµã£¨x,y,x£©£¨x,y,x£©µÄÈ¨ÖØ£¬Ê¹ÓÃbibi±íʾµÚii¸öÊä³ö½Úµã¶ÔÓ¦µÄÆ«ÖÃÏî²ÎÊý£¬ÄÇôµ¥Î»¾ØÕóÖеĵÚii¸ö½ÚµãµÄȡֵg(i)g(i)Ϊ£º

ÆäÖÐax,y,zax,y,zΪ¹ýÂËÆ÷Öнڵãx,y,zx,y,zµÄȡֵ£¬ffΪ¼¤»îº¯Êý¡£

¾í»ý²ã½á¹¹µÄǰÏò´«²¥¹ý³Ì¾ÍÊÇͨ¹ý½«Ò»¸ö¹ýÂËÆ÷´ÓÉñ¾­ÍøÂ統ǰ²ãµÄ×óÉϽÇÒÆ¶¯µ½ÓÒϽǣ¬²¢ÇÒÔÚÒÆ¶¯¹ý³ÌÖмÆËãÿһ¸ö¶ÔÓ¦µÄµ¥Î»¾ØÕóµÃµ½µÄ¡£

µ±¹ýÂËÆ÷µÄ´óС²»Îª1¡Á11¡Á1ʱ£¬¾í»ý²ãǰÏò´«²¥µÃµ½µÄ¾ØÕó³ß´çҪСÓÚµ±Ç°²ã¾ØÕóµÄ³ß´ç¡£ÎªÁ˱ÜÃâ³ß´çµÄ±ä»¯£¬¿ÉÒÔ¶îÔÚµ±Ç°²ã¾ØÕóµÄ±ß½çÉϼÓÈëÈ«0Ìî³ä¡£ÕâÑù¿ÉÒÔ±£³Ö¾í»ý²ãǰÏò´«²¥½á¹û¾ØÕóµÄ´óСºÍµ±Ç°²ã¾ØÕóÒ»Ö¡£

³ýÁËʹÓÃÈ«0Ìî³ä£¬»¹¿ÉÒÔͨ¹ýÉèÖùýÂËÆ÷ÒÆ¶¯µÄ²½³¤À´µ÷Õû½á¹û¾ØÕóµÄ´óС¡£

¾í»ýÉñ¾­ÍøÂçÒ»¸ö·Ç³£ÖØÒªµÄÐÔÖÊ£ºÃ¿Ò»¸ö¾í»ý²ãÖÐʹÓõĹýÂËÆ÷ÖеIJÎÊý¶¼ÊÇÒ»ÑùµÄ£¬ÕâÑù×öÓÉÒÔÏÂÓŵ㣺

1.¹²Ïí¹ýÂËÆ÷µÄ²ÎÊý¿ÉÒÔʹͼÏñÉϵÄÄÚÈݲ»ÊÜλÖõÄÓ°Ïì¡£

2.¿ÉÒÔ¾Þ·ù¼õÉÙÉñ¾­ÍøÂçÉϵIJÎÊý¡£

3.¾í»ý²ãµÄ²ÎÊý¸öÊýºÍͼƬµÄ´óСÎ޹أ¬Ö½ºÐ¹ýÂËÆ÷µÄ³ß´ç¡¢Éî¶ÈºÍµ±Ç°²ã½Úµã¾ØÕóµÄÉî¶ÈÓйأ¬¿ÉÒԺܺõØÀ©Õ¹µ½¸ü´óµÄͼÏñÊý¾ÝÉÏ¡£

³Ø»¯²ã

³Ø»¯²ãǰÏò´«²¥µÄ¹ý³ÌÒ²ÊÇͨ¹ýÒÆ¶¯Ò»¸öÀàËÆ¹ýÂËÈ¥µÄ½á¹¹Íê³ÉµÄ¡£²»¹ý³Ø»¯²ã²ÉÓøü¼Ó¼òµ¥µÄ×î´óÖµ»òƽ¾ùÖµÔËËã¡£

×î´ó³Ø»¯²ã£ºÊ¹ÓÃ×î´óÖµ²Ù×÷µÄ³Ø»¯²ã¡£

ƽ¾ù³Ø»¯²ã£ºÊ¹ÓÃÆ½¾ùÖµ²Ù×÷µÄ³Ø»¯²ã¡£

ÓÅÊÆ£º

1.¿ÉÒԷdz£ÓÐЧµØËõС¾ØÕóµÄ³ß´ç£¬´Ó¶ø¼õÉÙ×îºÃÈ«Á¬½Ó²ãÖеIJÎÊý¡£

2.¼Ó¿ì¼ÆËãËÙ¶È

3.·ÀÖ¹¹ýÄâºÏÎÊÌâ

³Ø»¯²ã¹ýÂËÆ÷Óë¾í»ý²ã¹ýÂËÆ÷ÀàËÆ£¬Ò²ÐèÒªÈ˹¤É趨¹ýÂËÆ÷µÄ³ß´ç¡¢ÊÇ·ñʹÓÃÈ«0Ìî³äÒÔ¼°¹ýÂËÆ÷ÒÆ¶¯µÄ²½³¤µÈÉèÖ㬶øÇÒÕâЩÉèÖõÄÒâÒåÒ»Ñù¡£

³Ø»¯²ã¹ýÂËÆ÷ºÍ¾í»ý²ã¹ýÂËÆ÷ÒÆ¶¯·½Ê½µÄΨһµÄÇø±ðÔÚÓÚ¾í»ý²ãʹÓõĹýÂËÆ÷ÊǺá¿çÕû¸öÉî¶ÈµÄ£¬¶ø³Ø»¯²ãʹÓõĹýÂËÆ÷Ö»Ó°ÏìÒ»¸öÉî¶ÈÉϵĽڵ㡣ËùÒԳػ¯²ãµÄ¹ýÂËÆ÷³ýÁËÔÚ³¤ºÍ¿íÕâÁ½¸öά¶ÈÒÆ¶¯Ö®Í⣬Ëü»¹ÐèÒªÔÚÉî¶ÈÕâ¸öά¶ÈÒÆ¶¯¡£

¾­µäµÄ¾í»ýÉñ¾­ÍøÂçÄ£ÐÍ

LeNet-5ºÍInception-3

ÉÏÃæµÄÕýÔò±í´ïʽ×ܽáÁËһЩ¾­µäµÄÓÃÓÚͼƬ·ÖÀàÎÊÌâµÄ¾í»ýÉñ¾­ÍøÂç¼Ü¹¹¡£ÆäÖÐ++±íʾһ²ã»ò¶à²ã£¬??±íʾûÓлòÒ»²ã¡£¾í»ýÉñ¾­ÍøÂçÊä³ö֮ǰһ°ã»á¾­¹ý1-2¸öÈ«Á¬½Ó²ã¡£

Ò»°ã¹ýÂËÆ÷µÄ±ß³¤²»»á³¬¹ý5£¬µ«ÓÐЩ¾í»ýÉñ¾­ÍøÂç½á¹¹ÖУ¬´¦ÀíÊäÈëµÄ¾í»ý²ãÖÐʹÓÃÁ˱߳¤Îª7ÉõÖÁÊÇ11µÄ¹ýÂËÆ÷¡£

ÔÚ¹ýÂËÆ÷µÄÉî¶ÈÉÏ£¬´ó²¿·Ö¾í»ýÉñ¾­ÍøÂç¶¼²ÉÓÃÖð²ãµÝÔöµÄ·½Ê½¡£¾í»ý²ãµÄ²½³¤Ò»°ãΪ1£¬µ«ÓÐЩģÐÍÒ²»áʹÓÃ2£¬»òÕß3×÷Ϊ²½³¤¡£

³Ø»¯²ãÅäÖÃÏà¶Ô¼òµ¥£¬ÓõÄ×î¶àµÄÊÇ×î´ó»¯³Ø»¯²ã£¬³Ø»¯²ãµÄ¹ýÂËÆ÷±ß³¤Ò»°ãΪ2»òÕß3£¬²½³¤Ò»°ãҲΪ2»òÕß3.

Tensorflow-slim¹¤¾ß¿ÉÒÔ¸ü¼Ó¼ò½àµØÊµÏÖÒ»¸ö¸´ÔÓ¾í»ýÉñ¾­ÍøÂ磬±ÈÈçInception-v3Ä£ÐÍ¡£

Ç¨ÒÆÑ§Ï°£º½«Ò»¸öÎÊÌâÉÏѵÁ·ºÃµÄÄ£ÐÍͨ¹ý¼òµ¥µÄµ÷ÕûʹÆäÊÊÓÃÓÚÒ»¸öеÄÎÊÌâ¡£±ÈÈç¿ÉÒÔ±£ÁôѵÁ·ºÃµÄInception-v3Ä£ÐÍÖÐËùÓоí»ý²ãµÄ²ÎÊý£¬Ö»ÊÇÌæ»»×îºóÒ»²ãÈ«Á¬½Ó²ã£¬¿ÉÒÔ½â¾öÒ»¸öеÄͼÏñ·ÖÀàÎÊÌâ¡£ÔÚ×îºóÕâÒ»²ãÈ«Á¬½Ó²ã֮ǰµÄÍøÂç²ã³ÆÖ®ÎªÆ¿¾±²ã¡£

½«ÐµÄͼÏñͨ¹ýѵÁ·ºÃµÄ¾í»ýÉñ¾­ÍøÂçÖ±µ½Æ¿¾±²ãµÄ¹ý³Ì¿ÉÒÔ¿´³ÉÊǶÔͼÏñ½øÐÐÌØÕ÷ÌáÈ¡µÄ¹ý³Ì¡£

Ç¨ÒÆÑ§Ï°Ïà±ÈÖØÐÂѵÁ·µÄÓÅȱµã£º

ȱµã£ºÐ§¹û²»ÈçÍêÈ«ÖØÐÂѵÁ·¡£

Óŵ㣺ÐèÒªµÄѵÁ·Ê±¼äºÍѵÁ·Ñù±¾ÊýҪԶԶСÓÚѵÁ·ÍêÕûµÄÄ£ÐÍ¡£

Ñ­»·Éñ¾­ÍøÂç

Ñ­»·Éñ¾­ÍøÂçµÄÖ÷ÒªÓÃ;ÊÇ´¦ÀíºÍÔ¤²âÐòÁÐÊý¾Ý¡£Ñ­»·Éñ¾­ÍøÂçµÄÒþ²Ø²ãÖ®¼äµÄ½áµãÊÇÓÉÁ¬½ÓµÄ£¬Òþ²Ø²ãµÄÊäÈë²»½ö°üÀ¨ÊäÈë²ãµÄÊä³ö£¬»¹°üÀ¨ÉÏһʱ¿ÌÒþ²Ø²ãµÄÊä³ö¡£

³¤¶Ìʱ¼ÇÒäÍøÂ磨LTSM£©½á¹¹

Ä¿µÄ£ºÎªÁ˽â¾öÉÏÏÂÎij¡¾°¸´ÔÓ£¬ÓÐÓÃÐÅÏ¢µÄ¼ä¸ôÓдóÓÐС¡¢³¤¶Ì²»Ò»£¬Ñ­»·Éñ¾­ÍøÂçµÄÐÔÄÜÒ²»áÊܵ½ÏÞÖÆµÄÎÊÌâ¡£

¡°ÃÅ¡±½á¹¹£ºÊ¹ÓÃsigmoidÉñ¾­ÍøÂçºÍÒ»¸ö°´Î»×ö³Ë·¨µÄ²Ù×÷¡£

¹¦ÄÜ£º¡®ÃÅ¡¯½á¹¹ÈÃÐÅÏ¢ÓÐÑ¡ÔñÐÔµØÓ°ÏìÑ­»·Éñ¾­ÍøÂçÖÐÿ¸öʱ¿ÌµÄ״̬¡£ÃèÊöµ±Ç°ÊäÈëÓжàÉÙÐÅÏ¢Á¿¿ÉÒÔͨ¹ýÕâ¸ö½á¹¹¡£µ±ÃÅ´ò¿ªÊ±£¨sigmoidÊä³öΪ1ʱ£©£¬È«²¿ÐÅÏ¢¶¼¿ÉÒÔͨ¹ý£¬µ±ÃŹرÕʱ£¨sigmoidÊä³öΪ0ʱ£©£¬ÈκÎÐÅÏ¢¶¼ÎÞ·¨Í¨¹ý¡£

¡°ÒÅÍüÃÅ¡±

¹¦ÄÜ£ºÈÃÑ­»·Éñ¾­ÍøÂç¡°Íü¼Ç¡±Ö®Ç°Ã»ÓÐÓõÄÐÅÏ¢

¹ý³Ì£º¡°ÒÅÍüÃÅ¡±»á¸ù¾Ýµ±Ç°µÄÊäÈëxtxt¡¢ÉÏһʱ¿Ì״̬ct?1ct?1ºÍÉÏһʱ¿ÌÊä³öht?1ht?1¹²Í¬¾ö¶¨ÄÄÒ»²¿·Ö¼ÇÒäÐèÒª±»ÒÅÍü¡£

¡°ÊäÈëÃÅ¡±

¹¦ÄÜ£ºÔÚÑ­»·Éñ¾­ÍøÂç¡°Íü¼Ç¡±Á˲¿·Ö֮ǰµÄ״̬ºó£¬Ëü»¹ÐèÒª´Óµ±Ç°µÄÊäÈë²¹³ä×îеļÇÒä¡£

¹ý³Ì£º¸ù¾Ýxtxt¡¢ct?1ct?1ºÍht?1ht?1¾ö¶¨ÄÄЩ²¿·Ö½«½øÈ뵱ǰʱ¿ÌµÄ״̬ctct¡£

Êä³öÃÅ£º

¹¦ÄÜ£ºÔÚ¼ÆËãµÃµ½ÐµÄ״̬ctctºóÐèÒª²úÉúµ±Ç°Ê±¿ÌµÄÊä³ö¡£

¹ý³Ì£º¸ù¾Ý×îеÄ״̬ctct¡¢ÉÏһʱ¿ÌµÄÊä³öht?1ht?1ºÍµ±Ç°µÄÊäÈëxtxtÀ´¾ö¶¨¸Ãʱ¿ÌµÄÊä³öhtht¡£

¾ßÌåµÄ½á¹¹¿ÉÒԲ鿴²©¿Í£º

LSTM½á¹¹Í¼

LSTMǰÏò´«²¥ºÍÎó²î·´´«¸üй«Ê½

Ñ­»·Éñ¾­ÍøÂçµÄ±äÖÖ£º

Ë«ÏòÑ­»·Éñ¾­ÍøÂç

½â¾öÎÊÌ⣺ÓÐЩÎÊÌâÖУ¬µ±Ç°Ê±¿ÌµÄÊä³ö²»½öºÍ֮ǰµÄ״̬ÓйØÏµ£¬Ò²ºÍÖ®ºóµÄ״̬Ïà¹Ø¡£±ÈÈçÔ¤²âÒ»¸öÓï¾äÖÐȱʧµÄµ¥´Ê²»½öÐèҪǰÎÄÀ´Åжϣ¬Ò²ÐèÒª¸ù¾ÝºóÃæµÄÄÚÈÝ¡£

Ö÷Ìå½á¹¹£ºÓÉÁ½¸öµ¥ÏòÑ­»·Éñ¾­ÍøÂçµÄ½áºÏ¡£ÔÚÿһ¸öʱ¿Ìt,ÊäÈë»áͬʱÌṩ¸øÕâÁ½¸ö·½ÏòÏà·´µÄÑ­»·Éñ¾­ÍøÂç¡£

Éî²ãÑ­»·Éñ¾­ÍøÂç

ΪÁËÔöǿģÐ͵ıí´ïÄÜÁ¦£¬¿ÉÒÔ½«Ã¿Ò»¸öʱ¿ÌÉϵÄÑ­»·ÌåÖØ¸´¶à´Î¡£

 

   
3825 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

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