共享變數: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...