| 490 | } |
| 491 | |
| 492 | void InferOpAttributes( |
| 493 | const OpDef& op_def, |
| 494 | std::unordered_map<string, string>* inferred_input_attrs) { |
| 495 | for (int i = 0; i < op_def.input_arg_size(); ++i) { |
| 496 | const auto& arg(op_def.input_arg(i)); |
| 497 | InferArgAttributes(arg, inferred_input_attrs); |
| 498 | } |
| 499 | } |
| 500 | |
| 501 | bool ArgIsList(const OpDef::ArgDef& arg) { |
| 502 | return !arg.type_list_attr().empty() || !arg.number_attr().empty(); |
no test coverage detected