| 368 | } |
| 369 | |
| 370 | string WalkUpToConstantArray(const Model& model, const string& name) { |
| 371 | const Array& original_array = model.GetArray(name); |
| 372 | if (original_array.buffer) { |
| 373 | return name; |
| 374 | } |
| 375 | const auto* op = GetOpWithOutput(model, name); |
| 376 | CHECK(op); |
| 377 | CHECK(op->type == OperatorType::kFakeQuant); |
| 378 | const string& input_of_fakequant_name = op->inputs[0]; |
| 379 | const Array& input_of_fakequant = model.GetArray(input_of_fakequant_name); |
| 380 | CHECK(input_of_fakequant.buffer); |
| 381 | return input_of_fakequant_name; |
| 382 | } |
| 383 | |
| 384 | void ConvertConvOperator(const Model& model, const ConvOperator& src_op, |
| 385 | GraphDef* tensorflow_graph) { |
no test coverage detected