|
|
|
@@ -248,7 +248,7 @@ STATUS CaffeModelParser::ParseLayer(const caffe::NetParameter &proto, const caff |
|
|
|
} else { |
|
|
|
MS_LOG(ERROR) << "Parse weight for " << layer.name() << " Failed!"; |
|
|
|
} |
|
|
|
status = (status == RET_OK ? RET_NOT_FIND_OP : status); |
|
|
|
status = (status == RET_OK ? status_node : status); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -263,7 +263,7 @@ STATUS CaffeModelParser::ParseLayer(const caffe::NetParameter &proto, const caff |
|
|
|
if (status_node != RET_OK) { |
|
|
|
interrupt = true; |
|
|
|
MS_LOG(ERROR) << "Set Op " << layer.name() << " Output Index Failed!"; |
|
|
|
status = (status == RET_OK ? RET_NOT_FIND_OP : status); |
|
|
|
status = (status == RET_OK ? status_node : status); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -280,8 +280,15 @@ STATUS CaffeModelParser::GetModelInput(const caffe::NetParameter &proto, TensorC |
|
|
|
continue; |
|
|
|
} |
|
|
|
std::unique_ptr<schema::TensorT> msTensor = std::make_unique<schema::TensorT>(); |
|
|
|
for (int j = 0; j < proto.input_dim_size(); j++) { |
|
|
|
msTensor->dims.push_back(proto.input_dim(j)); |
|
|
|
if (proto.input_dim_size() > 4) { |
|
|
|
int step = proto.input_dim_size() / proto.input_size(); |
|
|
|
for (int j = i * step; j < (i + 1) * step; j++) { |
|
|
|
msTensor->dims.push_back(proto.input_dim(j)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
for (int j = 0; j < proto.input_dim_size(); j++) { |
|
|
|
msTensor->dims.push_back(proto.input_dim(j)); |
|
|
|
} |
|
|
|
} |
|
|
|
msTensor->refCount = schema::NodeType::NodeType_ValueNode; |
|
|
|
msTensor->dataType = kNumberTypeFloat32; |
|
|
|
|