Tensorflow 變數和視覺化

2021-10-01 16:39:35 字數 2949 閱讀 4242

變數也是一種op,是一種特殊的張量,能夠進行儲存持久化,它的

值就是張量

變數的建立

tf.variable(initial_value=none,name=none)

建立乙個帶值initial_value的新變數

assign(value)

為變數分配乙個新值

返回新值

eval(session=none)

計算並返回此變數的值

name屬性表示變數名字

變數的初始化

tf.global_variables_initializer()

新增乙個初始化所有變數的op

在會話中開啟

import tensorflow as tf

#變數op

#1.變數能夠持久化儲存,普通的張量op是不行的

#2.當定義乙個變數op的時候,一定要在會話當中執行初始化

a= tf.constant([1

,2,3

,4,5

])#常數張量

var= tf.variable(tf.random_normal([2

,3],mean=

0.0,stddev=

1.0)

)print

(a,var)

#必須做一步顯示的初始化

init_op=tf.global_variables_initializer(

)with tf.session(

)as sess:

#必須執行初始化op

資料序列化-events檔案

tensorboard 通過讀取 tensorflow 的事件檔案來執行

tf.summary.filewriter(』/tmp/tensorflow/summary/test/』, graph=

default_graph)

返回filewriter,寫入事件檔案到指定目錄(最好用絕對路徑),以提供給tensorboard使用

命令中開啟

tensorboard --logdir=/tmp/tensorflow/summary/test/

一般瀏覽器開啟為127.0.0.1:6006

注:修改程式後,再儲存一遍會有新的事件檔案,開啟預設為最新

先將程式圖結構序列化為檔案(events事件檔案),通過tensorboard顯示到伺服器

#把程式的圖結構寫入事件檔案

然後就可以看到相關的graph

圖中的符號意義

目的:觀察模型的引數、損失值等變數值的變化

1、收集變數

tf.summary.scalar(name=』』,tensor) 收集對於損失函式和準確率

等單值變數,name為變數的名字,tensor為值

tf.summary.histogram(name=『』,tensor) 收集高維度的變數引數

tf.summary.image(name=『』,tensor) 收集輸入的張量能顯示

2、合併變數寫入事件檔案

merged = tf.summary.merge_all()

執行合併:summary = sess.run(merged),每次迭代都需執行

新增:filewriter.add_summary(summary,i),i表示第幾次的值

import tensorflow as tf

#變數op

#1.變數能夠持久化儲存,普通的張量op是不行的

#2.當定義乙個變數op的時候,一定要在會話當中執行初始化

#3.name 引數:在tensorboard使用的時候顯示名字,可以讓相同op名字進行區分

a= tf.constant([1

,2,3

,4,5

])#常數張量

var= tf.variable(tf.random_normal([2

,3],mean=

0.0,stddev=

1.0)

,name=

"chenpeng"

)print

(a,var)

#必須做一步顯示的初始化

init_op=tf.global_variables_initializer(

)b=tf.constant(

5.0)

c=tf.constant(

5.0)

d=tf.add(b,c)

with tf.session(

)as sess:

#必須執行初始化op

sess.run(init_op)

#把程式的圖結構寫入事件檔案

filewriter=tf.summary.filewriter(

"./summary"

,graph=sess.graph)

print

(sess.run(

[d,a,var]

))

5 變數和視覺化

1 變數的建立 變數也是一種op,是一種特殊的張量,能夠進行儲存持久化 用於儲存引數,係數等 它的值就是張量,預設被訓練 tf.variable initial value none,name none,trainable true name表示在視覺化中顯示的名字 建立乙個帶值initial va...

TensorFlow建立變數

一 使用tf.variable函式建立變數 tf.variable initial value none,trainable true,collections none,validate shape true,caching device none,name none,variable def no...

tensorflow 共享變數

import tensorflow as tf 設定隨機種子,使得每次隨機初始化都一樣 tf.set random seed 1234 這是我們要共享的變數函式 def share variable input weight tf.get variable weight 2,2 return wei...