Skip to content

Commit 16e73e0

Browse files
authored
hide operator API (#12543)
* hide operator API * update * update api.spec * fix merge * fix test
1 parent 7f9dab1 commit 16e73e0

File tree

13 files changed

+65
-82
lines changed

13 files changed

+65
-82
lines changed

paddle/contrib/float16/float16_transpiler.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ def _adjust_input(self, skip=False):
102102
continue
103103
for input_arg in current_op.input_arg_names:
104104
if input_arg in self.input_map:
105-
current_op.rename_input(input_arg,
106-
self.input_map[input_arg])
105+
current_op._rename_input(input_arg,
106+
self.input_map[input_arg])
107107

108108
def _remove_unused_var(self):
109109
'''
@@ -187,7 +187,7 @@ def find_op(var):
187187
shape=var.shape,
188188
persistable=var.persistable)
189189
find_op(var)
190-
var.op.rename_output(var_name, tmp_var_name)
190+
var.op._rename_output(var_name, tmp_var_name)
191191
self.block._insert_op(
192192
i,
193193
type="cast",

paddle/fluid/API.spec

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,9 @@ paddle.fluid.Program.global_block ArgSpec(args=['self'], varargs=None, keywords=
66
paddle.fluid.Program.list_vars ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)
77
paddle.fluid.Program.parse_from_string ArgSpec(args=['binary_str'], varargs=None, keywords=None, defaults=None)
88
paddle.fluid.Program.to_string ArgSpec(args=['self', 'throw_on_error', 'with_details'], varargs=None, keywords=None, defaults=(False,))
9-
paddle.fluid.Operator.__init__ ArgSpec(args=['self', 'block', 'desc', 'type', 'inputs', 'outputs', 'attrs'], varargs=None, keywords=None, defaults=(None, None, None, None))
10-
paddle.fluid.Operator.all_attrs ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)
11-
paddle.fluid.Operator.attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
12-
paddle.fluid.Operator.attr_type ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
13-
paddle.fluid.Operator.block_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
14-
paddle.fluid.Operator.block_attr_id ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
15-
paddle.fluid.Operator.blocks_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
16-
paddle.fluid.Operator.blocks_attr_ids ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
17-
paddle.fluid.Operator.has_attr ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
18-
paddle.fluid.Operator.has_kernel ArgSpec(args=['self', 'op_type'], varargs=None, keywords=None, defaults=None)
19-
paddle.fluid.Operator.input ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
20-
paddle.fluid.Operator.output ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=None)
21-
paddle.fluid.Operator.rename_input ArgSpec(args=['self', 'old_name', 'new_name'], varargs=None, keywords=None, defaults=None)
22-
paddle.fluid.Operator.rename_output ArgSpec(args=['self', 'old_name', 'new_name'], varargs=None, keywords=None, defaults=None)
23-
paddle.fluid.Operator.set_attr ArgSpec(args=['self', 'name', 'val'], varargs=None, keywords=None, defaults=None)
24-
paddle.fluid.Operator.to_string ArgSpec(args=['self', 'throw_on_error'], varargs=None, keywords=None, defaults=None)
259
paddle.fluid.default_startup_program ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
2610
paddle.fluid.default_main_program ArgSpec(args=[], varargs=None, keywords=None, defaults=None)
2711
paddle.fluid.program_guard ArgSpec(args=[], varargs='args', keywords='kwds', defaults=None)
28-
paddle.fluid.get_var ArgSpec(args=['name', 'program'], varargs=None, keywords=None, defaults=(None,))
2912
paddle.fluid.name_scope ArgSpec(args=[], varargs='args', keywords='kwds', defaults=None)
3013
paddle.fluid.Executor.__init__ ArgSpec(args=['self', 'place'], varargs=None, keywords=None, defaults=None)
3114
paddle.fluid.Executor.close ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None)

paddle/fluid/framework/ir/graph_traits.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
#include "paddle/fluid/framework/ir/graph_traits.h"
1616

17+
#include <vector>
18+
1719
namespace paddle {
1820
namespace framework {
1921
namespace ir {

paddle/fluid/pybind/protobuf.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,12 +285,12 @@ void BindOpDesc(pybind11::module *m) {
285285
.def("set_output", &pd::OpDesc::SetOutput)
286286
.def("input_arg_names", &pd::OpDesc::InputArgumentNames)
287287
.def("output_arg_names", &pd::OpDesc::OutputArgumentNames)
288-
.def("rename_input", &pd::OpDesc::RenameInput)
289-
.def("rename_output", &pd::OpDesc::RenameOutput)
288+
.def("_rename_input", &pd::OpDesc::RenameInput)
289+
.def("_rename_output", &pd::OpDesc::RenameOutput)
290290
.def("has_attr", &pd::OpDesc::HasAttr)
291291
.def("attr_type", &pd::OpDesc::GetAttrType)
292292
.def("attr_names", &pd::OpDesc::AttrNames)
293-
.def("set_attr", &pd::OpDesc::SetAttr)
293+
.def("_set_attr", &pd::OpDesc::SetAttr)
294294
.def("attr", &pd::OpDesc::GetAttr)
295295
.def("set_block_attr", &pd::OpDesc::SetBlockAttr)
296296
.def("set_blocks_attr", &pd::OpDesc::SetBlocksAttr)
@@ -300,8 +300,8 @@ void BindOpDesc(pybind11::module *m) {
300300
std::string ser(seriralized);
301301
self.SetAttr(name, ser);
302302
})
303-
.def("block_attr_id", &pd::OpDesc::GetBlockAttrId)
304-
.def("blocks_attr_ids", &pd::OpDesc::GetBlocksAttrIds)
303+
.def("_block_attr_id", &pd::OpDesc::GetBlockAttrId)
304+
.def("_blocks_attr_ids", &pd::OpDesc::GetBlocksAttrIds)
305305
.def("check_attrs", &pd::OpDesc::CheckAttrs)
306306
.def("infer_shape", &pd::OpDesc::InferShape)
307307
.def("infer_var_type", &pd::OpDesc::InferVarType)

python/paddle/fluid/backward.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ def _rename_arg_(op_descs, old_name, new_name, begin_idx=None, end_idx=None):
3838
op_desc = op_descs[i]
3939
if isinstance(op_desc, tuple):
4040
op_desc = op_desc[0]
41-
op_desc.rename_input(old_name, new_name)
42-
op_desc.rename_output(old_name, new_name)
41+
op_desc._rename_input(old_name, new_name)
42+
op_desc._rename_output(old_name, new_name)
4343

4444

4545
def _create_op_desc_(op_type, inputs, outputs, attrs):
@@ -70,7 +70,7 @@ def _create_op_desc_(op_type, inputs, outputs, attrs):
7070
if isinstance(val, framework.Block):
7171
op_desc.set_block_attr(name, val.desc)
7272
else:
73-
op_desc.set_attr(name, val)
73+
op_desc._set_attr(name, val)
7474
return op_desc
7575

7676

@@ -346,7 +346,7 @@ def _append_backward_ops_(block,
346346
grad_sub_block_list = []
347347
# If the op has its own sub-block, deal with the sub-block first
348348
if op.has_attr("sub_block"):
349-
sub_block = program.block(op.block_attr_id("sub_block"))
349+
sub_block = program.block(op._block_attr_id("sub_block"))
350350
grad_sub_block = program._create_block()
351351
grad_sub_block._set_forward_block_idx(sub_block.idx)
352352
cb = _callback_lookup_(op)
@@ -382,7 +382,7 @@ def _append_backward_ops_(block,
382382
for op_desc in grad_op_descs:
383383
new_op_desc = target_block.desc.append_op()
384384
new_op_desc.copy_from(op_desc)
385-
new_op_desc.set_attr(op_role_attr_name, backward)
385+
new_op_desc._set_attr(op_role_attr_name, backward)
386386
grad_to_var["__current_op_desc__"] = new_op_desc
387387
if callbacks is not None:
388388
assert (isinstance(callbacks, list))
@@ -408,7 +408,7 @@ def _append_backward_vars_(block, start_op_idx, grad_to_var, grad_info_map):
408408
for op_idx in range(start_op_idx, block.desc.op_size()):
409409
op_desc = block.desc.op(op_idx)
410410
if op_desc.has_attr("sub_block"):
411-
sub_block = block.program.block(op_desc.block_attr_id("sub_block"))
411+
sub_block = block.program.block(op_desc._block_attr_id("sub_block"))
412412
_append_backward_vars_(sub_block, 0, grad_to_var, grad_info_map)
413413
new_vars = set()
414414
# create new gradient variables
@@ -438,12 +438,12 @@ def _rename_grad_(block, start_op_idx, grad_to_var, target_grad_map):
438438
op_desc = block.desc.op(op_idx)
439439
for name in op_desc.input_arg_names():
440440
if name in var_map:
441-
op_desc.rename_input(name, var_map[name])
441+
op_desc._rename_input(name, var_map[name])
442442

443443
for name in op_desc.output_arg_names():
444444
if block.desc.find_var(name.encode("ascii")):
445445
new_name = unique_name.generate(name)
446-
op_desc.rename_output(name, new_name)
446+
op_desc._rename_output(name, new_name)
447447
var_map[name] = new_name
448448

449449
for g, ng in six.iteritems(var_map):
@@ -542,9 +542,9 @@ def append_backward(loss, parameter_list=None, no_grad_set=None,
542542
if loss.op is None:
543543
raise ValueError("loss.op is None. Should not happend")
544544

545-
loss.op.set_attr(core.op_proto_and_checker_maker.kOpRoleAttrName(),
546-
int(core.op_proto_and_checker_maker.OpRole.Forward) |
547-
int(core.op_proto_and_checker_maker.OpRole.Loss))
545+
loss.op._set_attr(core.op_proto_and_checker_maker.kOpRoleAttrName(),
546+
int(core.op_proto_and_checker_maker.OpRole.Forward) |
547+
int(core.op_proto_and_checker_maker.OpRole.Loss))
548548

549549
if callbacks is not None:
550550
isinstance(callbacks, list)
@@ -631,7 +631,7 @@ def append_backward(loss, parameter_list=None, no_grad_set=None,
631631
attr_val = [p.name, g.name]
632632
if g.op.has_attr(op_role_var_attr_name):
633633
attr_val.extend(g.op.attr(op_role_var_attr_name))
634-
g.op.set_attr(op_role_var_attr_name, attr_val)
634+
g.op._set_attr(op_role_var_attr_name, attr_val)
635635

636636
return params_and_grads
637637

python/paddle/fluid/clip.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ def _append_clip_op(self, block, grad_name):
7575
clip_op_desc.set_type("clip")
7676
clip_op_desc.set_input("X", [grad_name])
7777
clip_op_desc.set_output("Out", [grad_name])
78-
clip_op_desc.set_attr("min", self.min)
79-
clip_op_desc.set_attr("max", self.max)
78+
clip_op_desc._set_attr("min", self.min)
79+
clip_op_desc._set_attr("max", self.max)
8080

8181

8282
def error_clip_callback(block, context):

python/paddle/fluid/framework.py

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@
4040

4141
__all__ = [
4242
'Program',
43-
'Operator',
4443
'default_startup_program',
4544
'default_main_program',
4645
'program_guard',
47-
'get_var',
4846
'name_scope',
4947
]
5048

@@ -663,11 +661,11 @@ def find_name(var_list, name):
663661
self._update_desc_attr(attr_name, attr_val)
664662

665663
self.desc.check_attrs()
666-
if self.has_kernel(type):
664+
if self._has_kernel(type):
667665
self.desc.infer_var_type(self.block.desc)
668666
self.desc.infer_shape(self.block.desc)
669667

670-
def has_kernel(self, op_type):
668+
def _has_kernel(self, op_type):
671669
return op_type not in self.OP_WITHOUT_KERNEL_SET
672670

673671
def to_string(self, throw_on_error):
@@ -708,7 +706,7 @@ def input(self, name):
708706
"""
709707
return self.desc.input(name)
710708

711-
def rename_input(self, old_name, new_name):
709+
def _rename_input(self, old_name, new_name):
712710
"""
713711
Rename the `old_name` to `new_name`.
714712
@@ -719,9 +717,9 @@ def rename_input(self, old_name, new_name):
719717
Returns:
720718
None
721719
"""
722-
self.desc.rename_input(old_name, new_name)
720+
self.desc._rename_input(old_name, new_name)
723721

724-
def rename_output(self, old_name, new_name):
722+
def _rename_output(self, old_name, new_name):
725723
"""
726724
Rename the `old_name` to `new_name`.
727725
@@ -732,7 +730,7 @@ def rename_output(self, old_name, new_name):
732730
Returns:
733731
None
734732
"""
735-
self.desc.rename_output(old_name, new_name)
733+
self.desc._rename_output(old_name, new_name)
736734

737735
@property
738736
def input_names(self):
@@ -796,7 +794,7 @@ def attr_type(self, name):
796794
"""
797795
return self.desc.attr_type(name)
798796

799-
def set_attr(self, name, val):
797+
def _set_attr(self, name, val):
800798
"""
801799
Set the value of attribute by attribute's name.
802800
@@ -829,7 +827,7 @@ def _update_desc_attr(self, name, val):
829827
isinstance(val, core.ProgramDesc):
830828
self.desc.set_serialized_attr(name, val.serialize_to_string())
831829
else:
832-
self.desc.set_attr(name, val)
830+
self.desc._set_attr(name, val)
833831

834832
@property
835833
def attr_names(self):
@@ -848,7 +846,7 @@ def attr(self, name):
848846
"""
849847
return self.desc.attr(name)
850848

851-
def block_attr_id(self, name):
849+
def _block_attr_id(self, name):
852850
"""
853851
Get the block attribute's id by name.
854852
@@ -858,9 +856,9 @@ def block_attr_id(self, name):
858856
Returns:
859857
int: the block index.
860858
"""
861-
return self.desc.block_attr_id(name)
859+
return self.desc._block_attr_id(name)
862860

863-
def block_attr(self, name):
861+
def _block_attr(self, name):
864862
"""
865863
Get the block attribute by name.
866864
@@ -871,11 +869,11 @@ def block_attr(self, name):
871869
block: the block attribute.
872870
"""
873871

874-
id = self.block_attr_id(name)
872+
id = self._block_attr_id(name)
875873
assert (id >= 0 and id < len(self.block.program.blocks))
876874
return self.block.program.blocks[id]
877875

878-
def blocks_attr(self, name):
876+
def _blocks_attr(self, name):
879877
"""
880878
Get the blocks attribute by name.
881879
@@ -886,13 +884,13 @@ def blocks_attr(self, name):
886884
list: list of the blocks attribute.
887885
"""
888886
attrs = []
889-
for i in self.blocks_attr_ids(name):
887+
for i in self._blocks_attr_ids(name):
890888
assert (i >= 0 and i < len(self.block.program.blocks))
891889
attrs.append(self.block.program.blocks[i])
892890

893891
return attrs
894892

895-
def blocks_attr_ids(self, name):
893+
def _blocks_attr_ids(self, name):
896894
"""
897895
Get the blocks attribute's ids by name.
898896
@@ -903,7 +901,7 @@ def blocks_attr_ids(self, name):
903901
list: list of the blocks ids.
904902
"""
905903

906-
return self.desc.blocks_attr_ids(name)
904+
return self.desc._blocks_attr_ids(name)
907905

908906
def all_attrs(self):
909907
"""
@@ -917,11 +915,11 @@ def all_attrs(self):
917915
for n in attr_names:
918916
attr_type = self.desc.attr_type(n)
919917
if attr_type == core.AttrType.BLOCK:
920-
attr_map[n] = self.block_attr(n)
918+
attr_map[n] = self._block_attr(n)
921919
continue
922920

923921
if attr_type == core.AttrType.BLOCKS:
924-
attr_map[n] = self.blocks_attr(n)
922+
attr_map[n] = self._blocks_attr(n)
925923
continue
926924

927925
attr_map[n] = self.attr(n)
@@ -1795,7 +1793,7 @@ def _inference_optimize(self, prune_read_op=True):
17951793
for j in six.moves.range(block.op_size()):
17961794
op = block.op(j)
17971795
if op.has_attr('is_test'):
1798-
op.set_attr('is_test', True)
1796+
op._set_attr('is_test', True)
17991797
res.blocks = [
18001798
Block(res, i) for i in six.moves.range(res.desc.num_blocks())
18011799
]
@@ -2169,7 +2167,7 @@ def program_guard(main_program, startup_program=None):
21692167
switch_startup_program(startup_program)
21702168

21712169

2172-
def get_var(name, program=None):
2170+
def _get_var(name, program=None):
21732171
"""
21742172
Get a variable by name from the global block of a program.
21752173

python/paddle/fluid/tests/unittests/dist_transformer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1488,7 +1488,7 @@ def wrap_decoder(trg_vocab_size,
14881488
if weight_sharing:
14891489
predict = layers.matmul(
14901490
x=dec_output,
1491-
y=fluid.get_var(word_emb_param_names[0]),
1491+
y=fluid.framework._get_var(word_emb_param_names[0]),
14921492
transpose_y=True)
14931493
else:
14941494
predict = layers.fc(input=dec_output,

python/paddle/fluid/tests/unittests/test_infer_shape.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ def test_mul_op(self):
7676
mul_op_desc.set_input("X", ["x"])
7777
mul_op_desc.set_input("Y", ["y"])
7878
mul_op_desc.set_output("Out", ["out"])
79-
mul_op_desc.set_attr("x_num_col_dims", 1)
80-
mul_op_desc.set_attr("y_num_col_dims", 1)
79+
mul_op_desc._set_attr("x_num_col_dims", 1)
80+
mul_op_desc._set_attr("y_num_col_dims", 1)
8181

8282
mul_op_desc.check_attrs()
8383
mul_op_desc.infer_shape(block)

0 commit comments

Comments
 (0)