本文整理匯總了Python中tensorflow.AUTO_REUSE屬性的典型用法代碼示例。如果您正苦於以下問題:Python tensorflow.AUTO_REUSE屬性的具體用法?Python tensorflow.AUTO_REUSE怎麽用?Python tensorflow.AUTO_REUSE使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類tensorflow
的用法示例。
在下文中一共展示了tensorflow.AUTO_REUSE屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: fprop
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def fprop(self, x, **kwargs):
del kwargs
my_conv = functools.partial(tf.layers.conv2d,
kernel_size=3,
strides=2,
padding='valid',
activation=tf.nn.relu,
kernel_initializer=HeReLuNormalInitializer)
my_dense = functools.partial(
tf.layers.dense, kernel_initializer=HeReLuNormalInitializer)
with tf.variable_scope(self.scope, reuse=tf.AUTO_REUSE):
for depth in [96, 256, 384, 384, 256]:
x = my_conv(x, depth)
y = tf.layers.flatten(x)
y = my_dense(y, 4096, tf.nn.relu)
y = fc7 = my_dense(y, 4096, tf.nn.relu)
y = my_dense(y, 1000)
return {'fc7': fc7,
self.O_LOGITS: y,
self.O_PROBS: tf.nn.softmax(logits=y)}
示例2: build_critic
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def build_critic(x, h, output_size, scope, n_layers, size, gru_size, recurrent=True, activation=tf.tanh, output_activation=None, regularizer=None):
"""
build recurrent critic
arguments:
regularizer: regularization for weights
(see `build_policy()` for rest)
n.b. the policy and critic should not share weights
"""
with tf.variable_scope(scope, reuse=tf.AUTO_REUSE):
if recurrent:
x, h = build_rnn(x, h, gru_size, scope, n_layers, size, activation=activation, output_activation=output_activation, regularizer=regularizer)
else:
x = tf.reshape(x, (-1, x.get_shape()[1]*x.get_shape()[2]))
x = build_mlp(x, gru_size, scope, n_layers + 1, size, activation=activation, output_activation=activation, regularizer=regularizer)
x = tf.layers.dense(x, output_size, activation=output_activation, name='decoder', kernel_regularizer=regularizer, bias_regularizer=regularizer)
return x
示例3: reward_prediction
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def reward_prediction(
self, input_image, input_reward, action, lstm_state, latent):
"""Builds a reward prediction network."""
conv_size = self.tinyify([32, 32, 16, 4])
lstm_size = self.tinyify([32, 64, 128, 64, 32])
with tf.variable_scope("reward_pred", reuse=tf.AUTO_REUSE):
hidden5, _ = self.bottom_part_tower(
input_image, input_reward, action, latent,
lstm_state, lstm_size, conv_size)
x = hidden5
x = slim.batch_norm(x, scope="reward_bn0")
x = slim.conv2d(x, conv_size[1], [3, 3], scope="reward_conv1")
x = slim.batch_norm(x, scope="reward_bn1")
x = slim.conv2d(x, conv_size[2], [3, 3], scope="reward_conv2")
x = slim.batch_norm(x, scope="reward_bn2")
x = slim.conv2d(x, conv_size[3], [3, 3], scope="reward_conv3")
pred_reward = self.decode_to_shape(
x, input_reward.shape, "reward_dec")
return pred_reward, lstm_state
示例4: targets_bottom
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def targets_bottom(self, x, summary_prefix="targets_bottom"): # pylint: disable=arguments-differ
inputs = x
with tf.variable_scope(self.name, reuse=tf.AUTO_REUSE):
common_layers.summarize_video(inputs, summary_prefix)
inputs_shape = common_layers.shape_list(inputs)
# We embed each of 256=self.top_dimensionality possible pixel values.
embedding_var = tf.get_variable(
"pixel_embedding",
[self.top_dimensionality, self.PIXEL_EMBEDDING_SIZE])
hot_inputs = tf.one_hot(tf.to_int32(inputs), self.top_dimensionality)
hot_inputs = tf.reshape(hot_inputs, [-1, self.top_dimensionality])
embedded = tf.matmul(hot_inputs, embedding_var)
# Let's now merge all channels that were embedded into a single vector.
merged_size = self.PIXEL_EMBEDDING_SIZE * inputs_shape[4]
embedded = tf.reshape(embedded, inputs_shape[:4] + [merged_size])
transposed = common_layers.time_to_channels(embedded)
return tf.layers.dense(
transposed,
self._body_input_depth,
name="merge_pixel_embedded_frames")
示例5: get_vq_bottleneck
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def get_vq_bottleneck(bottleneck_size, hidden_size):
"""Get lookup table for VQ bottleneck."""
with tf.variable_scope("vq", reuse=tf.AUTO_REUSE):
means = tf.get_variable(
name="means",
shape=[bottleneck_size, hidden_size],
initializer=tf.uniform_unit_scaling_initializer())
ema_count = tf.get_variable(
name="ema_count",
shape=[bottleneck_size],
initializer=tf.constant_initializer(0),
trainable=False)
with tf.colocate_with(means):
ema_means = tf.get_variable(
name="ema_means",
initializer=means.initialized_value(),
trainable=False)
return means, ema_means, ema_count
示例6: __init__
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def __init__(self, epsilon=1e-4, shape=(), scope=''):
sess = get_session()
self._new_mean = tf.placeholder(shape=shape, dtype=tf.float64)
self._new_var = tf.placeholder(shape=shape, dtype=tf.float64)
self._new_count = tf.placeholder(shape=(), dtype=tf.float64)
with tf.variable_scope(scope, reuse=tf.AUTO_REUSE):
self._mean = tf.get_variable('mean', initializer=np.zeros(shape, 'float64'), dtype=tf.float64)
self._var = tf.get_variable('std', initializer=np.ones(shape, 'float64'), dtype=tf.float64)
self._count = tf.get_variable('count', initializer=np.full((), epsilon, 'float64'), dtype=tf.float64)
self.update_ops = tf.group([
self._var.assign(self._new_var),
self._mean.assign(self._new_mean),
self._count.assign(self._new_count)
])
sess.run(tf.variables_initializer([self._mean, self._var, self._count]))
self.sess = sess
self._set_mean_var_count()
示例7: generator
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def generator(self, inputs_condition):
inputs = inputs_condition
with tf.variable_scope("generator", reuse=tf.AUTO_REUSE):
inputs1 = leaky_relu(conv2d("conv1", inputs, 64, 5, 2))#128x128x128
inputs2 = leaky_relu(instanceNorm("in1", conv2d("conv2", inputs1, 128, 5, 2)))#64x64x256
inputs3 = leaky_relu(instanceNorm("in2", conv2d("conv3", inputs2, 256, 5, 2)))#32x32x512
inputs4 = leaky_relu(instanceNorm("in3", conv2d("conv4", inputs3, 512, 5, 2)))#16x16x512
inputs5 = leaky_relu(instanceNorm("in4", conv2d("conv5", inputs4, 512, 5, 2)))#8x8x512
inputs6 = leaky_relu(instanceNorm("in5", conv2d("conv6", inputs5, 512, 5, 2)))#4x4x512
inputs7 = leaky_relu(instanceNorm("in6", conv2d("conv7", inputs6, 512, 5, 2)))#2x2x512
inputs8 = leaky_relu(instanceNorm("in7", conv2d("conv8", inputs7, 512, 5, 2)))#1x1x512
outputs1 = tf.nn.relu(tf.concat([tf.nn.dropout(instanceNorm("in9", deconv2d("dconv1", inputs8, 512, 5, 2)), 0.5), inputs7], axis=3)) # 2x2x512
outputs2 = tf.nn.relu(tf.concat([tf.nn.dropout(instanceNorm("in10", deconv2d("dconv2", outputs1, 512, 5, 2)), 0.5), inputs6], axis=3)) # 4x4x512
outputs3 = tf.nn.relu(tf.concat([tf.nn.dropout(instanceNorm("in11", deconv2d("dconv3", outputs2, 512, 5, 2)), 0.5), inputs5], axis=3))#8x8x512
outputs4 = tf.nn.relu(tf.concat([instanceNorm("in12", deconv2d("dconv4", outputs3, 512, 5, 2)), inputs4], axis=3))#16x16x512
outputs5 = tf.nn.relu(tf.concat([instanceNorm("in13", deconv2d("dconv5", outputs4, 256, 5, 2)), inputs3], axis=3))#32x32x256
outputs6 = tf.nn.relu(tf.concat([instanceNorm("in14", deconv2d("dconv6", outputs5, 128, 5, 2)), inputs2], axis=3))#64x64x128
outputs7 = tf.nn.relu(tf.concat([instanceNorm("in15", deconv2d("dconv7", outputs6, 64, 5, 2)), inputs1], axis=3))#128x128x64
outputs8 = tf.nn.tanh((deconv2d("dconv8", outputs7, 3, 5, 2)))#256x256x3
return outputs8
示例8: _init_pos_model
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def _init_pos_model(self, session):
"""Create POS Tagger model and initialize with random or load parameters in session."""
# initilize config
config_dict = load_config(self.model_config_path)
config = get_config(config_dict, self.name)
config.batch_size = 1
config.num_steps = 1 # iterator one token per time
model_var_scope = get_model_var_scope(self.var_scope, self.name)
print ("NOTICE: Input POS Model Var Scope Name '%s'" % model_var_scope)
# Check if self.model already exist
if self.model is None:
with tf.variable_scope(model_var_scope, tf.AUTO_REUSE):
self.model = pos_model.POSTagger(is_training=False, config=config) # save object after is_training
# Load Specific .data* ckpt file
if len(glob.glob(self.ckpt_path + '.data*')) > 0: # file exist with pattern: 'pos.ckpt.data*'
print("NOTICE: Loading model parameters from %s" % self.ckpt_path)
all_vars = tf.global_variables()
model_vars = [k for k in all_vars if model_var_scope in k.name.split("/")]
tf.train.Saver(model_vars).restore(session, self.ckpt_path)
else:
print("NOTICE: Model not found, Try to run method: deepnlp.download(module='pos', name='%s')" % self.name)
print("NOTICE: Created with fresh parameters.")
session.run(tf.global_variables_initializer())
示例9: _init_model
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def _init_model(self, session):
"""Create Parser model and initialize with random or load parameters in session."""
config_dict = load_config(self.model_config_path)
config = get_config(config_dict, self.name)
model_var_scope = get_model_var_scope(self.var_scope, self.name)
print ("NOTICE: Initializing model var scope '%s'" % model_var_scope)
# Check if self.model already exist
if self.model is None: # Create Graph Only once
with tf.variable_scope(model_var_scope, reuse = tf.AUTO_REUSE):
self.model = parse_model.NNParser(config=config)
if len(glob.glob(self.ckpt_path + '.data*')) > 0: # file exist with pattern: 'parser.ckpt.data*'
print("NOTICE: Loading model parameters from %s" % self.ckpt_path)
all_vars = tf.global_variables()
model_vars = [k for k in all_vars if model_var_scope in k.name.split("/")] # Only Restore the Variable in Graph begin with parser/....
tf.train.Saver(model_vars).restore(session, self.ckpt_path)
else:
print("NOTICE: Model not found, Try to run method: deepnlp.download('parse')")
print("NOTICE: Created with fresh parameters.")
session.run(tf.global_variables_initializer())
示例10: extract_box_classifier_features
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def extract_box_classifier_features(self, proposal_feature_maps, scope):
"""Extracts second stage box classifier features.
Args:
proposal_feature_maps: A 4-D float tensor with shape
[batch_size * self.max_num_proposals, crop_height, crop_width, depth]
representing the feature map cropped to each proposal.
scope: A scope name.
Returns:
proposal_classifier_features: A 4-D float tensor with shape
[batch_size * self.max_num_proposals, height, width, depth]
representing box classifier features for each proposal.
"""
with tf.variable_scope(
scope, values=[proposal_feature_maps], reuse=tf.AUTO_REUSE):
return self._extract_box_classifier_features(proposal_feature_maps, scope)
示例11: __init__
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def __init__(self, epsilon=1e-4, shape=(), scope=''):
sess = get_session()
self._new_mean = tf.placeholder(shape=shape, dtype=tf.float64)
self._new_var = tf.placeholder(shape=shape, dtype=tf.float64)
self._new_count = tf.placeholder(shape=(), dtype=tf.float64)
with tf.variable_scope(scope, reuse=tf.AUTO_REUSE):
self._mean = tf.get_variable('mean', initializer=np.zeros(shape, 'float64'), dtype=tf.float64)
self._var = tf.get_variable('std', initializer=np.ones(shape, 'float64'), dtype=tf.float64)
self._count = tf.get_variable('count', initializer=np.full((), epsilon, 'float64'), dtype=tf.float64)
self.update_ops = tf.group([
self._var.assign(self._new_var),
self._mean.assign(self._new_mean),
self._count.assign(self._new_count)
])
sess.run(tf.variables_initializer([self._mean, self._var, self._count]))
self.sess = sess
self._set_mean_var_count()
開發者ID:quantumiracle,項目名稱:Reinforcement_Learning_for_Traffic_Light_Control,代碼行數:24,代碼來源:running_mean_std.py
示例12: __call__
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def __call__(self, obs, reuse=False):
with tf.variable_scope(self.name, reuse=tf.AUTO_REUSE):
x = self.network_builder(obs)
# x = tf.layers.dense(x, self.nb_actions, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
# x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer1, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer2, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer3, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer4, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.nb_actions, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
'''
in order to discrete the action, apply the trick of sharp sigmoid.
with the following line: x<0 will be near 0, x>0 will be near 1
then the discrete step in action choice wont affect too much of accuracy (with only small change of action value!)
the key point of this step is to keep most part of discrete operation in the tensor graph, so as to be back propagated
'''
x = tf.nn.sigmoid(1000*x) # sigmoid ~ (0,1), tanh ~ (-1 , 1)
return x
示例13: __call__
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def __call__(self, obs, reuse=False):
with tf.variable_scope(self.name, reuse=tf.AUTO_REUSE):
x = self.network_builder(obs)
# x = tf.layers.dense(x, self.nb_actions, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
# x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer1, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.hidden_layer2, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
x = tf.nn.tanh(x)
# x = tf.layers.dense(x, self.hidden_layer3, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
# x = tf.nn.tanh(x)
# x = tf.layers.dense(x, self.hidden_layer4, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
# x = tf.nn.tanh(x)
x = tf.layers.dense(x, self.nb_actions, kernel_initializer=tf.random_uniform_initializer(minval=-3e-3, maxval=3e-3))
# x = self.step_activation(tf.nn.sigmoid(x)) # sigmoid ~ (0,1), tanh ~ (-1 , 1)
'''1000 makes the binarization of output of sigmoid has smaller difference
that cannot be backpropagated with tensorflow'''
x = tf.nn.sigmoid(1000*x) # sigmoid ~ (0,1), tanh ~ (-1 , 1)
return x
示例14: conv2d
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def conv2d(input_, output_dim, kernel_h=3, kernel_w=None, stride_h=1, stride_w=None, padding='SAME', reuse=False, initializer=None, use_bias = True, name="conv2d"):
if kernel_w == None: kernel_w = kernel_h
if stride_w == None: stride_w = stride_h
if initializer == None: initializer = tf.contrib.layers.xavier_initializer()
with tf.variable_scope(name, reuse = tf.AUTO_REUSE):
if reuse==True: scope.reuse_variables()
w = tf.get_variable('w', [kernel_h, kernel_w, input_.get_shape()[-1], output_dim],
initializer=initializer)
conv = tf.nn.conv2d(input_, w, strides=[1,stride_h, stride_w, 1], padding=padding)
if use_bias:
b = tf.get_variable('bias', [output_dim], initializer=tf.constant_initializer(0.0))
conv = tf.nn.bias_add(conv, b)
return conv
示例15: res_block
# 需要導入模塊: import tensorflow [as 別名]
# 或者: from tensorflow import AUTO_REUSE [as 別名]
def res_block(input_, output_dim, name='res_block', is_dropout=False, drop_p=0.5):
shortcut = input_
num_input_c = shortcut.shape.as_list()[-1]
with tf.variable_scope(name, reuse=tf.AUTO_REUSE):
conv = conv2d(input_, output_dim, name=name+'/conv1')
conv = norm_layer(conv, 'instance')
conv = tf.nn.relu(conv)
if is_dropout:
conv = tf.nn.dropout(conv, keep_prob = drop_p)
#conv = conv2d(conv, output_dim, num_input_c * 2, name=name+'/conv2')
conv = conv2d(conv, output_dim, name=name+'/conv2')
conv = norm_layer(conv, 'instance')
conv = tf.identity(conv+shortcut, name='residual_block_output')
return conv