python rename variables in vsc_Python variables.model_variable方法代碼示例

本文整理匯總了Python中tensorflow.contrib.framework.python.ops.variables.model_variable方法的典型用法代碼示例。如果您正苦於以下問題:Python variables.model_variable方法的具體用法?Python variables.model_variable怎麽用?Python variables.model_variable使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在模塊tensorflow.contrib.framework.python.ops.variables的用法示例。

在下文中一共展示了variables.model_variable方法的17個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Python代碼示例。

示例1: _model_variable_getter

​點讚 6

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _model_variable_getter(getter, name, shape=None, dtype=None,

initializer=None, regularizer=None, trainable=True,

collections=None, caching_device=None,

partitioner=None, rename=None, use_resource=None,

**_):

"""Getter that uses model_variable for compatibility with core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name, shape=shape, dtype=dtype, initializer=initializer,

regularizer=regularizer, collections=collections, trainable=trainable,

caching_device=caching_device, partitioner=partitioner,

custom_getter=getter, use_resource=use_resource)

開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:18,

示例2: _model_variable_getter

​點讚 6

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _model_variable_getter(getter, name, shape=None, dtype=None,

initializer=None, regularizer=None, trainable=True,

collections=None, caching_device=None,

partitioner=None, rename=None, use_resource=None,

**_):

"""Getter that uses model_variable for compatibility with core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name, shape=shape, dtype=dtype, initializer=initializer,

regularizer=regularizer, collections=collections, trainable=trainable,

caching_device=caching_device, partitioner=partitioner,

custom_getter=getter, use_resource=use_resource)

開發者ID:balancap,項目名稱:tf-imagenet,代碼行數:18,

示例3: sequence_softmax

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def sequence_softmax(inputs, noutput, scope=None, name=None, linear_name=None):

"""Run a softmax layer over all the time steps of an input sequence.

Args:

inputs: (length, batch_size, depth) tensor

noutput: output depth

scope: optional scope name

name: optional name for output tensor

linear_name: name for linear (pre-softmax) output

Returns:

A tensor of size (length, batch_size, noutput).

"""

length, _, ninputs = _shape(inputs)

inputs_u = array_ops.unstack(inputs)

output_u = []

with variable_scope.variable_scope(scope, "SequenceSoftmax", [inputs]):

initial_w = random_ops.truncated_normal([0 + ninputs, noutput], stddev=0.1)

initial_b = constant_op.constant(0.1, shape=[noutput])

w = variables.model_variable("weights", initializer=initial_w)

b = variables.model_variable("biases", initializer=initial_b)

for i in xrange(length):

with variable_scope.variable_scope(scope, "SequenceSoftmaxStep",

[inputs_u[i]]):

# TODO(tmb) consider using slim.fully_connected(...,

# activation_fn=tf.nn.softmax)

linear = nn_ops.xw_plus_b(inputs_u[i], w, b, name=linear_name)

output = nn_ops.softmax(linear)

output_u += [output]

outputs = array_ops.stack(output_u, name=name)

return outputs

開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:34,

示例4: _create_embedding_lookup

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _create_embedding_lookup(column,

columns_to_tensors,

embedding_lookup_arguments,

num_outputs,

trainable,

weight_collections):

"""Creates variables and returns predictions for linear weights in a model.

Args:

column: the column we're working on.

columns_to_tensors: a map from column name to tensors.

embedding_lookup_arguments: arguments for embedding lookup.

num_outputs: how many outputs.

trainable: whether the variable we create is trainable.

weight_collections: weights will be placed here.

Returns:

variables: the created embeddings.

predictions: the computed predictions.

"""

with variable_scope.variable_scope(

None, default_name=column.name, values=columns_to_tensors.values()):

variable = contrib_variables.model_variable(

name='weights',

shape=[embedding_lookup_arguments.vocab_size, num_outputs],

dtype=dtypes.float32,

initializer=embedding_lookup_arguments.initializer,

trainable=trainable,

collections=weight_collections)

if fc._is_variable(variable): # pylint: disable=protected-access

variable = [variable]

else:

variable = variable._get_variable_list() # pylint: disable=protected-access

predictions = embedding_ops.safe_embedding_lookup_sparse(

variable,

embedding_lookup_arguments.input_tensor,

sparse_weights=embedding_lookup_arguments.weight_tensor,

combiner=embedding_lookup_arguments.combiner,

name=column.name + '_weights')

return variable, predictions

開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:42,

示例5: _model_variable_getter

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _model_variable_getter(getter, name, shape=None, dtype=None,

initializer=None, regularizer=None, trainable=True,

collections=None, caching_device=None,

partitioner=None, rename=None, **_):

"""Getter that uses model_variable for compatibility with core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name, shape=shape, dtype=dtype, initializer=initializer,

regularizer=regularizer, collections=collections, trainable=trainable,

caching_device=caching_device, partitioner=partitioner,

custom_getter=getter)

開發者ID:abhisuri97,項目名稱:auto-alt-text-lambda-api,代碼行數:17,

示例6: _create_embedding_lookup

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _create_embedding_lookup(column,

columns_to_tensors,

embedding_lookup_arguments,

num_outputs,

trainable,

weight_collections):

"""Creates variables and returns predictions for linear weights in a model.

Args:

column: the column we're working on.

columns_to_tensors: a map from column name to tensors.

embedding_lookup_arguments: arguments for embedding lookup.

num_outputs: how many outputs.

trainable: whether the variable we create is trainable.

weight_collections: weights will be placed here.

Returns:

variables: the created embeddings.

predictions: the computed predictions.

"""

with variable_scope.variable_scope(

None, default_name=column.name, values=columns_to_tensors.values()):

variable = contrib_variables.model_variable(

name='weights',

shape=[embedding_lookup_arguments.vocab_size, num_outputs],

dtype=dtypes.float32,

initializer=embedding_lookup_arguments.initializer,

trainable=trainable,

collections=weight_collections)

if isinstance(variable, variables.Variable):

variable = [variable]

else:

variable = variable._get_variable_list() # pylint: disable=protected-access

predictions = embedding_ops.safe_embedding_lookup_sparse(

variable,

embedding_lookup_arguments.input_tensor,

sparse_weights=embedding_lookup_arguments.weight_tensor,

combiner=embedding_lookup_arguments.combiner,

name=column.name + '_weights')

return variable, predictions

開發者ID:abhisuri97,項目名稱:auto-alt-text-lambda-api,代碼行數:42,

示例7: preact_conv2d

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def preact_conv2d(

inputs,

num_outputs,

kernel_size,

stride=1,

padding='SAME',

activation_fn=nn.relu,

normalizer_fn=None,

normalizer_params=None,

weights_initializer=initializers.xavier_initializer(),

weights_regularizer=None,

reuse=None,

variables_collections=None,

outputs_collections=None,

trainable=True,

scope=None):

"""Adds a 2D convolution preceded by batch normalization and activation.

"""

with variable_scope.variable_scope(scope, 'Conv', values=[inputs], reuse=reuse) as sc:

inputs = ops.convert_to_tensor(inputs)

dtype = inputs.dtype.base_dtype

if normalizer_fn:

normalizer_params = normalizer_params or {}

inputs = normalizer_fn(inputs, activation_fn=activation_fn, **normalizer_params)

kernel_h, kernel_w = utils.two_element_tuple(kernel_size)

stride_h, stride_w = utils.two_element_tuple(stride)

num_filters_in = utils.last_dimension(inputs.get_shape(), min_rank=4)

weights_shape = [kernel_h, kernel_w, num_filters_in, num_outputs]

weights_collections = utils.get_variable_collections(variables_collections, 'weights')

weights = variables.model_variable('weights',

shape=weights_shape,

dtype=dtype,

initializer=weights_initializer,

regularizer=weights_regularizer,

collections=weights_collections,

trainable=trainable)

outputs = nn.conv2d(inputs, weights, [1, stride_h, stride_w, 1], padding=padding)

return utils.collect_named_outputs(outputs_collections, sc.name, outputs)

開發者ID:rwightman,項目名稱:tensorflow-litterbox,代碼行數:40,

示例8: _model_variable_getter

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _model_variable_getter(getter,

name,

shape=None,

dtype=None,

initializer=None,

regularizer=None,

trainable=True,

collections=None,

caching_device=None,

partitioner=None,

rename=None,

use_resource=None,

**_):

"""Getter that uses model_variable for compatibility with core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name,

shape=shape,

dtype=dtype,

initializer=initializer,

regularizer=regularizer,

collections=collections,

trainable=trainable,

caching_device=caching_device,

partitioner=partitioner,

custom_getter=getter,

use_resource=use_resource)

開發者ID:HiKapok,項目名稱:tf.fashionAI,代碼行數:33,

示例9: _model_variable_getter

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _model_variable_getter(getter,

name,

shape=None,

dtype=None,

initializer=None,

regularizer=None,

trainable=True,

collections=None,

caching_device=None,

partitioner=None,

rename=None,

use_resource=None,

**_):

"""Getter that uses model_variable for compatibility with core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name,

shape=shape,

dtype=dtype,

initializer=initializer,

regularizer=regularizer,

collections=collections,

trainable=trainable,

caching_device=caching_device,

partitioner=partitioner,

custom_getter=getter,

use_resource=use_resource)

開發者ID:hyperconnect,項目名稱:MMNet,代碼行數:33,

示例10: get_model_variables

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def get_model_variables(getter,

name,

shape=None,

dtype=None,

initializer=None,

regularizer=None,

trainable=True,

collections=None,

caching_device=None,

partitioner=None,

rename=None,

use_resource=None,

**_):

"""This ensure variables are retrieved in a consistent way for core layers."""

short_name = name.split('/')[-1]

if rename and short_name in rename:

name_components = name.split('/')

name_components[-1] = rename[short_name]

name = '/'.join(name_components)

return variables.model_variable(

name,

shape=shape,

dtype=dtype,

initializer=initializer,

regularizer=regularizer,

collections=collections,

trainable=trainable,

caching_device=caching_device,

partitioner=partitioner,

custom_getter=getter,

use_resource=use_resource)

開發者ID:google-research,項目名稱:rigl,代碼行數:33,

示例11: init_state

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def init_state(self, state_name, batch_size, dtype, learned_state=False):

"""Creates an initial state compatible with this cell.

Args:

state_name: name of the state tensor

batch_size: model batch size

dtype: dtype for the tensor values i.e. tf.float32

learned_state: whether the initial state should be learnable. If false,

the initial state is set to all 0's

Returns:

The created initial state.

"""

state_size = (

self.state_size_flat if self._flattened_state else self.state_size)

# list of 2 zero tensors or variables tensors, depending on if

# learned_state is true

ret_flat = [(variables.model_variable(

state_name + str(i),

shape=s,

dtype=dtype,

initializer=tf.truncated_normal_initializer(stddev=0.03))

if learned_state else tf.zeros(

[batch_size] + s, dtype=dtype, name=state_name))

for i, s in enumerate(state_size)]

# duplicates initial state across the batch axis if it's learned

if learned_state:

ret_flat = [

tf.stack([tensor

for i in range(int(batch_size))])

for tensor in ret_flat

]

for s, r in zip(state_size, ret_flat):

r.set_shape([None] + s)

return tf.contrib.framework.nest.pack_sequence_as(

structure=[1, 1], flat_sequence=ret_flat)

開發者ID:generalized-iou,項目名稱:g-tensorflow-models,代碼行數:39,

示例12: init_state

​點讚 5

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def init_state(self, state_name, batch_size, dtype, learned_state=False):

"""Creates an initial state compatible with this cell.

Args:

state_name: name of the state tensor

batch_size: model batch size

dtype: dtype for the tensor values i.e. tf.float32

learned_state: whether the initial state should be learnable. If false,

the initial state is set to all 0's

Returns:

The created initial state.

"""

state_size = (

self.state_size_flat if self._flatten_state else self.state_size)

# list of 2 zero tensors or variables tensors, depending on if

# learned_state is true

# pylint: disable=g-long-ternary,g-complex-comprehension

ret_flat = [(contrib_variables.model_variable(

state_name + str(i),

shape=s,

dtype=dtype,

initializer=tf.truncated_normal_initializer(stddev=0.03))

if learned_state else tf.zeros(

[batch_size] + s, dtype=dtype, name=state_name))

for i, s in enumerate(state_size)]

# duplicates initial state across the batch axis if it's learned

if learned_state:

ret_flat = [

tf.stack([tensor

for i in range(int(batch_size))])

for tensor in ret_flat

]

for s, r in zip(state_size, ret_flat):

r.set_shape([None] + s)

return tf.nest.pack_sequence_as(structure=[1, 1], flat_sequence=ret_flat)

開發者ID:tensorflow,項目名稱:models,代碼行數:39,

示例13: _create_joint_embedding_lookup

​點讚 4

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _create_joint_embedding_lookup(columns_to_tensors,

embedding_lookup_arguments,

num_outputs,

trainable,

weight_collections):

"""Creates an embedding lookup for all columns sharing a single weight."""

for arg in embedding_lookup_arguments:

assert arg.weight_tensor is None, (

'Joint sums for weighted sparse columns are not supported. '

'Please use weighted_sum_from_feature_columns instead.')

assert arg.combiner == 'sum', (

'Combiners other than sum are not supported for joint sums. '

'Please use weighted_sum_from_feature_columns instead.')

assert len(embedding_lookup_arguments) >= 1, (

'At least one column must be in the model.')

prev_size = 0

sparse_tensors = []

for a in embedding_lookup_arguments:

t = a.input_tensor

values = t.values + prev_size

prev_size += a.vocab_size

sparse_tensors.append(

sparse_tensor_py.SparseTensor(t.indices,

values,

t.dense_shape))

sparse_tensor = sparse_ops.sparse_concat(1, sparse_tensors)

with variable_scope.variable_scope(

None, default_name='linear_weights', values=columns_to_tensors.values()):

variable = contrib_variables.model_variable(

name='weights',

shape=[prev_size, num_outputs],

dtype=dtypes.float32,

initializer=init_ops.zeros_initializer(),

trainable=trainable,

collections=weight_collections)

if fc._is_variable(variable): # pylint: disable=protected-access

variable = [variable]

else:

variable = variable._get_variable_list() # pylint: disable=protected-access

predictions = embedding_ops.safe_embedding_lookup_sparse(

variable,

sparse_tensor,

sparse_weights=None,

combiner='sum',

name='_weights')

return variable, predictions

開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:48,

示例14: bow_encoder

​點讚 4

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def bow_encoder(ids,

vocab_size,

embed_dim,

sparse_lookup=True,

initializer=None,

regularizer=None,

trainable=True,

scope=None,

reuse=None):

"""Maps a sequence of symbols to a vector per example by averaging embeddings.

Args:

ids: `[batch_size, doc_length]` `Tensor` or `SparseTensor` of type

`int32` or `int64` with symbol ids.

vocab_size: Integer number of symbols in vocabulary.

embed_dim: Integer number of dimensions for embedding matrix.

sparse_lookup: `bool`, if `True`, converts ids to a `SparseTensor`

and performs a sparse embedding lookup. This is usually faster,

but not desirable if padding tokens should have an embedding. Empty rows

are assigned a special embedding.

initializer: An initializer for the embeddings, if `None` default for

current scope is used.

regularizer: Optional regularizer for the embeddings.

trainable: If `True` also add variables to the graph collection

`GraphKeys.TRAINABLE_VARIABLES` (see tf.Variable).

scope: Optional string specifying the variable scope for the op, required

if `reuse=True`.

reuse: If `True`, variables inside the op will be reused.

Returns:

Encoding `Tensor` `[batch_size, embed_dim]` produced by

averaging embeddings.

Raises:

ValueError: If `embed_dim` or `vocab_size` are not specified.

"""

if not vocab_size or not embed_dim:

raise ValueError('Must specify vocab size and embedding dimension')

with variable_scope.variable_scope(

scope, 'bow_encoder', [ids], reuse=reuse):

embeddings = variables.model_variable(

'embeddings', shape=[vocab_size, embed_dim],

initializer=initializer, regularizer=regularizer,

trainable=trainable)

if sparse_lookup:

if isinstance(ids, sparse_tensor.SparseTensor):

sparse_ids = ids

else:

sparse_ids = sparse_ops.dense_to_sparse_tensor(ids)

return contrib_embedding_ops.safe_embedding_lookup_sparse(

[embeddings], sparse_ids, combiner='mean', default_id=0)

else:

if isinstance(ids, sparse_tensor.SparseTensor):

raise TypeError('ids are expected to be dense Tensor, got: %s', ids)

return math_ops.reduce_mean(

embedding_ops.embedding_lookup(embeddings, ids),

reduction_indices=1)

開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:59,

示例15: _create_joint_embedding_lookup

​點讚 4

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _create_joint_embedding_lookup(columns_to_tensors,

embedding_lookup_arguments,

num_outputs,

trainable,

weight_collections):

"""Creates an embedding lookup for all columns sharing a single weight."""

for arg in embedding_lookup_arguments:

assert arg.weight_tensor is None, (

'Joint sums for weighted sparse columns are not supported. '

'Please use weighted_sum_from_feature_columns instead.')

assert arg.combiner == 'sum', (

'Combiners other than sum are not supported for joint sums. '

'Please use weighted_sum_from_feature_columns instead.')

assert len(embedding_lookup_arguments) >= 1, (

'At least one column must be in the model.')

prev_size = 0

sparse_tensors = []

for a in embedding_lookup_arguments:

t = a.input_tensor

values = t.values + prev_size

prev_size += a.vocab_size

sparse_tensors.append(

sparse_tensor_py.SparseTensor(t.indices,

values,

t.dense_shape))

sparse_tensor = sparse_ops.sparse_concat(1, sparse_tensors)

with variable_scope.variable_scope(

None, default_name='linear_weights', values=columns_to_tensors.values()):

variable = contrib_variables.model_variable(

name='weights',

shape=[prev_size, num_outputs],

dtype=dtypes.float32,

initializer=init_ops.zeros_initializer(),

trainable=trainable,

collections=weight_collections)

if isinstance(variable, variables.Variable):

variable = [variable]

else:

variable = variable._get_variable_list() # pylint: disable=protected-access

predictions = embedding_ops.safe_embedding_lookup_sparse(

variable,

sparse_tensor,

sparse_weights=None,

combiner='sum',

name='_weights')

return variable, predictions

開發者ID:abhisuri97,項目名稱:auto-alt-text-lambda-api,代碼行數:48,

示例16: _create_joint_embedding_lookup

​點讚 4

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def _create_joint_embedding_lookup(columns_to_tensors,

embedding_lookup_arguments,

num_outputs,

trainable,

weight_collections):

"""Creates an embedding lookup for all columns sharing a single weight."""

for arg in embedding_lookup_arguments:

assert arg.weight_tensor is None, (

'Joint sums for weighted sparse columns are not supported. '

'Please use weighted_sum_from_feature_columns instead.')

assert arg.combiner == 'sum', (

'Combiners other than sum are not supported for joint sums. '

'Please use weighted_sum_from_feature_columns instead.')

assert len(embedding_lookup_arguments) >= 1, (

'At least one column must be in the model.')

prev_size = 0

sparse_tensors = []

for a in embedding_lookup_arguments:

t = a.input_tensor

values = t.values + prev_size

prev_size += a.vocab_size

sparse_tensors.append(

sparse_tensor_py.SparseTensor(t.indices,

values,

t.shape))

sparse_tensor = sparse_ops.sparse_concat(1, sparse_tensors)

with variable_scope.variable_scope(

None, default_name='linear_weights', values=columns_to_tensors.values()):

variable = contrib_variables.model_variable(

name='weights',

shape=[prev_size, num_outputs],

dtype=dtypes.float32,

initializer=init_ops.zeros_initializer,

trainable=trainable,

collections=weight_collections)

if isinstance(variable, variables.Variable):

variable = [variable]

else:

variable = variable._get_variable_list() # pylint: disable=protected-access

predictions = embedding_ops.safe_embedding_lookup_sparse(

variable,

sparse_tensor,

sparse_weights=None,

combiner='sum',

name='_weights')

return variable, predictions

開發者ID:tobegit3hub,項目名稱:deep_image_model,代碼行數:48,

示例17: embed_sequence

​點讚 4

# 需要導入模塊: from tensorflow.contrib.framework.python.ops import variables [as 別名]

# 或者: from tensorflow.contrib.framework.python.ops.variables import model_variable [as 別名]

def embed_sequence(ids,

vocab_size=None,

embed_dim=None,

unique=False,

initializer=None,

regularizer=None,

trainable=True,

scope=None,

reuse=None):

"""Maps a sequence of symbols to a sequence of embeddings.

Typical use case would be reusing embeddings between an encoder and decoder.

Args:

ids: `[batch_size, doc_length]` `Tensor` of type `int32` or `int64`

with symbol ids.

vocab_size: Integer number of symbols in vocabulary.

embed_dim: Integer number of dimensions for embedding matrix.

unique: If `True`, will first compute the unique set of indices, and then

lookup each embedding once, repeating them in the output as needed.

initializer: An initializer for the embeddings, if `None` default for

current scope is used.

regularizer: Optional regularizer for the embeddings.

trainable: If `True` also add variables to the graph collection

`GraphKeys.TRAINABLE_VARIABLES` (see `tf.Variable`).

scope: Optional string specifying the variable scope for the op, required

if `reuse=True`.

reuse: If `True`, variables inside the op will be reused.

Returns:

`Tensor` of `[batch_size, doc_length, embed_dim]` with embedded sequences.

Raises:

ValueError: if `embed_dim` or `vocab_size` are not specified when not

`reuse` is `None` or `False`.

"""

if not (reuse or (vocab_size and embed_dim)):

raise ValueError('Must specify vocab size and embedding dimension when not'

'reusing. Got vocab_size=%s and embed_dim=%s' % (

vocab_size, embed_dim))

with variable_scope.variable_scope(

scope, 'EmbedSequence', [ids], reuse=reuse):

shape = [vocab_size, embed_dim]

if reuse and vocab_size is None or embed_dim is None:

shape = None

embeddings = variables.model_variable(

'embeddings', shape=shape,

initializer=initializer, regularizer=regularizer,

trainable=trainable)

if unique:

return contrib_embedding_ops.embedding_lookup_unique(embeddings, ids)

return embedding_ops.embedding_lookup(embeddings, ids)

開發者ID:tobegit3hub,項目名稱:deep_image_model,代碼行數:54,

注:本文中的tensorflow.contrib.framework.python.ops.variables.model_variable方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值