def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
python类zeros_initializer()的实例源码
def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
def _initialize_combine_embedding_layer(self):
with tf.variable_scope("combine_embedding_layer"):
W = tf.get_variable(
initializer=tf.contrib.layers.xavier_initializer(),
shape=[
self._word_embedding_dim + self._char_rnn_encoder_hidden_dim * 2,
self._combined_embedding_dim
],
name="weight"
)
b = tf.get_variable(
initializer=tf.zeros_initializer(),
shape=[self._combined_embedding_dim],
name="bias"
)
return {
"W": W,
"b": b
}
def _logistic_regression_model_fn(features, targets):
logits = tf.contrib.layers.linear(
features,
1,
weights_initializer=tf.zeros_initializer,
# Intentionally uses really awful initial values so that
# AUC/precision/recall/etc will change meaningfully even on a toy dataset.
biases_initializer=tf.constant_initializer(-10.0))
predictions = tf.sigmoid(logits)
loss = tf.contrib.losses.sigmoid_cross_entropy(logits, targets)
train_op = tf.contrib.layers.optimize_loss(
loss,
tf.contrib.framework.get_global_step(),
optimizer='Adagrad',
learning_rate=0.1)
return predictions, loss, train_op
def _logistic_regression_model_fn(features, labels):
logits = tf.contrib.layers.linear(
features,
1,
weights_initializer=tf.zeros_initializer,
# Intentionally uses really awful initial values so that
# AUC/precision/recall/etc will change meaningfully even on a toy dataset.
biases_initializer=tf.constant_initializer(-10.0))
predictions = tf.sigmoid(logits)
loss = tf.contrib.losses.sigmoid_cross_entropy(logits, labels)
train_op = tf.contrib.layers.optimize_loss(
loss,
tf.contrib.framework.get_global_step(),
optimizer='Adagrad',
learning_rate=0.1)
return predictions, loss, train_op
def normalization(inputs, epsilon=1e-3, has_shift=True, has_scale=True,
activation_fn=None, scope='normalization'):
with tf.variable_scope(scope):
inputs_shape = inputs.get_shape()
inputs_rank = inputs_shape.ndims
axis = list(range(inputs_rank - 1))
mean, variance = tf.nn.moments(inputs, axis)
shift, scale = None, None
if has_shift:
shift = tf.get_variable('shift',
shape=inputs_shape[-1:],
dtype=inputs.dtype,
initializer=tf.zeros_initializer)
if has_scale:
scale = tf.get_variable('scale',
shape=inputs_shape[-1:],
dtype=inputs.dtype,
initializer=tf.ones_initializer)
x = tf.nn.batch_normalization(inputs, mean, variance, shift, scale, epsilon)
return x if activation_fn is None else activation_fn(x)
def encoder(self, x, embedding, reuse=None):
with tf.variable_scope("encoder", reuse=reuse):
with slim.arg_scope([slim.conv2d],
stride=1, activation_fn=tf.nn.elu, padding="SAME",
weights_initializer=tf.contrib.layers.variance_scaling_initializer(),
weights_regularizer=slim.l2_regularizer(5e-4),
bias_initializer=tf.zeros_initializer()):
x = slim.conv2d(x, embedding, 3)
for i in range(self.conv_repeat_num):
channel_num = embedding * (i + 1)
x = slim.repeat(x, 2, slim.conv2d, channel_num, 3)
if i < self.conv_repeat_num - 1:
# Is using stride pooling more better method than max pooling?
# or average pooling
# x = slim.conv2d(x, channel_num, kernel_size=3, stride=2) # sub-sampling
x = slim.avg_pool2d(x, kernel_size=2, stride=2)
# x = slim.max_pooling2d(x, 3, 2)
x = tf.reshape(x, [-1, np.prod([8, 8, channel_num])])
return x
def decoder(self, z, embedding, reuse=None):
with tf.variable_scope("decoder", reuse=reuse):
with slim.arg_scope([slim.conv2d, slim.fully_connected],
weights_initializer=tf.contrib.layers.variance_scaling_initializer(),
weights_regularizer=slim.l2_regularizer(5e-4),
bias_initializer=tf.zeros_initializer()):
with slim.arg_scope([slim.conv2d], padding="SAME",
activation_fn=tf.nn.elu, stride=1):
x = slim.fully_connected(z, 8 * 8 * embedding, activation_fn=None)
x = tf.reshape(x, [-1, 8, 8, embedding])
for i in range(self.conv_repeat_num):
x = slim.repeat(x, 2, slim.conv2d, embedding, 3)
if i < self.conv_repeat_num - 1:
x = resize_nn(x, 2) # NN up-sampling
x = slim.conv2d(x, 3, 3, activation_fn=None)
return x
def initialiseBiases():
global biases
zero_init = tf.zeros_initializer()
biases['bg1'] = tf.get_variable("bg1", shape=[512], initializer=zero_init)
biases['bg2'] = tf.get_variable("bg2", shape=[256], initializer=zero_init)
biases['bg3'] = tf.get_variable("bg3", shape=[128], initializer=zero_init)
biases['bg4'] = tf.get_variable("bg4", shape=[64], initializer=zero_init)
biases['bg5'] = tf.get_variable("bg5", shape=[1], initializer=zero_init)
biases['bd1'] = tf.get_variable("bd1", shape=[64], initializer=zero_init)
biases['bd2'] = tf.get_variable("bd2", shape=[128], initializer=zero_init)
biases['bd3'] = tf.get_variable("bd3", shape=[256], initializer=zero_init)
biases['bd4'] = tf.get_variable("bd4", shape=[512], initializer=zero_init)
biases['bd5'] = tf.get_variable("bd5", shape=[1], initializer=zero_init)
return biases
def initialiseBiases():
global biases
zero_init = tf.zeros_initializer()
biases['bg1'] = tf.get_variable("bg1", shape=[512], initializer=zero_init)
biases['bg2'] = tf.get_variable("bg2", shape=[256], initializer=zero_init)
biases['bg3'] = tf.get_variable("bg3", shape=[128], initializer=zero_init)
biases['bg4'] = tf.get_variable("bg4", shape=[64], initializer=zero_init)
biases['bg5'] = tf.get_variable("bg5", shape=[1], initializer=zero_init)
biases['bd1'] = tf.get_variable("bd1", shape=[64], initializer=zero_init)
biases['bd2'] = tf.get_variable("bd2", shape=[128], initializer=zero_init)
biases['bd3'] = tf.get_variable("bd3", shape=[256], initializer=zero_init)
biases['bd4'] = tf.get_variable("bd4", shape=[512], initializer=zero_init)
biases['bd5'] = tf.get_variable("bd5", shape=[1], initializer=zero_init)
return biases
def initialiseBiases():
global biases
zero_init = tf.zeros_initializer()
biases['bg1'] = tf.get_variable("bg1", shape=[4*4*4*512], initializer=zero_init)
biases['bg2'] = tf.get_variable("bg2", shape=[256], initializer=zero_init)
biases['bg3'] = tf.get_variable("bg3", shape=[128], initializer=zero_init)
biases['bg4'] = tf.get_variable("bg4", shape=[ 1 ], initializer=zero_init)
biases['bd1'] = tf.get_variable("bd1", shape=[32], initializer=zero_init)
biases['bd2'] = tf.get_variable("bd2", shape=[64], initializer=zero_init)
biases['bd3'] = tf.get_variable("bd3", shape=[128], initializer=zero_init)
biases['bd4'] = tf.get_variable("bd4", shape=[256], initializer=zero_init)
biases['bd5'] = tf.get_variable("bd5", shape=[1 ], initializer=zero_init)
return biases
def initialiseBiases():
global biases
zero_init = tf.zeros_initializer()
biases['bg1'] = tf.get_variable("bg1", shape=[512], initializer=zero_init)
biases['bg2'] = tf.get_variable("bg2", shape=[256], initializer=zero_init)
biases['bg3'] = tf.get_variable("bg3", shape=[128], initializer=zero_init)
biases['bg4'] = tf.get_variable("bg4", shape=[64], initializer=zero_init)
biases['bg5'] = tf.get_variable("bg5", shape=[1], initializer=zero_init)
biases['bd1'] = tf.get_variable("bd1", shape=[64], initializer=zero_init)
biases['bd2'] = tf.get_variable("bd2", shape=[128], initializer=zero_init)
biases['bd3'] = tf.get_variable("bd3", shape=[256], initializer=zero_init)
biases['bd4'] = tf.get_variable("bd4", shape=[512], initializer=zero_init)
biases['bd5'] = tf.get_variable("bd5", shape=[1], initializer=zero_init)
return biases
def v(self):
with tf.variable_scope('critic'):
w_i = tf.random_uniform_initializer(0., 0.1)
b_i = tf.zeros_initializer()
with tf.variable_scope('dense1'):
dense1 = dense(self.state_input, 100, [100], w_i, activation=tf.nn.relu6)
with tf.variable_scope('dense2'):
dense2 = dense(dense1, 1, [1], w_i, b_i, activation=None)
return dense2
# Note: We need 2 return value here: mu & sigma. So it is not suitable to use lazy_property.
def a_prob(self):
with tf.variable_scope('actor'):
w_i = tf.random_uniform_initializer(0., 0.1)
b_i = tf.zeros_initializer()
with tf.variable_scope('dense1'):
dense1 = dense(self.state_input, 200, None, w_i, b_i, activation=tf.nn.relu6)
with tf.variable_scope('dense2'):
dense2 = dense(dense1, self.action_dim, None, w_i, b_i, activation=tf.nn.softmax)
return dense2
positional_cnn_deep_combine_chain_model.py 文件源码
项目:youtube-8m
作者: wangheda
项目源码
文件源码
阅读 30
收藏 0
点赞 0
评论 0
def add_positional_embedding(self, model_input, num_frames, l2_penalty=1e-8):
batch_size, max_frames, num_features = model_input.get_shape().as_list()
positional_embedding = tf.get_variable("positional_embedding", dtype=tf.float32,
shape=[1, max_frames, num_features],
initializer=tf.zeros_initializer(),
regularizer=tf.contrib.layers.l2_regularizer(l2_penalty))
mask = tf.sequence_mask(lengths=num_frames, maxlen=max_frames, dtype=tf.float32)
model_input_with_positional_embedding = tf.einsum("ijk,ij->ijk", model_input + positional_embedding, mask)
return model_input_with_positional_embedding
def trainable_initial_state(self, batch_size):
"""
Create a trainable initial state for the MultiSkipLSTMCell
:param batch_size: number of samples per batch
:return: list of SkipLSTMStateTuple
"""
initial_states = []
for idx in range(self._num_layers - 1):
with tf.variable_scope('layer_%d' % (idx + 1)):
with tf.variable_scope('initial_c'):
initial_c = rnn_ops.create_initial_state(batch_size, self._num_units[idx])
with tf.variable_scope('initial_h'):
initial_h = rnn_ops.create_initial_state(batch_size, self._num_units[idx])
initial_states.append(LSTMStateTuple(initial_c, initial_h))
with tf.variable_scope('layer_%d' % self._num_layers):
with tf.variable_scope('initial_c'):
initial_c = rnn_ops.create_initial_state(batch_size, self._num_units[-1])
with tf.variable_scope('initial_h'):
initial_h = rnn_ops.create_initial_state(batch_size, self._num_units[-1])
with tf.variable_scope('initial_update_prob'):
initial_update_prob = rnn_ops.create_initial_state(batch_size, 1, trainable=False,
initializer=tf.ones_initializer())
with tf.variable_scope('initial_cum_update_prob'):
initial_cum_update_prob = rnn_ops.create_initial_state(batch_size, 1, trainable=False,
initializer=tf.zeros_initializer())
initial_states.append(SkipLSTMStateTuple(initial_c, initial_h,
initial_update_prob, initial_cum_update_prob))
return initial_states
def trainable_initial_state(self, batch_size):
"""
Create a trainable initial state for the SkipGRUCell
:param batch_size: number of samples per batch
:return: SkipGRUStateTuple
"""
with tf.variable_scope('initial_h'):
initial_h = rnn_ops.create_initial_state(batch_size, self._num_units)
with tf.variable_scope('initial_update_prob'):
initial_update_prob = rnn_ops.create_initial_state(batch_size, 1, trainable=False,
initializer=tf.ones_initializer())
with tf.variable_scope('initial_cum_update_prob'):
initial_cum_update_prob = rnn_ops.create_initial_state(batch_size, 1, trainable=False,
initializer=tf.zeros_initializer())
return SkipGRUStateTuple(initial_h, initial_update_prob, initial_cum_update_prob)