MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / _clone_variable

Method _clone_variable

python/paddle/base/framework.py:5071–5116  ·  view source on GitHub ↗

Clone a variable into current block. Args: var: the variable to be cloned. force_persistable(bool): True means setting the result variable to being persistable. False means setting the persistable the same with that of in

(self, var, force_persistable=True)

Source from the content-addressed store, hash-verified

5069 self.vars[new_p.name] = new_p
5070
5071 def _clone_variable(self, var, force_persistable=True):
5072 """
5073 Clone a variable into current block.
5074
5075 Args:
5076 var: the variable to be cloned.
5077 force_persistable(bool): True means setting the result variable to being persistable.
5078 False means setting the persistable the same with that of input var.
5079 default: True.
5080
5081 Returns:
5082 Variable: the new variable cloned from 'var' in current block.
5083 """
5084 assert isinstance(var, Variable)
5085 ret_var = None
5086 # make STEP_SCOPES var can be safely cloned.
5087 if var.type == core.VarDesc.VarType.STEP_SCOPES:
5088 ret_var = self.create_var(
5089 name=var.name, persistable=var.persistable, type=var.type
5090 )
5091 elif var.type == core.VarDesc.VarType.RAW:
5092 ret_var = self.create_var(
5093 name=var.name, persistable=var.persistable, type=var.type
5094 )
5095 elif var.type == core.VarDesc.VarType.SELECTED_ROWS:
5096 ret_var = self.create_var(
5097 name=var.name,
5098 shape=var.shape,
5099 dtype=var.dtype,
5100 type=var.type,
5101 persistable=True if force_persistable else var.persistable,
5102 is_data=var.is_data,
5103 need_check_feed=var.desc.need_check_feed(),
5104 )
5105 else:
5106 ret_var = self.create_var(
5107 name=var.name,
5108 shape=var.shape,
5109 dtype=var.dtype,
5110 type=var.type,
5111 lod_level=var.lod_level,
5112 persistable=True if force_persistable else var.persistable,
5113 is_data=var.is_data,
5114 need_check_feed=var.desc.need_check_feed(),
5115 )
5116 return ret_var
5117
5118
5119# NOTE(zjl): you should be careful that after you call this method,

Callers 15

convertFunction · 0.80
__init__Method · 0.80
_get_decay_powMethod · 0.80
get_feed_listMethod · 0.80
_prepare_dataloaderMethod · 0.80
get_startup_programMethod · 0.80
_clone_lr_opMethod · 0.80

Calls 1

create_varMethod · 0.95

Tested by

no test coverage detected