在模型推理时,对于每次处理图片宽和高不固定的场景,用户可以在模型构建时设置不同的图片宽高档位。
1 2 3 4 5 |
auto shape_data = vector<int64_t>({ 8,3,-1,-1 }); TensorDesc desc_data(ge::Shape(shape_data), FORMAT_ND, DT_FLOAT); auto data = op::Data("data"); data.update_input_desc_data(desc_data); data.update_output_desc_out(desc_data); |
模型编译时,在aclgrphBuildModel接口options中设置INPUT_SHAPE/INPUT_FORMAT信息,同时通过DYNAMIC_IMAGE_SIZE指定动态分辨率的档位。
1 2 3 4 5 6 7 |
void PrepareOptions(std::map<AscendString, AscendString>& options) { options.insert({ {ge::ir_option::INPUT_FORMAT, "NCHW"}, {ge::ir_option::INPUT_SHAPE, "data: 8,3,-1,-1"}, {ge::ir_option::DYNAMIC_IMAGE_SIZE, "416,416;832,832"} // 设置HW档位,支持处理HW为416,416,或者832,832的图片 }); } |