diff --git a/lite/api/opt.cc b/lite/api/opt.cc index a1b963ac4ebf836e29045c8810658e0b30bad2f2..4956c1ae3922a8e041184444dd8b4db0b8fbc9af 100644 --- a/lite/api/opt.cc +++ b/lite/api/opt.cc @@ -92,6 +92,10 @@ std::vector ParserValidPlaces() { Place{TARGET(kARM), PRECISION(kFloat), DATALAYOUT(kNCHW)}); valid_places.emplace_back( Place{TARGET(kARM), PRECISION(kInt32), DATALAYOUT(kNCHW)}); + valid_places.emplace_back( + Place{TARGET(kARM), PRECISION(kInt64), DATALAYOUT(kNCHW)}); + valid_places.emplace_back( + Place{TARGET(kARM), PRECISION(kAny), DATALAYOUT(kNCHW)}); } else if (target_repr == "opencl") { valid_places.emplace_back( Place{TARGET(kOpenCL), PRECISION(kFP16), DATALAYOUT(kImageDefault)}); diff --git a/lite/api/opt_base.cc b/lite/api/opt_base.cc index 03f03a4d96e3370ba904c804b46cbfd8f90a5c03..36d5891eb5cfbc33b839626d0913538c9c02592f 100644 --- a/lite/api/opt_base.cc +++ b/lite/api/opt_base.cc @@ -50,7 +50,14 @@ void OptBase::SetValidPlaces(const std::string& valid_places) { auto target_reprs = lite::Split(valid_places, ","); for (auto& target_repr : target_reprs) { if (target_repr == "arm") { - valid_places_.emplace_back(TARGET(kARM)); + valid_places_.emplace_back( + Place{TARGET(kARM), PRECISION(kFloat), DATALAYOUT(kNCHW)}); + valid_places_.emplace_back( + Place{TARGET(kARM), PRECISION(kInt32), DATALAYOUT(kNCHW)}); + valid_places_.emplace_back( + Place{TARGET(kARM), PRECISION(kInt64), DATALAYOUT(kNCHW)}); + valid_places_.emplace_back( + Place{TARGET(kARM), PRECISION(kAny), DATALAYOUT(kNCHW)}); } else if (target_repr == "opencl") { valid_places_.emplace_back( Place{TARGET(kOpenCL), PRECISION(kFP16), DATALAYOUT(kImageDefault)});