tensorboard 監控指標視覺化

2022-09-06 09:27:09 字數 3465 閱讀 2575

# -*- coding: utf-8 -*-

created on wed jan 30 23:24:30 2019

@author: administrator

import tensorflow as tf

from tensorflow.examples.tutorials.mnist import input_data

tf.reset_default_graph()

summary_dir="log/"

batch_size=100

train_steps=3000

#監控資訊記入日誌

#var:需要記賬的張量

#name:圖表名稱

def variable_summaries(var,name):

with tf.name_scope('summaries'):

#記錄張量的取值分布

#記錄到buffer中

tf.summary.histogram(name,var)

#求張量的所有元素的平均值

mean=tf.reduce_mean(var)

#日誌#mean/為命名空間

#相同命名空間下的監控指標會被整合到同一欄中。

tf.summary.scalar('mean/'+name, mean)

#標準差

#stddev=tf.sqrt(tf.reduce_mean(tf.square(var-mean)))

#tf.summary.scalar('stddev/'+name,var)

#生成一層全連線神經網路

def nn_layer(input_tensor,input_dim,output_dim,

layer_name,

act=tf.nn.relu):

#將同一層神經網路放在同一命名空間下

with tf.name_scope(layer_name):

#宣告神經網路邊上的權重,並呼叫生成權重監控資訊日誌的函式

with tf.name_scope("weights"):

weights=tf.variable(tf.truncated_normal(

[input_dim,output_dim],stddev=0.1))

#權重記入日誌

variable_summaries(weights,layer_name+'/weights')

#宣告神經網路的偏置項

with tf.name_scope('biases'):

biases=tf.variable(tf.constant(0.0,shape=[output_dim]))

variable_summaries(biases,layer_name+'/biases')

with tf.name_scope('wx_plus_b'):

preactivate=tf.matmul(input_tensor,weights)+biases

#記錄神經網路輸出節點在經過啟用函式之前的分布

tf.summary.histogram(layer_name+'/pre_activate',

preactivate)

activations=act(preactivate,name='activation')

#記錄神經網路輸出節點在經過啟用函式之後的分布

tf.summary.histogram(layer_name+'/activations',activations)

return activations

def main(ar**=none):

mnist=input_data.read_data_sets("mnist_data/",one_hot=true)

#定義輸入

with tf.name_scope("input"):

x=tf.placeholder(

tf.float32,[none,784],

name='x-input')

y_=tf.placeholder(

tf.float32,[none,10],

name='y-input')

#將輸入向量還原成的畫素矩陣,並寫入日誌

with tf.name_scope('input_reshape'):

image_shaped_input=tf.reshape(x,[-1,28,28,1])

tf.summary.image('input',image_shaped_input,10)

hidden1=nn_layer(x,784,500,'layer1')

y=nn_layer(hidden1,500,10,'layer2',act=tf.identity)

#計算交叉熵,並記錄日誌

with tf.name_scope('cross_entropy'):

cross_entropy=tf.reduce_mean(

tf.nn.softmax_cross_entropy_with_logits(

labels=y_, logits=y)

tf.summary.scalar('cross_entropy',cross_entropy)

with tf.name_scope('train'):

train_step=tf.train.adamoptimizer(0.001).minimize(cross_entropy)

#計算模型在當前給定資料上的正確率

#並日誌

with tf.name_scope('accuracy'):

with tf.name_scope('correct_prediction'):

correct_prediction=tf.equal(tf.argmax(y,1),tf.argmax(y_,1))

with tf.name_scope('accuracy'):

accuracy=tf.reduce_mean(

tf.cast(correct_prediction,tf.float32))

#合併所有的日誌操作

merged=tf.summary.merge_all()

with tf.session() as sess:

summary_writer=tf.summary.filewriter('log/',sess.graph)

tf.global_variables_initializer().run()

for i in range(train_steps):

xs,ys=mnist.train.next_batch(batch_size)

#呼叫訓練

summary,_=sess.run([merged,train_step],

feed_dict=)

summary_writer.add_summary(summary,i)

summary_writer.close()

if __name__=='__main__':

Oracle監控指標

1 資料檔案或資料裝置 參考 2 資料庫日誌空間活或回滾段 包括大小 裝置 檔案及可用率 日誌空間競爭情況或回滾段競爭情況 3 資料庫內錶空間的資訊 4 資料庫記憶體配置資訊 5 資料庫配置資訊 資料庫狀態 資料庫是否可用 資料庫的版本 6 資料庫記憶體使用資訊 a 共享記憶體使用百分比 b 共享記...

Oracle監控指標

1 資料檔案或資料裝置 參考 2 資料庫日誌空間活或回滾段 包括大小 裝置 檔案及可用率 日誌空間競爭情況或回滾段競爭情況 3 資料庫內錶空間的資訊 4 資料庫記憶體配置資訊 5 資料庫配置資訊 資料庫狀態 資料庫是否可用 資料庫的版本 6 資料庫記憶體使用資訊 a 共享記憶體使用百分比 b 共享記...

pull push 監控指標

prometheus 原理介紹 知乎 prometheus由go語言編寫而成,採用pull方式獲取監控資訊,並提供了多維度的資料模型和靈活的查詢介面。prometheus不僅可以通過靜態檔案配置監控物件,還支援自動發現機制,能通過kubernetes consl dns等多種方式動態獲取監控物件。在...