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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
TensorBoardµÄʹÓÃ
 
×÷ÕߣºManfestain
  2248  次浏览      27
 2020-2-6
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁË Ê¹ÓÃTensorBoardչʾÊý¾Ý,½«¸÷ÖÖÀàÐ͵ÄÊý¾Ý»ã×ܲ¢¼Ç¼µ½ÈÕÖ¾ÎļþÖÐ,×îºó½«¼ÆËãͼÖеÄͼ±ê½øÐÐ×ܽá.Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

TensorBoardÊÇTensorflowµÄ¿ÉÊÓ»¯¹¤¾ß£¬Ëüͨ¹ý¶ÔTensoflow³ÌÐòÔËÐйý³ÌÖÐÊä³öµÄÈÕÖ¾Îļþ½øÐпÉÊÓ»¯Tensorflow³ÌÐòµÄÔËÐÐ״̬¡£

ʹÓÃTensorBoardչʾÊý¾Ý£¬ÐèÒªÔÚÖ´ÐÐTensorflow¼ÆËãͼµÄ¹ý³ÌÖУ¬½«¸÷ÖÖÀàÐ͵ÄÊý¾Ý£¨summary protobuf£©»ã×ܲ¢¼Ç¼µ½ÈÕÖ¾ÎļþÖС£È»ºóʹÓÃTensorBoard¶ÁÈ¡ÕâЩÈÕÖ¾Îļþ£¬½âÎöÊý¾Ý²¢Éú²úÊý¾Ý¿ÉÊÓ»¯µÄWebÒ³Ãæ£¬ÈÃÎÒÃÇ¿ÉÒÔÔÚä¯ÀÀÆ÷Öй۲ì¸÷ÖÖ»ã×ÜÊý¾Ý¡£

×¢£ºtensorflow --version 1.4.0

TensorBoard

µ±Éú³ÉÁËÈÕÖ¾Îļþºó£¬ÔÚÃüÁîÐÐÖÐʹÓÃtensorboard --logdir=ÈÕÖ¾ÎļþĿ¼Æô¶¯Ò»¸ö·þÎñ£¬ÔÚä¯ÀÀÆ÷ÖÐʹÓÃhttp://DESKTOP-JGL4HV5:6006²é¿´¿ÉÊÓ»¯½á¹û¡£

ÕâÀïÓÐÒ»µãÐèҪעÒ⣬ÈÕÖ¾ÎļþĿ¼ҪʹÓþø¶Ô·¾¶£¬¼´´Óij¸öÅÌ¿ªÊ¼µÄ·¾¶£¨Èç¹û²»Ðеϰ½«/±ä³É//ÔÙÊÔÊÔ£©¡£Í¬Ê±Ê¹ÓÃ360ä¯ÀÀÆ÷¿ÉÄÜÎÞ·¨ÏÔʾ¡£

ÏÂÃæºì¿òÖÐÊÇ¿ÉÊÓ»¯µÄ¶¥²¿£º

TensorBoardÒ³Ãæ

SCALARS£¬¶Ô±êÁ¿Êý¾Ý½øÐлã×ܺͼǼ

ʹÓ÷½·¨£ºtf.summary.scalar(tags, values, collections=None, name=None)

scalar

Ò»°ãÔÚ¿Ì»­lossºÍaccuracyʱ»áÓõ½£¬¿ÉÒÔ¼ÆËã±êÁ¿µÄ×î´ó×îСֵ»òÕß±ê×¼²îµÈ

IMAGES£¬ »ã×ÜÊý¾ÝÖеÄͼÏñ£¬ÀýÈçMNISTÖпÉÒÔ½«ÊäÈëµÄÏòÁ¿»¹Ô­³ÉͼƬµÄÏñËØ¾ØÕó

ʹÓ÷½·¨£ºtf.summary.image(tag, tensor, max_images=3, collections=None, name=None)

GRAPHS£¬ ¿ÉÊÓ»¯Tensorflow¼ÆËãͼµÄ½á¹¹¼°¼ÆËãͼÉϵÄÐÅÏ¢

ʹÓ÷½·¨£ºtf.summary.FileWriter(logdir, graph)

ÆäʵÕâ¸ö·½·¨Êǽ«µ±Ç°summary protobufд½üÈÕÖ¾ÎļþÖУ¬µ«ÊÇ»á×Ô¶¯Éú³É¼ÆËãͼ¡£

HISTOGRAMS£¬¼Ç¼±äÁ¿µÄÖ±·½Í¼(ÕÅÁ¿ÖÐÔªËØµÄȡֵ·Ö²¼£©

ʹÓ÷½·¨£ºtf.summary.histogram(tag, values, collections=None, name=None£©

¼ÆËãͼ

¼ÆËãͼ¿ÉÒԺܺÃÕ¹ÏÖÕû¸öÉñ¾­ÍøÂçµÄ½á¹¹¡£ÏÂÀ´½«¼ÆËãͼÖеÄͼ±ê½øÐÐ×ܽ᣺

±ß£¬¼ÆËãͼÖеĽڵãÖ®¼äÓÐÁ½ÖÖ²»Í¬µÄ±ß£º

ʵÏߣº¿Ì»­ÁËÊý¾ÝµÄ´«Ê䣬¼ýÍ·´ú±í·½Ïò

ÐéÏߣº±í´ïÁ˼ÆËãÖ®¼äµÄÒÀÀµ¹ØÏµ

ÓÐЩ±ßÉϵļýÍ·ÊÇË«ÏòµÄ±íʾһ¸ö½Úµã¿ÉÄÜ»áÐÞ¸ÄÁíÒ»¸ö½Úµã£¬Í¬Ê±±ßÉÏ»¹±ê×¢ÁËÕÅÁ¿µÄά¶ÈÐÅÏ¢£¬±ßÉϵĴÖϸ±íʾÁËÁ½¸ö½ÚµãÖ®¼ä´«ÊäµÄ±êÁ¿Î¬¶ÈµÄ×Ü´óС£¨²»ÊÇ´«ÊäµÄ±êÁ¿¸öÊý£©¡£

ͼ£¬ TensorBoard»áÖÇÄܵĵ÷Õû¿ÉÊÓ»¯Ð§¹ûͼÉϵĽڵ㣬½«¼ÆËãͼ·Ö³ÉÁËÖ÷ͼ£¨Main Graph£©ºÍ¸¨Öúͼ£¨Auxiliary nodes£©¡£Ò²¿ÉÒÔÊÖ¶¯µ÷Õû£¬¶ÔͼÖÐµÄ½Úµã½øÐÐÒÆ³ý£¨²»»á±£´æÊÖ¹¤Ð޸Ľá¹û£¬Ë¢Ðºó»¹Ô­£©¡£

½Úµã£¬µ±µã»÷¿ÉÊÓ»¯Í¼ÖеĽڵãʱ£¬½çÃæÓÒÉϽǻᵯ³ö¸Ã½ÚµãµÄ»ù±¾ÐÅÏ¢£¨ÊäÈë¡¢Êä³ö¡¢ÒÀÀµ¹ØÏµÒÔ¼°ÏûºÄʱ¼äºÍÄÚ´æÐÅÏ¢µÈ£©¡£

¿ÕÐÄСÍÖÔ²£º¶ÔÓ¦¼ÆËãͼÉÏÒ»¸ö¼ÆËã½Úµã

¾ØÐΣº¶ÔÓ¦Á˼ÆËãͼÉϵÄÒ»¸öÃüÃû¿Õ¼ä

½ÚµãÐÅÏ¢

¸Õ˵½ÚµãµÄ»ù±¾ÐÅÏ¢Öаüº¬ÏûºÄʱ¼äºÍÄÚ´æÐÅÏ¢£¬¿ÉÒÔͨ¹ýÒÔÏ·½·¨½«ÆäÌí¼Óµ½ÈÕÖ¾Îļþ²¢½øÐÐչʾ¡£

for i in range(TRAINING_STEPS):
# ÿ1000´Î¾ÍÔÚÑéÖ¤¼¯ÉϲâÊÔѵÁ·µÄÄ£Ð;«¶È
if i % 100 == 0:
# ÅäÖÃÔËÐÐʱҪ¼Ç¼µÄÐÅÏ¢
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
# ÔËÐÐʱ¼Ç¼ÔËÐÐÐÅÏ¢µÄproto
run_metadata = tf.RunMetadata()
# ½«ÅäÖÃÐÅÏ¢ºÍÔËÐмǼÐÅÏ¢µÄproto´«ÈëÔËÐйý³Ì£¬´Ó¶ø½øÐмǼ
validate_acc, sum = sess.run([accuracy, summ], feed_dict=validate_feed, options=run_options, run_metadata=run_metadata)
# ½«½ÚµãµÄÔËÐÐÐÅϢдÈëÈÕÖ¾Îļþ
writer.add_run_metadata(run_metadata, 'step%03d' % i)

ÔÚTensorBoard¿ÉÊÓ»¯µÄGraphsÒ³ÃæÖУ¬×ó²àµÄSession runs»á³öÏÖÒ»¸öÏÂÀ­²Ëµ¥£¬¼Ç¼ÁËËùÓÐÔËÐдÎÊý£¬Ñ¡ÔñÒ»´ÎÔËÐкó£¬ColorÀ¸Öлá³öÏÖCompute timeºÍMemory£¬·Ö±ð¶ÔÓ¦Á˼ÆËã½ÚµãµÄÔËÐÐʱ¼äºÍÏûºÄµÄÄÚ´æ¡£

GRAPHSµÄ×ó±ß¿ò

merge_all()

ºÍTensorflowÀàËÆ£¬tf.summaru.histograms()µÈº¯Êý²»»áÁ¢¼´Ö´ÐУ¬ÐèҪͨ¹ýsess.run()À´Ã÷È·µ÷Ó㬵±ÈÕÖ¾³ÌÐòÖж¨ÒåдÈÕÖ¾µÄ²Ù×÷±È½Ï¶àʱ£¬¿ÉÒÔʹÓÃsumm = tf.summary.merge_all()º¯ÊýÀ´ÕûÀíËùÓеÄÈÕÖ¾Éú³É²Ù×÷£¬×îºóÖ»ÐèÒªsess.run(summ)¼´¿É½«¶¨ÒåÖеÄËùÓÐÈÕÖ¾Éú³É²Ù×÷Ò»´ÎÖ´ÐС£

TensorBoardµÄʹÓÃÁ÷³Ì

Ìí¼Ó¼Ç¼½Úµã£ºtf.summary.scalar/image/histogram()µÈ

»ã×ܼǼ½Úµã£ºmerged = tf.summary.merge_all()

ÔËÐлã×ܽڵ㣺summary = sess.run(merged)£¬µÃµ½»ã×ܽá¹û

ÈÕÖ¾ÊéдÆ÷ʵÀý»¯£ºsummary_writer = tf.summary.FileWriter(logdir, graph=sess.graph)£¬ÊµÀý»¯µÄͬʱ´«Èë graph ½«µ±Ç°¼ÆËãͼдÈëÈÕÖ¾

µ÷ÓÃÈÕÖ¾ÊéдÆ÷ʵÀý¶ÔÏósummary_writerµÄadd_summary(summary, global_step=i)·½·¨½«ËùÓлã×ÜÈÕ־дÈëÎļþ

µ÷ÓÃÈÕÖ¾ÊéдÆ÷ʵÀý¶ÔÏósummary_writerµÄclose()·½·¨Ð´ÈëÄڴ棬·ñÔòËüÿ¸ô120sдÈëÒ»´Î

ÏÂÃæÊÇÒ»¸öÍêÕûµÄʹÓÃTensorBoardµÄ´úÂ룺

# _*_ coding:utf-8 _*_
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
# ¶¨ÒåÉñ¾­ÍøÂçµÄÉñ¾­ÔªÊýÄ¿
INPUT_NODE = 784
LAYER1_NODE = 500
OUTPUT_NODE = 10
# ÿ´ÎѵÁ·Êý¾ÝµÄ¸öÊý
BATCH_SIZE = 100
# Ë¥¼õѧϰÂʵIJÎÊý
LEARNING_RATE_BASE = 0.8
LEARNING_RATE_DECAY = 0.99
# ÕýÔò»¯ÏîµÄϵÊý

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

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

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

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