±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚpython³ÌÐòÔ±£¬ÕâÆªÎÄÕÂÖ÷񻃾¼°ËüµÄPython°æ±¾£¬²¢¹Ø×¢¿âµÄ°²×°¡¢»ù±¾µÄµÍ¼¶×é¼þ£¬ÒÔ¼°´ÓÍ·¹¹½¨Ò»¸öǰÀ¡Éñ¾ÍøÂ磬ÒÔ±ãÔÚÕæÕýµÄÊý¾Ý¼¯ÉÏѧϰ¡£
|
|
TensorFlowÊÇ»úÆ÷ѧϰӦÓõÄÒ»¸ö¿ªÔ´¿â¡£ÕâÊǹȸè´óÄԵĵڶþ´úϵͳ£¬È¡´ú±ÕÔ´ÏîÄ¿DistBelief£¬²¢±»¹È¸èͬʱÓÃÓÚÑо¿ºÍ²úÆ·¡£TensorFlowÓ¦ÓÿÉÒÔÓü¸ÖÖÓïÑÔÊéд£ºPython£¬Go£¬JavaºÍC¡£ÕâÆªÎÄÕÂÖ÷񻃾¼°ËüµÄPython°æ±¾£¬²¢¹Ø×¢¿âµÄ°²×°¡¢»ù±¾µÄµÍ¼¶×é¼þ£¬ÒÔ¼°´ÓÍ·¹¹½¨Ò»¸öǰÀ¡Éñ¾ÍøÂ磬ÒÔ±ãÔÚÕæÕýµÄÊý¾Ý¼¯ÉÏѧϰ¡£
Éî²ãѧϰÉñ¾ÍøÂçµÄѵÁ·Ê±¼äÍùÍùÊÇÆäÔÚ¸´ÔÓ³¡¾°Ó¦ÓÃʱÓöµ½µÄÒ»¸öÆ¿¾±¡£ÓÉÓÚÉñ¾ÍøÂ磬ÒÔ¼°ÆäËûµÄѧϰËã·¨£¬Í¨³£¶¼ÔÚÓþØÕó³Ë·¨£¬ÓÃͼÐδ¦ÀíÆ÷£¨GPU£©¶ø²»ÊÇÖÐÑë´¦ÀíÆ÷£¨CPU£©½øÐмÆËãÏÔÈ»»á¸ü¿ì¡£
TensorFlowͬʱ֧³ÖCPUºÍGPU£¬²¢ÇҹȸèÉõÖÁΪ´ËרÃÅÍÆ³öÁËÐÔÄÜÉÏÓÅÓÚÆäËû´¦ÀíÆ÷µÄÔÆ¼ÆËãÓ²¼þ¡ª¡ªTensor´¦ÀíÆ÷£¨TPU£©¡£
°²×°
TPUÔÚÔÆ¶Ë²Å¿ÉÓ㬶øTensorFlowµÄ±¾µØ°²×°¿ÉÒÔÕë¶ÔCPU»òGPU¹¹¼Ü¡£ÏëÒªÓÃGPU°æ±¾£¬ÄãµÄµçÄÔ±ØÐëÒªÓÐÒ»¸öNVIDIAÏÔ¿¨ºÍÆäËûһЩҪÇó¡£
»ù±¾ÉÏ£¬ÖÁÉÙÓÐ5ÖÖ²»Í¬µÄ°²×°Ñ¡Ôñ£ºvirtualenv, pip, Docker, Anaconda,
ºÍ´ÓÔ´°²×°¡£
1.ÓÃvirtualenvºÍDocker°²×°¿ÉÒÔ°ÑTensorFlow°²×°ÔÚÒ»¸öÏà¶Ô¶ÀÁ¢µÄ»·¾³¡£
2.AnacondaÊÇÒ»¸öÄÚǶÁË´óÁ¿¿ÆÑ§¼ÆËã¿âµÄPython·¢ÐͰ棬ÕâЩ¿âÖÐÒ²°üÀ¨TensorFlow¡£
3.pipÔòÊǰ²×°python°ü×î×ÔÈ»µÄ¹¤¾ß£¬²»ÐèÒªÒÀÀµµÚÈý·½»·¾³¡£
4.×îºó£¬Í¨¹ýGitÀ´´ÓÔ´°²×°£¬Êǰ²×°Ò»¸öÌØ¶¨°æ±¾µÄTensorFlowµÄ×îºÃ·½·¨£¬ÕâЩ°æ±¾ÖÐÒ²°üÀ¨µ±Ç°×îÎȶ¨µÄr1.4£¨×«Ð´±¾ÎÄʱ£©¡£
×î³£¼ûºÍ×î¼òµ¥µÄ·½Ê½»¹ÊÇͨ¹ývirtualenvºÍpip£¬Òò´ËÕâÁ½ÖÖ·½·¨»áÔÚÎÄÖÐ×ÅÖØ½éÉÜ¡£
Èç¹ûÄãÒѾʹÓÃPythonÒ»¶Îʱ¼äÁË£¬Äã¿ÉÄÜÖªµÀpip¡£ÏÂÃæÊÇÈçºÎÔÚUbuntuÉϵõ½Ëü£º

ÒÔϼ¸ÐÐÊÇÔÚUbuntuºÍMac OSXÉϰ²×°TensorFlowµÄ·½·¨£º

ÉÏÊöÕâЩÃüÁîÔÚWindowsϵÄPython 3.5.xºÍ3.6.xÏÂÒ²¿ÉÒÔÓá£
ÔÚÒ»¸öµ¥¶À»·¾³Öа²×°TensorFlowÔò¿ÉÒÔͨ¹ývirtualenv»òÕßconda£¨AnacondaµÄÒ»²¿·Ö£©¡£¹ý³Ì´óÖ¿ÉÒÔ×ñÑÏàͬµÄ´úÂ룬Ψһ²»Í¬µÄÊÇ£¬ÄãÐèÒªÓÃvirtualenvÏÈ´´½¨²¢¼¤»îÒ»¸öÐµĻ·¾³£º

ÕâÖÖ·½·¨¿ÉÒÔʹµÃËùÓÐÐèÒªµÄ°üºÍÄã֮ǰÔÚÄã²Ù×÷ϵͳÉÏÅäÖõÄÈ«¾Ö°ü¸ôÀ뿪¡£
ºËÐÄÓ¦ÓýӿÚ×é¼þ
ÓжàÖÖÓ¦ÓýӿڿÉÒÔÓÃÓÚ±àдTensorFlow¡£×îµ×²ãµÄÒ»¸ö±»³ÆÎªºËÐÄ£¬²¢ÒÔÕÅÁ¿¡¢Í¼ÐΡ¢»á»°ÕâÈý¸ö»ù±¾×é¼þ¹¤×÷¡£
´ËÍ⻹Óиü¸ß²ãµÄÓ¦Óýӿڣ¨Èçtf.estimator£©£¬ÓÃÓÚ¼ò»¯¹¤×÷Á÷³ÌºÍ×Ô¶¯»¯Êý¾Ý¼¯¹ÜÀí¡¢Ñ§Ï°¡¢ÆÀ¹ÀµÈ¹ý³Ì¡£ÎÞÂÛÈçºÎ£¬Á˽â¿âµÄºËÐĵÄÌØÐÔ¶ÔÓÚ¹¹½¨×îеĻúÆ÷ѧϰӦÓóÌÐòÖÁ¹ØÖØÒª¡£
ºËÐÄÓ¦ÓýӿڵÄÖØµãÔÚÓÚ¹¹½¨Ò»¸ö¼ÆËãͼ£¬Ëü°üº¬Ò»ÏµÁÐÅÅÁгɽڵãͼÐεIJÙ×÷¡£Ã¿¸ö½Úµã¿ÉÒÔÓжà¸öÕÅÁ¿£¨»ù±¾Êý¾Ý½á¹¹£©×÷ΪÊäÈ룬²¢¶ÔËüÃÇÖ´ÐвÙ×÷ÒÔ±ã¼ÆËãÊä³ö£¬ÔÚÒ»¸ö¶à²ãÍøÂçÖÐÕâ¸öÊä³öÓÖ¿ÉÒÔ×÷ΪÆäËû½ÚµãµÄÊäÈë¡£ÕâÖÖÀàÐ͵ļܹ¹ÊÊÓÃÓÚ»úÆ÷ѧϰӦÓã¬ÈçÉñ¾ÍøÂç¡£
ÕÅÁ¿
ÕÅÁ¿ÊÇTensorFlowÖеĻù±¾Êý¾Ý½á¹¹£¬Ëü´æ´¢ÈÎÒâάÊýµÄÊý¾Ý£¬ÀàËÆÓÚNumPyÖеĶàάÊý×é¡£ ÕÅÁ¿ÓÐÈýÖÖ»ù±¾ÀàÐÍ£º³£Á¿£¬±äÁ¿ºÍռλ·û¡£
1.³£Á¿ÊÇÕÅÁ¿²»±äµÄÀàÐÍ¡£ ËûÃÇ¿ÉÒÔ±»¿´×÷ûÓÐÊäÈëµÄ½Úµã£¬Êä³öËûÃÇ´æ´¢ÔÚÄÚ²¿µÄµ¥¸öÖµ¡£
2.±äÁ¿ÊǿɱäÀàÐ͵ÄÕÅÁ¿£¬ÆäÖµ¿ÉÒÔÔÚͼÐÎÔËÐÐÆÚ¼ä¸Ä±ä¡£ÔÚ»úÆ÷ѧϰӦÓÃÖУ¬±äÁ¿Í¨³£´æ´¢ÐèÒªÓÅ»¯µÄ²ÎÊý£¨ÀýÈ磬Éñ¾ÍøÂçÖнڵãÖ®¼äµÄÈ¨ÖØ£©¡£±äÁ¿ÐèÒªÔÚÔËÐÐͼÐÎ֮ǰͨ¹ýµ÷ÓÃÒ»¸öÌØÊâµÄ²Ù×÷À´³õʼ»¯¡£
3.ռλ·ûÊÇ´æ´¢À´×ÔÍⲿÊý¾ÝµÄÕÅÁ¿µÄÕÅÁ¿¡£ËüÃÇ´ú±íÁËÒ»¸ö¡°³Ðŵ¡±£¬¼´ÔÚͼÐÎÔËÐÐʱ½«Ìṩһ¸öÖµ¡£
ÔÚMLÓ¦ÓóÌÐòÖУ¬Õ¼Î»·ûͨ³£ÓÃÓÚÏòѧϰģÐÍÊäÈëÊý¾Ý¡£
ÒÔϼ¸Ðиø³öÁËÈýÖÖÕÅÁ¿ÀàÐ͵ÄÀý×Ó£º


Çë×¢Ò⣬ÕÅÁ¿ÔÚ´Ë´¦²»°üº¬Öµ£¬²¢ÇÒÖ»Óе±Í¼ÐÎÔڻỰÖÐÔËÐеÄʱºòËüÃǵÄÖµ²Å¿ÉÓá£
ͼÐÎ
ĿǰΪֹ£¬Í¼ÐÎÖ»±£´æÃ»ÓÐÁ¬½ÓµÄ3¸öÕÅÁ¿¡£ÏÖÔÚ£¬ÈÃÎÒÃǶÔÕÅÁ¿½øÐÐһЩ²Ù×÷£º


½á¹ûÊä³öÓÖÊÇÒ»¸öÃûΪ"add"µÄÕÅÁ¿£¬ÏÖÔÚÎÒÃǵÄÄ£ÐÍ¿´ÆðÀ´ÈçÏÂͼËùʾ¡£Äã¿ÉÒÔʹÓÃTensorFlowµÄÄÚÖù¦ÄÜTensorBoard̽Ë÷ÄãµÄͼÐÎÒÔ¼°ÆäËû²ÎÊý¡£

ͼ1£ºÓÉÒ»´Î³Ë·¨ºÍ¼Ó·¨×é³ÉµÄTensorFlowͼ¡£
ÁíÒ»¸ö̽Ë÷ͼÐεÄÓÐÓù¤¾ßÈçÏ´úÂëËùʾ£¬Ëü¿ÉÒÔ½«ËùÓеIJÙ×÷Êä³öµ½ÆÁÄ»¡£


ȇȡ
×îºó£¬ÎÒÃǵÄͼӦ¸ÃÔڻỰÖÐÔËÐС£Çë×¢Ò⣬±äÁ¿±»Ô¤Ïȳõʼ»¯£¬¶øÕ¼Î»·ûÕÅÁ¿Ôòͨ¹ýfeed_dict½ÓÊÕ¾ßÌåÖµ¡£


ÉÏÃæµÄÀý×ÓÊÇÒ»¸öѧϰģÐ͵ļò»¯¡£×ÜÖ®£¬ËüÏÔʾÁËÈçºÎ½«»ù±¾µÄtf×é¼þ×éºÏÔÚÒ»¸öͼ±íÖв¢ÔڻỰÖÐÔËÐС£´ËÍ⣬Ëü»¹ËµÃ÷Á˲Ù×÷ÈçºÎÔÚ²»Í¬Ä£Ð͵ÄÕÅÁ¿ÉÏÔËÐС£
ÔÚÏÂÃæµÄÕ½ÚÖУ¬ÎÒÃǽ«Ê¹ÓúËÐÄÓ¦ÓýӿÚÀ´ÔÚÒ»¸öÕæÊµÊý¾Ý¼¯ÉϹ¹½¨Ò»¸öÓÃÓÚ»úÆ÷ѧϰµÄÉñ¾ÍøÂç¡£
Éñ¾ÍøÂçÄ£ÐÍ
ÔÚÕâÒ»²¿·ÖÎÒÃÇʹÓÃTensorFlowµÄºËÐÄ×é¼þ´ÓÍ·¿ªÊ¼½¨Á¢Ò»¸öǰÀ¡Éñ¾ÍøÂç¡£ ÎÒÃDZȽÏÒ»¸öÉñ¾ÍøÂçµÄÈýÖֽṹ£¬Õ⽫ÔÚÒ»¸öÒþ²Ø²ãÖеĽڵãÊýÁ¿ÉÏÓÐËù²»Í¬¡£
IrisÊý¾Ý¼¯
ÎÒÃÇʹÓüòµ¥µÄIrisÊý¾Ý¼¯£¬¸ÃÊý¾Ý¼¯ÓÉ150¸öÖ²ÎïʵÀý×é³É£¬Ã¿¸öʵÀý¶¼ÓÐÆä4¸öγ¶È£¨ÓÃ×÷ÊäÈëÒªËØ£©¼°ÆäÀàÐÍ£¨ÐèÒªÔ¤²âµÄÊä³öÖµ£©¡£
Ò»ÖÖÖ²Îï¿ÉÒÔÊôÓÚÈýÖÖ¿ÉÄܵÄÊä³öÀàÐÍÖ®Ò»£ºsetosa£¬virginicaºÍversicolor¡£ ÎÒÃÇÊ×ÏÈ´ÓTensorFlowµÄÍøÕ¾ÏÂÔØÊý¾Ý
- Ëü·ÖΪ120¸öÑù±¾µÄѵÁ·¼¯ºÍ30¸öÑù±¾µÄ²âÊÔ¼¯¡£

Ä£ÐͺÍѧϰ
ÎÒÃǵÄÉñ¾ÍøÂçµÄÊäÈëºÍÊä³ö²ãµÄÐÎ×´½«¶ÔÓ¦ÓÚÊý¾ÝµÄÐÎ×´£¬¼´ÊäÈë²ã½«°üº¬´ú±íËĸöÊäÈëÌØÕ÷µÄËĸöÉñ¾Ôª£¬¶øÊä³ö²ã½«°üº¬Èý¸öÉñ¾Ôª£¬Ã¿Ò»¸öÉñ¾Ôª´æ´¢1±ÈÌØ£¬3±ÈÌØÒÔ¶ÀÈȵķ½Ê½¿ÉÒÔ´æ´¢Ö²ÎïµÄÈýÖÖÀàÐÍ¡£ÀýÈç¡°setosa¡±ÎïÖÖ¿ÉÒÔÓÃʸÁ¿[1,0,0]±àÂ룬¡°virginica¡±ÓÃ[0,1,0]±àÂë¡£
ÎÒÃÇΪÒþ²Ø²ãÖеÄÉñ¾ÔªÊýĿѡÔñÈý¸öÖµ£º5,10ºÍ20£¬µÃµ½£¨4-5-3£©£¬£¨4-10-3£©ºÍ£¨4-20-3£©µÄÍøÂç´óС¡£
ÕâÒâζ×Å£¬ÀýÈ磨4-5-3£©½«ÓÐ4¸öÊäÈëÉñ¾Ôª£¬5¸ö¡°Òþ²Ø¡±Éñ¾ÔªºÍ3¸öÊä³öÉñ¾Ôª¡£

ͼ2£ºÎÒÃǵÄÈý²ãǰÀ¡Éñ¾ÍøÂç
ÏÂÃæµÄ´úÂ붨ÒåÁËÒ»¸öº¯Êý£¬ÎÒÃÇÔÚÕâ¸öº¯ÊýÖд´½¨Ä£ÐÍ£¬¶¨ÒåÒ»¸öÐèÒª×îС»¯µÄËðʧº¯Êý£¬²¢ÇÒÔËÐÐ2000´Îµü´ú£¬À´ÑµÁ·Ï°µÃ×îÓÅÈ¨ÖØW_1ºÍW_2¡£
ÈçǰËùÊö£¬ÊäÈëºÍÊä³ö¾ØÕó±»À¡Ë͵½tf.placeholderÕÅÁ¿£¬²¢ÇÒÈ¨ÖØ±»±íʾΪ±äÁ¿£¬ÒòΪËüÃǵÄÖµÔÚÿ´Îµü´úÖб仯¡£Ëðʧº¯Êý±»¶¨ÒåΪÎÒÃÇÔ¤²ây_estºÍʵ¼ÊÎïÖÖÀàÐÍyÖ®¼äµÄƽ¾ù·½²î£¬ÎÒÃÇʹÓõļ¤»îº¯ÊýÊÇsigmoid¡£×îºó£¬ÓÉcreate_train_modelº¯Êý·µ»ØÑ§Ï°È¨Öز¢Êä³öËðʧº¯ÊýµÄ×îÖÕÖµ¡£


ºÃ£¬ÈÃÎÒÃÇ´´½¨£¨Ö®Ç°Ìáµ½µÄ£©Èý¸öÉñ¾ÍøÂç¼Ü¹¹£¬²¢ÔÚµü´úÖлæÖÆËðʧº¯Êý¡£



ͼ3£º2000´Îµü´úºó£¬²»Í¬Éñ¾ÍøÂç¹¹¼ÜµÄËðʧº¯Êý¡£
ÎÒÃÇ¿ÉÒÔ¿´µ½£¬¾ßÓÐ20¸öÒþ²ØÉñ¾ÔªµÄÍøÂçÐèÒª¸ü¶àµÄʱ¼äÀ´´ïµ½×îСֵ£¬ÕâÊÇÓÉÓÚÆä¸ü¸ßµÄ¸´ÔÓÐÔ¡£¶ø¾ßÓÐ5¸öÒþ²ØÉñ¾ÔªµÄÍøÂçÏÝÈë¾Ö²¿×îСֵ£¬²¢ÇÒ²»»á¸ø³öºÃµÄ½á¹û¡£
ÎÞÂÛÈçºÎ£¬¶ÔÓÚIrisÕâÑù¼òµ¥µÄÊý¾Ý¼¯£¬¼´Ê¹ÊǾßÓÐ5¸öÒþ²ØÉñ¾ÔªµÄÐ¡ÍøÂçÒ²Ó¦¸ÃÄܹ»Ñ§Ï°µ½Ò»¸öºÃµÄÄ£ÐÍ¡£ÔÚÎÒÃǵÄÀý×ÓÖУ¬ÕâÖ»ÊÇÒ»¸öËæ»úʼþ£¬Ä£Ðͱ»ÏÞÖÆÔÚÒ»¸ö¾Ö²¿×îСֵ£¬¶øÇÒÈç¹ûÎÒÃÇÒ»´ÎÓÖÒ»´ÎµØÔËÐдúÂ룬Ëü²¢²»»á¾³£·¢Éú¡£
Ä£ÐÍÆÀ¹À
×îºó£¬ÈÃÎÒÃÇÀ´ÆÀ¹ÀÎÒÃǵÄÄ£ÐÍ¡£ÎÒÃÇʹÓÃÑ§Ï°È¨ÖØW_1ºÍW_2£¬½«Ä£ÐÍÓ¦ÓÃÓÚ²âÊÔ¼¯µÄÀàÐ͵ÄÔ¤²â¡£×¼È·ÐÔ¶¨ÒåΪÕýÈ·Ô¤²âÑù±¾µÄ°Ù·Ö±È¡£


×ܵÄÀ´Ëµ£¬ÎÒÃÇÉè·¨ÓÃÒ»¸ö¼òµ¥µÄǰÀ¡Éñ¾ÍøÂçÀ´´ïµ½·Ç³£¸ßµÄ¾«È·¶È£¬ÌرðÊÇʹÓÃÒ»¸ö·Ç³£Ð¡µÄÊý¾Ý¼¯µÄÈ´´ïµ½Èç´Ë¸ß¾«¶ÈµÄÔ¤²â£¬Õâ·Ç³£ÁîÈ˾ªÑÈ¡£
Äã¿ÉÒÔÔÚÕâÀïʹÓÃTensorFlowµÄ¸ß¼¶Ó¦ÓýӿÚÀ´¿´Ò»¸ö¸ü¼òµ¥µÄÀý×Ó¡£
×ÊÔ´
±¾½Ì³ÌÖ»½éÉÜÁËTensorFlow¿ÉÒÔ×öµÄһС²¿·Ö¡£ ÒÔÏÂÊÇһЩÓйØTensorFlowºÍÉîÈëѧϰµÄ¸ü¶à×ÊÔ´£º
1.TensorFlow.org
2.ÓÃPython½øÐÐÉî¶ÈѧϰµÄTensorFlowÍêÕûÖ¸ÄÏ
3.ÓÃTensorFlowÉîÈëѧϰ
4.Êý¾Ý¿ÆÑ§£ºPythonÉî¶Èѧϰ
½áÂÛ
ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒÃǽéÉÜÁËÓÃÓÚ»úÆ÷ѧϰµÄTensorFlow¿â£¬Îª°²×°ÌṩÁ˼òÒªµÄÖ¸µ¼£¬½éÉÜÁËTensorFlowµ×²ãºËÐÄÓ¦ÓýӿڵĻù±¾×é¼þ£ºÕÅÁ¿£¬Í¼ÐκͻỰ£¬×îºó¹¹½¨ÁËÒ»¸öÉñ¾ÍøÂçÄ£ÐÍÀ´¶ÔÕæÊµÊý¾Ý¼¯¡ª¡ªIrisÊý¾Ý¼¯½øÐзÖÀà¡£
×ܵÄÀ´Ëµ£¬Àí½âTensorFlowµÄ±àдÔÀí¿ÉÄÜÐèҪһЩʱ¼ä£¬ÒòΪËüÊÇÒ»¸ö·ûºÅ¿â£¬µ«ÊÇÒ»µ©ÊìϤÁ˺ËÐÄ×é¼þ£¬Õâ¶Ô¹¹½¨»úÆ÷ѧϰӦÓóÌÐòÀ´ËµÊÇÏ൱·½±ãµÄ¡£ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒÃÇʹÓõײãµÄºËÐÄÓ¦ÓýӿÚÀ´Õ¹ÏÖ»ù±¾µÄ×é¼þ£¬²¢ÇÒ¶ÔÄ£ÐÍÓÐÍêÈ«µÄ¿ØÖÆ£¬µ«ÊÇͨ³£ÈËÃÇ»áʹÓøü¸ß¼¶µÄÓ¦Óýӿڣ¬±ÈÈçtf.estimator£¬ÉõÖÁÊÇÍⲿµÄ¿â£¬±ÈÈçKeras¡£
|