'Returns a deep copy of the input object.
This function returns a deep copy of the input object including the current state
of all its parameters such as weights, biases, etc.
Any changes made to the deep copy do not reflect in the original object.
Example usage:
>>> import copy
>>> data = mx.sym.Variable(\'data\')
>>> data_1 = copy.deepcopy(data)
>>> data_1 = 2*data
>>> data_1.tojson()
>>> data_1 is data    # Data got modified
False'

def __deepcopy__(self, _):

    handle = SymbolHandle()
    check_call(_LIB.MXSymbolCopy(self.handle, ctypes.byref(handle)))
    return Symbol(handle)
