tensorflow 1 共享變數

2021-07-30 03:20:53 字數 1038 閱讀 4526

共享變數:reuse_variables()

example1:

with tf.variable_scope("try"):

#先建立兩個變數w1, w2

w2 = tf.get_variable("w1",shape=[2,3,4], dtype=tf.float32)

w3 = tf.get_variable("w2", shape=[2, 3, 4], dtype=tf.float32)

#使用reuse_variables 將剛剛建立的兩個變數共享

tf.get_variable_scope().reuse_variables()

w4 = tf.get_variable("w1", shape=[2, 3, 4], dtype=tf.float32)

w5 = tf.get_variable("w2", shape=[2, 3, 4], dtype=tf.float32)

#再進行共享的話,還需要再使用一次reuse_variables()

tf.get_variable_scope().reuse_variables()

w6 = tf.get_variable("w1", shape=[2, 3, 4], dtype=tf.float32)

w7 = tf.get_variable("w2", shape=[2, 3, 4], dtype=tf.float32)

example2:

with tf.variable_scope("rnn"):

for time_step in range(num_steps):

if time_step > 0: tf.get_variable_scope().reuse_variables()

# cell_out: [batch, hidden_size]

(cell_output, state) = cell(inputs[:, time_step, :], state) # 按照順序向cell輸入文字資料

這樣就可以實現變數共享了

tensorflow1 構建線性模型

x是給定的輸入資料 使用tensorflow構建乙個模型,開始的時候,w和b全部給成0,讓其訓練,使其接近預設的模型。即讓w接近0.1,b接近0.2 import tensorflow as tf import numpy as np x data np.random.rand 100 y data...

神經網路 tensorflow 1

import tensorflow as tf import numpy as np create data x data np.random.rand 100 astype np.float32 在tensorflow中大部分的資料的資料型別都是float32 y data x data 0.1 ...

tensorflow 共享變數

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