|
|
@ -56,6 +56,8 @@ Status SliceKernel::Compute(const OpDescPtr attr, const std::vector<ConstGeTenso
|
|
|
|
|
|
|
|
|
|
|
|
// data type in input_x
|
|
|
|
// data type in input_x
|
|
|
|
auto data_type = x_->GetTensorDesc().GetDataType();
|
|
|
|
auto data_type = x_->GetTensorDesc().GetDataType();
|
|
|
|
|
|
|
|
uint32_t type_size = 0;
|
|
|
|
|
|
|
|
(void)TypeUtils::GetDataTypeLength(data_type, type_size);
|
|
|
|
// check data type of begin and size
|
|
|
|
// check data type of begin and size
|
|
|
|
if (begin->GetTensorDesc().GetDataType() != DT_INT32 || size->GetTensorDesc().GetDataType() != DT_INT32) {
|
|
|
|
if (begin->GetTensorDesc().GetDataType() != DT_INT32 || size->GetTensorDesc().GetDataType() != DT_INT32) {
|
|
|
|
GELOGW("Data type of begin and size for slice are not DT_INT32.");
|
|
|
|
GELOGW("Data type of begin and size for slice are not DT_INT32.");
|
|
|
@ -69,7 +71,7 @@ Status SliceKernel::Compute(const OpDescPtr attr, const std::vector<ConstGeTenso
|
|
|
|
GE_CHECK_NOTNULL(begin_data);
|
|
|
|
GE_CHECK_NOTNULL(begin_data);
|
|
|
|
GE_CHECK_NOTNULL(size_data);
|
|
|
|
GE_CHECK_NOTNULL(size_data);
|
|
|
|
|
|
|
|
|
|
|
|
size_t data_size = x_->GetData().size() / sizeof(int32_t);
|
|
|
|
size_t data_size = x_->GetData().size() / type_size;
|
|
|
|
size_t begin_size = begin->GetData().size() / sizeof(int32_t);
|
|
|
|
size_t begin_size = begin->GetData().size() / sizeof(int32_t);
|
|
|
|
size_t size_size = size->GetData().size() / sizeof(int32_t);
|
|
|
|
size_t size_size = size->GetData().size() / sizeof(int32_t);
|
|
|
|
const ge::GeShape &x_shape = x_->GetTensorDesc().GetShape();
|
|
|
|
const ge::GeShape &x_shape = x_->GetTensorDesc().GetShape();
|
|
|
|