Merge pull request !5041 from hexia/shape_wrong
pull/5041/MERGE
mindspore-ci-bot 5 years ago committed by Gitee
commit 9ab4f1237b

@ -99,6 +99,7 @@ add_executable(ms_serving ${SERVING_SRC})
target_link_libraries(ms_serving mindspore::event mindspore::event_pthreads) target_link_libraries(ms_serving mindspore::event mindspore::event_pthreads)
target_link_libraries(ms_serving ${_REFLECTION} ${_GRPC_GRPCPP} ${_PROTOBUF_LIBPROTOBUF} pthread) target_link_libraries(ms_serving ${_REFLECTION} ${_GRPC_GRPCPP} ${_PROTOBUF_LIBPROTOBUF} pthread)
set_target_properties(ms_serving PROPERTIES POSITION_INDEPENDENT_CODE ON)
if (ENABLE_D) if (ENABLE_D)
add_compile_definitions(ENABLE_D) add_compile_definitions(ENABLE_D)
target_link_libraries(ms_serving ${RUNTIME_LIB}) target_link_libraries(ms_serving ${RUNTIME_LIB})

@ -30,7 +30,7 @@ using nlohmann::json;
namespace mindspore { namespace mindspore {
namespace serving { namespace serving {
const int BUF_MAX = 0x1FFFFF; const int BUF_MAX = 0x7FFFFFFF;
static constexpr char HTTP_DATA[] = "data"; static constexpr char HTTP_DATA[] = "data";
static constexpr char HTTP_TENSOR[] = "tensor"; static constexpr char HTTP_TENSOR[] = "tensor";
enum HTTP_TYPE { TYPE_DATA = 0, TYPE_TENSOR }; enum HTTP_TYPE { TYPE_DATA = 0, TYPE_TENSOR };
@ -46,10 +46,12 @@ Status GetPostMessage(struct evhttp_request *req, std::string *buf) {
if (post_size == 0) { if (post_size == 0) {
ERROR_INFER_STATUS(status, INVALID_INPUTS, "http message invalid"); ERROR_INFER_STATUS(status, INVALID_INPUTS, "http message invalid");
return status; return status;
} else if (post_size > BUF_MAX) {
ERROR_INFER_STATUS(status, INVALID_INPUTS, "http message is bigger than 0x7FFFFFFF.");
return status;
} else { } else {
size_t copy_len = post_size > BUF_MAX ? BUF_MAX : post_size; buf->resize(post_size);
buf->resize(copy_len); memcpy(buf->data(), evbuffer_pullup(req->input_buffer, -1), post_size);
memcpy(buf->data(), evbuffer_pullup(req->input_buffer, -1), copy_len);
return status; return status;
} }
} }
@ -85,7 +87,7 @@ Status CheckMessageValid(const json &message_info, HTTP_TYPE *type) {
count++; count++;
} }
if (count != 1) { if (count != 1) {
ERROR_INFER_STATUS(status, INVALID_INPUTS, "http message must have only one type of (data, tensor, text)"); ERROR_INFER_STATUS(status, INVALID_INPUTS, "http message must have only one type of (data, tensor)");
return status; return status;
} }
return status; return status;
@ -206,7 +208,7 @@ Status TransDataToPredictRequest(const json &message_info, PredictRequest *reque
} }
for (int i = 0; i < request->data_size(); i++) { for (int i = 0; i < request->data_size(); i++) {
for (size_t j = 0; j < tensor_list[i].shape().size(); ++j) { for (size_t j = 0; j < tensor_list[i].shape().size(); ++j) {
request->mutable_data(i)->mutable_tensor_shape()->add_dims(tensor_list[i].shape()[i]); request->mutable_data(i)->mutable_tensor_shape()->add_dims(tensor_list[i].shape()[j]);
} }
} }
return SUCCESS; return SUCCESS;

Loading…
Cancel
Save