未验证 提交 f1bc322c 编写于 作者: Z zhiboniu 提交者: GitHub

update 2.0 public api in tensor (#32026)

上级 0bc97e92
...@@ -325,13 +325,7 @@ def monkey_patch_math_varbase(): ...@@ -325,13 +325,7 @@ def monkey_patch_math_varbase():
else: else:
import paddle.tensor import paddle.tensor
# Tensor method from module paddle.tensor # Tensor method from module paddle.tensor
tensor_methods = paddle.tensor.linalg.__all__ + \ tensor_methods = paddle.tensor.tensor_method_func
paddle.tensor.math.__all__ + \
paddle.tensor.logic.__all__ + \
paddle.tensor.manipulation.__all__ + \
paddle.tensor.search.__all__ + \
paddle.tensor.stat.__all__ + \
paddle.tensor.attribute.__all__
for method_name in tensor_methods: for method_name in tensor_methods:
if hasattr(core.VarBase, method_name): continue if hasattr(core.VarBase, method_name): continue
method_impl = getattr(paddle.tensor, method_name, None) method_impl = getattr(paddle.tensor, method_name, None)
......
...@@ -370,13 +370,7 @@ def monkey_patch_variable(): ...@@ -370,13 +370,7 @@ def monkey_patch_variable():
setattr(Variable, method_name, method_impl) setattr(Variable, method_name, method_impl)
else: else:
import paddle.tensor import paddle.tensor
variabel_methods = paddle.tensor.linalg.__all__ + \ variabel_methods = paddle.tensor.tensor_method_func
paddle.tensor.math.__all__ + \
paddle.tensor.logic.__all__ + \
paddle.tensor.manipulation.__all__ + \
paddle.tensor.search.__all__ + \
paddle.tensor.stat.__all__ + \
paddle.tensor.attribute.__all__
for method_name in variabel_methods: for method_name in variabel_methods:
if hasattr(Variable, method_name): continue if hasattr(Variable, method_name): continue
method_impl = getattr(paddle.tensor, method_name, None) method_impl = getattr(paddle.tensor, method_name, None)
......
...@@ -11,205 +11,315 @@ ...@@ -11,205 +11,315 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from __future__ import print_function
#from .math import * from .attribute import rank # noqa: F401
#from .creation import * from .attribute import shape # noqa: F401
#from .linalg import * from .attribute import real # noqa: F401
from .attribute import imag # noqa: F401
from .creation import to_tensor # noqa: F401
from .creation import diag # noqa: F401
from .creation import eye # noqa: F401
from .creation import linspace # noqa: F401
from .creation import ones # noqa: F401
from .creation import ones_like # noqa: F401
from .creation import zeros # noqa: F401
from .creation import zeros_like # noqa: F401
from .creation import arange # noqa: F401
from .creation import eye # noqa: F401
from .creation import full # noqa: F401
from .creation import full_like # noqa: F401
from .creation import triu # noqa: F401
from .creation import tril # noqa: F401
from .creation import meshgrid # noqa: F401
from .creation import empty # noqa: F401
from .creation import empty_like # noqa: F401
from .linalg import matmul # noqa: F401
from .linalg import dot # noqa: F401
from .linalg import norm # noqa: F401
from .linalg import transpose # noqa: F401
from .linalg import dist # noqa: F401
from .linalg import t # noqa: F401
from .linalg import cross # noqa: F401
from .linalg import cholesky # noqa: F401
from .linalg import bmm # noqa: F401
from .linalg import histogram # noqa: F401
from .linalg import mv # noqa: F401
from .logic import equal # noqa: F401
from .logic import greater_equal # noqa: F401
from .logic import greater_than # noqa: F401
from .logic import is_empty # noqa: F401
from .logic import less_equal # noqa: F401
from .logic import less_than # noqa: F401
from .logic import logical_and # noqa: F401
from .logic import logical_not # noqa: F401
from .logic import logical_or # noqa: F401
from .logic import logical_xor # noqa: F401
from .logic import not_equal # noqa: F401
from .logic import allclose # noqa: F401
from .logic import equal_all # noqa: F401
from .logic import is_tensor # noqa: F401
from .manipulation import cast # noqa: F401
from .manipulation import concat # noqa: F401
from .manipulation import expand # noqa: F401
from .manipulation import broadcast_to # noqa: F401
from .manipulation import expand_as # noqa: F401
from .manipulation import tile # noqa: F401
from .manipulation import flatten # noqa: F401
from .manipulation import gather # noqa: F401
from .manipulation import gather_nd # noqa: F401
from .manipulation import reshape # noqa: F401
from .manipulation import reshape_ # noqa: F401
from .manipulation import flip as reverse # noqa: F401
from .manipulation import scatter # noqa: F401
from .manipulation import scatter_ # noqa: F401
from .manipulation import scatter_nd_add # noqa: F401
from .manipulation import scatter_nd # noqa: F401
from .manipulation import shard_index # noqa: F401
from .manipulation import slice # noqa: F401
from .manipulation import split # noqa: F401
from .manipulation import squeeze # noqa: F401
from .manipulation import squeeze_ # noqa: F401
from .manipulation import stack # noqa: F401
from .manipulation import strided_slice # noqa: F401
from .manipulation import transpose # noqa: F401
from .manipulation import unique # noqa: F401
from .manipulation import unsqueeze # noqa: F401
from .manipulation import unsqueeze_ # noqa: F401
from .manipulation import unstack # noqa: F401
from .manipulation import flip # noqa: F401
from .manipulation import unbind # noqa: F401
from .manipulation import roll # noqa: F401
from .manipulation import chunk # noqa: F401
from .math import abs # noqa: F401
from .math import acos # noqa: F401
from .math import asin # noqa: F401
from .math import atan # noqa: F401
from .math import ceil # noqa: F401
from .math import cos # noqa: F401
from .math import tan # noqa: F401
from .math import cosh # noqa: F401
from .math import cumsum # noqa: F401
from .math import exp # noqa: F401
from .math import floor # noqa: F401
from .math import increment # noqa: F401
from .math import log # noqa: F401
from .math import multiplex # noqa: F401
from .math import pow # noqa: F401
from .math import reciprocal # noqa: F401
from .math import round # noqa: F401
from .math import rsqrt # noqa: F401
from .math import scale # noqa: F401
from .math import sign # noqa: F401
from .math import sin # noqa: F401
from .math import sinh # noqa: F401
from .math import sqrt # noqa: F401
from .math import square # noqa: F401
from .math import stanh # noqa: F401
from .math import sum # noqa: F401
from .math import tanh # noqa: F401
from .math import tanh_ # noqa: F401
from .math import add_n # noqa: F401
from .math import max # noqa: F401
from .math import maximum # noqa: F401
from .math import min # noqa: F401
from .math import minimum # noqa: F401
from .math import mm # noqa: F401
from .math import divide # noqa: F401
from .math import floor_divide # noqa: F401
from .math import remainder # noqa: F401
from .math import mod # noqa: F401
from .math import floor_mod # noqa: F401
from .math import multiply # noqa: F401
from .math import add # noqa: F401
from .math import subtract # noqa: F401
from .math import atan # noqa: F401
from .math import logsumexp # noqa: F401
from .math import inverse # noqa: F401
from .math import log2 # noqa: F401
from .math import log10 # noqa: F401
from .math import log1p # noqa: F401
from .math import erf # noqa: F401
from .math import addmm # noqa: F401
from .math import clip # noqa: F401
from .math import trace # noqa: F401
from .math import kron # noqa: F401
from .math import isfinite # noqa: F401
from .math import isinf # noqa: F401
from .math import isnan # noqa: F401
from .math import prod # noqa: F401
from .math import all # noqa: F401
from .math import any # noqa: F401
from .math import broadcast_shape # noqa: F401
from .math import conj # noqa: F401
# TODO: define alias in tensor and framework directory from .random import multinomial # noqa: F401
from .random import standard_normal # noqa: F401
from .random import normal # noqa: F401
from .random import uniform # noqa: F401
from .random import randn # noqa: F401
from .random import rand # noqa: F401
from .random import randint # noqa: F401
from .random import randperm # noqa: F401
from .search import argmax # noqa: F401
from .search import argmin # noqa: F401
from .search import argsort # noqa: F401
from .search import topk # noqa: F401
from .search import where # noqa: F401
from .search import index_select # noqa: F401
from .search import nonzero # noqa: F401
from .search import sort # noqa: F401
from .search import index_sample # noqa: F401
from .search import masked_select # noqa: F401
from .stat import mean # noqa: F401
from .stat import std # noqa: F401
from .stat import var # noqa: F401
from .stat import numel # noqa: F401
from .stat import median # noqa: F401
from .to_string import set_printoptions # noqa: F401
from .random import randperm from .array import array_length # noqa: F401
from .attribute import rank #DEFINE_ALIAS from .array import array_read # noqa: F401
from .attribute import shape #DEFINE_ALIAS from .array import array_write # noqa: F401
from .attribute import real #DEFINE_ALIAS from .array import create_array # noqa: F401
from .attribute import imag #DEFINE_ALIAS
from .creation import to_tensor #DEFINE_ALIAS
from .creation import diag #DEFINE_ALIAS
from .creation import eye #DEFINE_ALIAS
# from .creation import fill_constant #DEFINE_ALIAS
# from .creation import get_tensor_from_selected_rows #DEFINE_ALIAS
from .creation import linspace #DEFINE_ALIAS
from .creation import ones #DEFINE_ALIAS
from .creation import ones_like #DEFINE_ALIAS
from .creation import zeros #DEFINE_ALIAS
from .creation import zeros_like #DEFINE_ALIAS
from .creation import arange #DEFINE_ALIAS
from .creation import eye #DEFINE_ALIAS
from .creation import full #DEFINE_ALIAS
from .creation import full_like #DEFINE_ALIAS
from .creation import triu #DEFINE_ALIAS
from .creation import tril #DEFINE_ALIAS
from .creation import meshgrid #DEFINE_ALIAS
from .creation import empty #DEFINE_ALIAS
from .creation import empty_like #DEFINE_ALIAS
from .linalg import matmul #DEFINE_ALIAS
from .linalg import dot #DEFINE_ALIAS
# from .linalg import einsum #DEFINE_ALIAS
from .linalg import norm #DEFINE_ALIAS
from .linalg import transpose #DEFINE_ALIAS
from .linalg import dist #DEFINE_ALIAS
from .linalg import t #DEFINE_ALIAS
from .linalg import cross #DEFINE_ALIAS
from .linalg import cholesky #DEFINE_ALIAS
# from .linalg import tensordot #DEFINE_ALIAS
from .linalg import bmm #DEFINE_ALIAS
from .linalg import histogram #DEFINE_ALIAS
from .linalg import mv #DEFINE_ALIAS
from .logic import equal #DEFINE_ALIAS
from .logic import greater_equal #DEFINE_ALIAS
from .logic import greater_than #DEFINE_ALIAS
from .logic import is_empty #DEFINE_ALIAS
#from .logic import isfinite #DEFINE_ALIAS
from .logic import less_equal #DEFINE_ALIAS
from .logic import less_than #DEFINE_ALIAS
from .logic import logical_and #DEFINE_ALIAS
from .logic import logical_not #DEFINE_ALIAS
from .logic import logical_or #DEFINE_ALIAS
from .logic import logical_xor #DEFINE_ALIAS
from .logic import not_equal #DEFINE_ALIAS
from .logic import allclose #DEFINE_ALIAS
from .logic import equal_all #DEFINE_ALIAS
# from .logic import isnan #DEFINE_ALIAS
from .logic import is_tensor #DEFINE_ALIAS
from .manipulation import cast #DEFINE_ALIAS
from .manipulation import concat #DEFINE_ALIAS
from .manipulation import expand #DEFINE_ALIAS
from .manipulation import broadcast_to #DEFINE_ALIAS
from .manipulation import expand_as #DEFINE_ALIAS
from .manipulation import tile #DEFINE_ALIAS
from .manipulation import flatten #DEFINE_ALIAS
from .manipulation import gather #DEFINE_ALIAS
from .manipulation import gather_nd #DEFINE_ALIAS
from .manipulation import reshape #DEFINE_ALIAS
from .manipulation import reshape_ #DEFINE_ALIAS
from .manipulation import flip as reverse #DEFINE_ALIAS
from .manipulation import scatter #DEFINE_ALIAS
from .manipulation import scatter_ #DEFINE_ALIAS
from .manipulation import scatter_nd_add #DEFINE_ALIAS
from .manipulation import scatter_nd #DEFINE_ALIAS
from .manipulation import shard_index #DEFINE_ALIAS
from .manipulation import slice #DEFINE_ALIAS
from .manipulation import split #DEFINE_ALIAS
from .manipulation import squeeze #DEFINE_ALIAS
from .manipulation import squeeze_ #DEFINE_ALIAS
from .manipulation import stack #DEFINE_ALIAS
from .manipulation import strided_slice #DEFINE_ALIAS
from .manipulation import transpose #DEFINE_ALIAS
from .manipulation import unique #DEFINE_ALIAS
from .manipulation import unsqueeze #DEFINE_ALIAS
from .manipulation import unsqueeze_ #DEFINE_ALIAS
from .manipulation import unstack #DEFINE_ALIAS
from .manipulation import flip #DEFINE_ALIAS
from .manipulation import unbind #DEFINE_ALIAS
from .manipulation import roll #DEFINE_ALIAS
from .manipulation import chunk #DEFINE_ALIAS
from .math import abs #DEFINE_ALIAS
from .math import acos #DEFINE_ALIAS
from .math import asin #DEFINE_ALIAS
from .math import atan #DEFINE_ALIAS
from .math import ceil #DEFINE_ALIAS
from .math import cos #DEFINE_ALIAS
from .math import tan #DEFINE_ALIAS
from .math import cosh #DEFINE_ALIAS
from .math import cumsum #DEFINE_ALIAS
# from .math import elementwise_add #DEFINE_ALIAS
# from .math import elementwise_div #DEFINE_ALIAS
# from .math import elementwise_floordiv #DEFINE_ALIAS
# from .math import elementwise_mul #DEFINE_ALIAS
# from .math import elementwise_mod #DEFINE_ALIAS
# from .math import elementwise_pow #DEFINE_ALIAS
# from .math import elementwise_sub #DEFINE_ALIAS
from .math import exp #DEFINE_ALIAS
from .math import floor #DEFINE_ALIAS
from .math import increment #DEFINE_ALIAS
from .math import log #DEFINE_ALIAS
from .math import multiplex #DEFINE_ALIAS
from .math import pow #DEFINE_ALIAS
from .math import reciprocal #DEFINE_ALIAS
# from .math import reduce_max #DEFINE_ALIAS
# from .math import reduce_min #DEFINE_ALIAS
# from .math import reduce_prod #DEFINE_ALIAS
# from .math import reduce_sum #DEFINE_ALIAS
from .math import round #DEFINE_ALIAS
from .math import rsqrt #DEFINE_ALIAS
from .math import scale #DEFINE_ALIAS
from .math import sign #DEFINE_ALIAS
from .math import sin #DEFINE_ALIAS
from .math import sinh #DEFINE_ALIAS
from .math import sqrt #DEFINE_ALIAS
from .math import square #DEFINE_ALIAS
from .math import stanh #DEFINE_ALIAS
from .math import sum #DEFINE_ALIAS
from .math import tanh #DEFINE_ALIAS
from .math import tanh_ #DEFINE_ALIAS
from .math import add_n #DEFINE_ALIAS
from .math import max #DEFINE_ALIAS
from .math import maximum #DEFINE_ALIAS
from .math import min #DEFINE_ALIAS
from .math import minimum #DEFINE_ALIAS
from .math import mm #DEFINE_ALIAS
from .math import divide #DEFINE_ALIAS
from .math import floor_divide #DEFINE_ALIAS
from .math import remainder #DEFINE_ALIAS
from .math import mod #DEFINE_ALIAS
from .math import floor_mod #DEFINE_ALIAS
from .math import multiply #DEFINE_ALIAS
from .math import add #DEFINE_ALIAS
from .math import subtract #DEFINE_ALIAS
from .math import atan #DEFINE_ALIAS
from .math import logsumexp #DEFINE_ALIAS
from .math import inverse #DEFINE_ALIAS
from .math import log2 #DEFINE_ALIAS
from .math import log10 #DEFINE_ALIAS
from .math import log1p #DEFINE_ALIAS
from .math import erf #DEFINE_ALIAS
from .math import addmm #DEFINE_ALIAS
from .math import clip #DEFINE_ALIAS
from .math import trace #DEFINE_ALIAS
from .math import kron #DEFINE_ALIAS
from .math import isfinite #DEFINE_ALIAS
from .math import isinf #DEFINE_ALIAS
from .math import isnan #DEFINE_ALIAS
from .math import prod #DEFINE_ALIAS
from .math import all #DEFINE_ALIAS
from .math import any #DEFINE_ALIAS
from .math import broadcast_shape #DEFINE_ALIAS
from .math import conj #DEFINE_ALIAS
from .random import multinomial #DEFINE_ALIAS #this list used in math_op_patch.py for _binary_creator_
from .random import standard_normal tensor_method_func = [ #noqa
from .random import normal 'matmul',
from .random import uniform #DEFINE_ALIAS 'dot',
from .random import randn #DEFINE_ALIAS 'norm',
from .random import rand #DEFINE_ALIAS 'transpose',
from .random import randint #DEFINE_ALIAS 'dist',
from .random import randperm #DEFINE_ALIAS 't',
from .search import argmax #DEFINE_ALIAS 'cross',
from .search import argmin #DEFINE_ALIAS 'cholesky',
from .search import argsort #DEFINE_ALIAS 'bmm',
# from .search import has_inf #DEFINE_ALIAS 'histogram',
# from .search import has_nan #DEFINE_ALIAS 'mv',
# from .search import masked_select #DEFINE_ALIAS 'abs',
from .search import topk #DEFINE_ALIAS 'acos',
from .search import where #DEFINE_ALIAS 'all',
from .search import index_select #DEFINE_ALIAS 'any',
from .search import nonzero #DEFINE_ALIAS 'asin',
from .search import sort #DEFINE_ALIAS 'atan',
from .search import index_sample #DEFINE_ALIAS 'ceil',
from .search import masked_select #DEFINE_ALIAS 'cos',
from .stat import mean #DEFINE_ALIAS 'cosh',
# from .stat import reduce_mean #DEFINE_ALIAS 'cumsum',
from .stat import std #DEFINE_ALIAS 'exp',
from .stat import var #DEFINE_ALIAS 'floor',
from .stat import numel #DEFINE_ALIAS 'increment',
from .stat import median #DEFINE_ALIAS 'log',
# from .tensor import Tensor #DEFINE_ALIAS 'log2',
# from .tensor import LoDTensor #DEFINE_ALIAS 'log10',
# from .tensor import LoDTensorArray #DEFINE_ALIAS 'logsumexp',
from .to_string import set_printoptions #DEFINE_ALIAS 'mul',
'multiplex',
from .array import array_length #DEFINE_ALIAS 'pow',
from .array import array_read #DEFINE_ALIAS 'prod',
from .array import array_write #DEFINE_ALIAS 'reciprocal',
from .array import create_array #DEFINE_ALIAS 'round',
'rsqrt',
'scale',
'sign',
'sin',
'sinh',
'sqrt',
'square',
'stanh',
'sum',
'tanh',
'tanh_',
'add_n',
'max',
'maximum',
'min',
'minimum',
'mm',
'divide',
'floor_divide',
'remainder',
'mod',
'floor_mod',
'multiply',
'add',
'subtract',
'atan',
'logsumexp',
'inverse',
'log1p',
'erf',
'addmm',
'clip',
'trace',
'kron',
'isfinite',
'isinf',
'isnan',
'broadcast_shape',
'conj',
'equal',
'equal_all',
'greater_equal',
'greater_than',
'is_empty',
'less_equal',
'less_than',
'logical_and',
'logical_not',
'logical_or',
'logical_xor',
'not_equal',
'allclose',
'is_tensor',
'cast',
'concat',
'expand',
'broadcast_to',
'expand_as',
'flatten',
'gather',
'gather_nd',
'reshape',
'reshape_',
'reverse',
'scatter',
'scatter_',
'scatter_nd_add',
'scatter_nd',
'shard_index',
'slice',
'split',
'chunk',
'squeeze',
'squeeze_',
'stack',
'strided_slice',
'transpose',
'unique',
'unsqueeze',
'unsqueeze_',
'unstack',
'flip',
'unbind',
'roll',
'tile',
'argmax',
'argmin',
'argsort',
'masked_select',
'topk',
'where',
'index_select',
'nonzero',
'sort',
'index_sample',
'mean',
'std',
'var',
'numel',
'median',
'rank',
'shape',
'real',
'imag'
]
...@@ -19,10 +19,8 @@ from ..fluid.layer_helper import LayerHelper ...@@ -19,10 +19,8 @@ from ..fluid.layer_helper import LayerHelper
from ..fluid.data_feeder import check_variable_and_dtype from ..fluid.data_feeder import check_variable_and_dtype
# TODO: define functions to get tensor attributes # TODO: define functions to get tensor attributes
from ..fluid.layers import rank #DEFINE_ALIAS from ..fluid.layers import rank # noqa: F401
from ..fluid.layers import shape #DEFINE_ALIAS from ..fluid.layers import shape # noqa: F401
__all__ = ['rank', 'shape', 'real', 'imag']
def _complex_to_real_dtype(dtype): def _complex_to_real_dtype(dtype):
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
from __future__ import print_function from __future__ import print_function
import numpy as np import numpy as np
from paddle.common_ops_import import fill_constant
from ..fluid.layers import utils
from ..fluid.layers import tensor from ..fluid.layers import tensor
from ..fluid.framework import Variable from ..fluid.framework import Variable
...@@ -25,32 +27,10 @@ from ..fluid.layers import core ...@@ -25,32 +27,10 @@ from ..fluid.layers import core
from ..fluid.layer_helper import LayerHelper from ..fluid.layer_helper import LayerHelper
from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtype, convert_dtype from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtype, convert_dtype
from ..fluid.framework import convert_np_dtype_to_dtype_, in_dygraph_mode, _varbase_creator, device_guard, OpProtoHolder from ..fluid.framework import convert_np_dtype_to_dtype_, in_dygraph_mode, _varbase_creator, device_guard, OpProtoHolder
from paddle.common_ops_import import *
# TODO: define functions to get create a tensor # TODO: define functions to get create a tensor
from ..fluid.layers import linspace #DEFINE_ALIAS from ..fluid.layers import linspace # noqa: F401
import paddle import paddle
__all__ = [
'to_tensor',
'diag',
# 'get_tensor_from_selected_rows',
'linspace',
'ones',
'ones_like',
'zeros',
'zeros_like',
'arange',
'eye',
'full',
'full_like',
'empty',
'empty_like',
'triu',
'tril',
'meshgrid',
'assign',
]
@dygraph_only @dygraph_only
def to_tensor(data, dtype=None, place=None, stop_gradient=True): def to_tensor(data, dtype=None, place=None, stop_gradient=True):
...@@ -1060,6 +1040,6 @@ def assign(x, output=None): ...@@ -1060,6 +1040,6 @@ def assign(x, output=None):
result2 = paddle.assign(data) # result2 = [[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]] result2 = paddle.assign(data) # result2 = [[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]]
result3 = paddle.assign(np.array([[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]], dtype='float32')) # result3 = [[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]] result3 = paddle.assign(np.array([[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]], dtype='float32')) # result3 = [[2.5, 2.5], [2.5, 2.5], [2.5, 2.5]]
""" """
check_type(x, 'x', (Variable, numpy.ndarray, list, tuple, float, int, bool), check_type(x, 'x', (Variable, np.ndarray, list, tuple, float, int, bool),
'assign') 'assign')
return tensor.assign(x, output) return tensor.assign(x, output)
...@@ -13,28 +13,13 @@ ...@@ -13,28 +13,13 @@
# limitations under the License. # limitations under the License.
import numpy as np import numpy as np
from paddle.common_ops_import import *
from ..fluid.layer_helper import LayerHelper from ..fluid.layer_helper import LayerHelper
from ..fluid.data_feeder import check_variable_and_dtype, check_type from ..fluid.data_feeder import check_variable_and_dtype, check_type
from ..fluid.framework import in_dygraph_mode, _varbase_creator from ..fluid.framework import in_dygraph_mode, _varbase_creator
from ..fluid.layers import transpose #DEFINE_ALIAS from ..fluid.layers import transpose # noqa: F401
from paddle.common_ops_import import core
__all__ = [ from paddle.common_ops_import import VarDesc
'matmul',
'dot',
# 'einsum',
'norm',
'transpose',
'dist',
't',
'cross',
'cholesky',
# 'tensordot',
'bmm',
'histogram',
'mv'
]
def matmul(x, y, transpose_x=False, transpose_y=False, name=None): def matmul(x, y, transpose_x=False, transpose_y=False, name=None):
......
...@@ -17,33 +17,16 @@ from ..fluid.data_feeder import check_type, check_variable_and_dtype ...@@ -17,33 +17,16 @@ from ..fluid.data_feeder import check_type, check_variable_and_dtype
from ..fluid.layers.layer_function_generator import templatedoc from ..fluid.layers.layer_function_generator import templatedoc
from .. import fluid from .. import fluid
from ..fluid.framework import in_dygraph_mode from ..fluid.framework import in_dygraph_mode
from paddle.common_ops_import import *
from ..framework import VarBase as Tensor from ..framework import VarBase as Tensor
# TODO: define logic functions of a tensor # TODO: define logic functions of a tensor
from ..fluid.layers import is_empty #DEFINE_ALIAS from ..fluid.layers import is_empty # noqa: F401
from ..fluid.layers import logical_and #DEFINE_ALIAS from ..fluid.layers import logical_and # noqa: F401
from ..fluid.layers import logical_not #DEFINE_ALIAS from ..fluid.layers import logical_not # noqa: F401
from ..fluid.layers import logical_or #DEFINE_ALIAS from ..fluid.layers import logical_or # noqa: F401
from ..fluid.layers import logical_xor #DEFINE_ALIAS from ..fluid.layers import logical_xor # noqa: F401
__all__ = [ from paddle.common_ops_import import core
'equal',
'equal_all',
'greater_equal',
'greater_than',
'is_empty',
'less_equal',
'less_than',
'logical_and',
'logical_not',
'logical_or',
'logical_xor',
'not_equal',
'allclose',
'is_tensor'
# 'isnan'
]
def equal_all(x, y, name=None): def equal_all(x, y, name=None):
......
...@@ -23,52 +23,17 @@ from ..fluid.layers import utils ...@@ -23,52 +23,17 @@ from ..fluid.layers import utils
import numpy as np import numpy as np
import six import six
# TODO: define functions to manipulate a tensor # TODO: define functions to manipulate a tensor
from ..fluid.layers import cast #DEFINE_ALIAS from ..fluid.layers import cast # noqa: F401
from ..fluid.layers import slice #DEFINE_ALIAS from ..fluid.layers import slice # noqa: F401
from ..fluid.layers import transpose #DEFINE_ALIAS from ..fluid.layers import transpose # noqa: F401
from ..fluid.layers import unstack #DEFINE_ALIAS from ..fluid.layers import unstack # noqa: F401
from ..fluid.layers import scatter_nd #DEFINE_ALIAS from ..fluid.layers import scatter_nd # noqa: F401
from ..fluid.layers import shard_index #DEFINE_ALIAS from ..fluid.layers import shard_index # noqa: F401
from ..fluid import layers from ..fluid import layers
import paddle import paddle
import warnings import warnings
__all__ = [
'cast',
'concat',
'expand',
'broadcast_to',
'expand_as',
'flatten',
'gather',
'gather_nd',
'reshape',
'reshape_',
'reverse',
'scatter',
'scatter_',
'scatter_nd_add',
'scatter_nd',
'shard_index',
'slice',
'split',
'chunk',
'squeeze',
'squeeze_',
'stack',
'strided_slice',
'transpose',
'unique',
'unsqueeze',
'unsqueeze_',
'unstack',
'flip',
'unbind',
'roll',
'tile',
]
def _print_warning_in_static_mode(api_name): def _print_warning_in_static_mode(api_name):
warnings.warn( warnings.warn(
......
...@@ -17,7 +17,12 @@ math functions ...@@ -17,7 +17,12 @@ math functions
from __future__ import print_function from __future__ import print_function
import numpy as np import numpy as np
from paddle.common_ops_import import * from paddle.common_ops_import import VarDesc
from paddle.common_ops_import import dygraph_only
from paddle.common_ops_import import OpProtoHolder
from paddle.common_ops_import import templatedoc
from paddle.common_ops_import import dygraph_utils
from paddle.tensor import cast from paddle.tensor import cast
import paddle import paddle
from ..fluid import layers from ..fluid import layers
...@@ -29,109 +34,31 @@ from .manipulation import _print_warning_in_static_mode ...@@ -29,109 +34,31 @@ from .manipulation import _print_warning_in_static_mode
# TODO: define math functions # TODO: define math functions
# yapf: disable # yapf: disable
from ..fluid.layers import abs #DEFINE_ALIAS from ..fluid.layers import abs # noqa: F401
from ..fluid.layers import acos #DEFINE_ALIAS from ..fluid.layers import acos # noqa: F401
from ..fluid.layers import asin #DEFINE_ALIAS from ..fluid.layers import asin # noqa: F401
from ..fluid.layers import ceil #DEFINE_ALIAS from ..fluid.layers import ceil # noqa: F401
from ..fluid.layers import cos #DEFINE_ALIAS from ..fluid.layers import cos # noqa: F401
from ..fluid.layers import tan #DEFINE_ALIAS from ..fluid.layers import tan # noqa: F401
from ..fluid.layers import sinh #DEFINE_ALIAS from ..fluid.layers import sinh # noqa: F401
from ..fluid.layers import cosh #DEFINE_ALIAS from ..fluid.layers import cosh # noqa: F401
# from ..fluid.layers import elementwise_add #DEFINE_ALIAS from ..fluid.layers import exp # noqa: F401
# from ..fluid.layers import elementwise_div #DEFINE_ALIAS from ..fluid.layers import floor # noqa: F401
# from ..fluid.layers import elementwise_floordiv #DEFINE_ALIAS from ..fluid.layers import log # noqa: F401
# from ..fluid.layers import elementwise_mod #DEFINE_ALIAS from ..fluid.layers import reciprocal # noqa: F401
# from ..fluid.layers import elementwise_mul #DEFINE_ALIAS from ..fluid.layers import round # noqa: F401
# from ..fluid.layers import elementwise_pow #DEFINE_ALIAS from ..fluid.layers import rsqrt # noqa: F401
# from ..fluid.layers import elementwise_sub #DEFINE_ALIAS from ..fluid.layers import scale # noqa: F401
from ..fluid.layers import exp #DEFINE_ALIAS from ..fluid.layers import square # noqa: F401
from ..fluid.layers import floor #DEFINE_ALIAS from ..fluid.layers import stanh # noqa: F401
from ..fluid.layers import log #DEFINE_ALIAS from ..fluid.layers import atan # noqa: F401
from ..fluid.layers import reciprocal #DEFINE_ALIAS from ..fluid.layers import erf # noqa: F401
# from ..fluid.layers import reduce_max #DEFINE_ALIAS from ..fluid.layers import sqrt # noqa: F401
# from ..fluid.layers import reduce_min #DEFINE_ALIAS from ..fluid.layers import sin # noqa: F401
# from ..fluid.layers import reduce_prod #DEFINE_ALIAS
# from ..fluid.layers import reduce_sum #DEFINE_ALIAS from ..fluid.layers import multiplex # noqa: F401
from ..fluid.layers import round #DEFINE_ALIAS
from ..fluid.layers import rsqrt #DEFINE_ALIAS
from ..fluid.layers import scale #DEFINE_ALIAS
from ..fluid.layers import square #DEFINE_ALIAS
from ..fluid.layers import stanh #DEFINE_ALIAS
from ..fluid.layers import atan #DEFINE_ALIAS
from ..fluid.layers import erf #DEFINE_ALIAS
from ..fluid.layers import sqrt #DEFINE_ALIAS
from ..fluid.layers import sin #DEFINE_ALIAS
from ..fluid.layers import multiplex #DEFINE_ALIAS
from ..fluid import layers from ..fluid import layers
__all__ = [
'abs',
'acos',
'all',
'any',
'asin',
'atan',
'ceil',
'cos',
'cosh',
'cumsum',
'exp',
'floor',
'increment',
'log',
'log2',
'log10',
'logsumexp',
'mul',
'multiplex',
'pow',
'prod',
'reciprocal',
'round',
'rsqrt',
'scale',
'sign',
'sin',
'sinh',
'sqrt',
'square',
'stanh',
'sum',
'tanh',
'tanh_',
'add_n',
'max',
'maximum',
'min',
'minimum',
'mm',
'divide',
'floor_divide',
'remainder',
'mod',
'floor_mod',
'multiply',
'add',
'subtract',
'atan',
'logsumexp',
'inverse',
'log1p',
'erf',
'addmm',
'clip',
'trace',
'kron',
'isfinite',
'isinf',
'isnan',
'broadcast_shape',
'conj'
]
# yapf: enable.
_supported_int_dtype_ = [ _supported_int_dtype_ = [
VarDesc.VarType.UINT8, VarDesc.VarType.UINT8,
VarDesc.VarType.INT8, VarDesc.VarType.INT8,
...@@ -472,8 +399,8 @@ def remainder(x, y, name=None): ...@@ -472,8 +399,8 @@ def remainder(x, y, name=None):
return _elementwise_op(LayerHelper(op_type, **locals())) return _elementwise_op(LayerHelper(op_type, **locals()))
mod = remainder #DEFINE_ALIAS mod = remainder # noqa: F841
floor_mod = remainder #DEFINE_ALIAS floor_mod = remainder # noqa: F841
def multiply(x, y, name=None): def multiply(x, y, name=None):
......
...@@ -21,18 +21,6 @@ from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtyp ...@@ -21,18 +21,6 @@ from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtyp
from ..fluid.layers import utils from ..fluid.layers import utils
import paddle import paddle
__all__ = [
'bernoulli',
'multinomial',
'standard_normal',
'normal',
'uniform',
'randn',
'rand',
'randint',
'randperm',
]
def bernoulli(x, name=None): def bernoulli(x, name=None):
""" """
......
...@@ -16,26 +16,15 @@ import numpy as np ...@@ -16,26 +16,15 @@ import numpy as np
from ..fluid.layer_helper import LayerHelper from ..fluid.layer_helper import LayerHelper
from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtype from ..fluid.data_feeder import check_variable_and_dtype, check_type, check_dtype
from ..fluid import core, layers from ..fluid import core, layers
from paddle.common_ops_import import in_dygraph_mode
from paddle.common_ops_import import convert_np_dtype_to_dtype_
from paddle.common_ops_import import Variable
from paddle.common_ops_import import VarDesc
# TODO: define searching & indexing functions of a tensor # TODO: define searching & indexing functions of a tensor
# from ..fluid.layers import has_inf #DEFINE_ALIAS # from ..fluid.layers import has_inf #DEFINE_ALIAS
# from ..fluid.layers import has_nan #DEFINE_ALIAS # from ..fluid.layers import has_nan #DEFINE_ALIAS
__all__ = [
'argmax',
'argmin',
'argsort',
'masked_select',
'topk',
'where',
'index_select',
'nonzero',
'sort',
'index_sample',
]
from paddle.common_ops_import import *
def argsort(x, axis=-1, descending=False, name=None): def argsort(x, axis=-1, descending=False, name=None):
""" """
......
...@@ -14,8 +14,6 @@ ...@@ -14,8 +14,6 @@
# TODO: define statistical functions of a tensor # TODO: define statistical functions of a tensor
__all__ = ['mean', 'std', 'var', 'numel', 'median']
import numpy as np import numpy as np
from ..fluid.framework import Variable from ..fluid.framework import Variable
from ..fluid.layer_helper import LayerHelper from ..fluid.layer_helper import LayerHelper
......
...@@ -13,9 +13,3 @@ ...@@ -13,9 +13,3 @@
# limitations under the License. # limitations under the License.
# TODO: define the basic tensor classes # TODO: define the basic tensor classes
__all__ = [
# 'Tensor',
# 'LoDTensor',
# 'LoDTensorArray'
]
...@@ -17,8 +17,6 @@ import numpy as np ...@@ -17,8 +17,6 @@ import numpy as np
from paddle.fluid.layers import core from paddle.fluid.layers import core
from paddle.fluid.data_feeder import convert_dtype, check_variable_and_dtype, check_type, check_dtype from paddle.fluid.data_feeder import convert_dtype, check_variable_and_dtype, check_type, check_dtype
__all__ = ['set_printoptions']
class PrintOptions(object): class PrintOptions(object):
precision = 8 precision = 8
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册