# -*- 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等多種方式動態獲取監控物件。在...