Merge pull request !7538 from EricZ/album_empty_stringtags/v1.1.0
| @@ -301,7 +301,7 @@ class Tensor { | |||||
| const TensorShape &shape() const { return shape_; } | const TensorShape &shape() const { return shape_; } | ||||
| /// Check if tensor has data | /// Check if tensor has data | ||||
| /// \return bool - true if tensor is empty | |||||
| /// \return bool - true if tensor is not empty | |||||
| bool HasData() const { return data_ != nullptr; } | bool HasData() const { return data_ != nullptr; } | ||||
| /// Reshape the tensor. The given shape should have the same number of elements in the Tensor | /// Reshape the tensor. The given shape should have the same number of elements in the Tensor | ||||
| @@ -380,7 +380,7 @@ Status AlbumOp::LoadIDTensor(const std::string &file, uint32_t col_num, TensorRo | |||||
| Status AlbumOp::LoadEmptyTensor(uint32_t col_num, TensorRow *row) { | Status AlbumOp::LoadEmptyTensor(uint32_t col_num, TensorRow *row) { | ||||
| // hack to get the file name without extension, the 1 is to get rid of the backslash character | // hack to get the file name without extension, the 1 is to get rid of the backslash character | ||||
| TensorPtr empty_tensor; | TensorPtr empty_tensor; | ||||
| RETURN_IF_NOT_OK(Tensor::CreateEmpty(TensorShape({}), data_schema_->column(col_num).type(), &empty_tensor)); | |||||
| RETURN_IF_NOT_OK(Tensor::CreateEmpty(TensorShape({0}), data_schema_->column(col_num).type(), &empty_tensor)); | |||||
| row->push_back(std::move(empty_tensor)); | row->push_back(std::move(empty_tensor)); | ||||
| return Status::OK(); | return Status::OK(); | ||||
| } | } | ||||
| @@ -62,7 +62,7 @@ TEST_F(MindDataTestSchema, TestAlbumSchema) { | |||||
| } else { | } else { | ||||
| int32_t num_cols = schema->NumColumns(); | int32_t num_cols = schema->NumColumns(); | ||||
| MS_LOG(INFO) << "num_cols: " << num_cols << "."; | MS_LOG(INFO) << "num_cols: " << num_cols << "."; | ||||
| EXPECT_TRUE(num_cols == 7); | |||||
| EXPECT_TRUE(num_cols == 8); | |||||
| } | } | ||||
| } | } | ||||
| @@ -117,6 +117,17 @@ TEST_F(MindDataTestStringTensorDE, Empty) { | |||||
| } | } | ||||
| } | } | ||||
| TEST_F(MindDataTestStringTensorDE, EmptyData) { | |||||
| std::shared_ptr<Tensor> t; | |||||
| Tensor::CreateScalar<std::string>("", &t); | |||||
| // empty string has 1 element | |||||
| ASSERT_TRUE(t->HasData()); | |||||
| std::shared_ptr<Tensor> t1; | |||||
| Tensor::CreateEmpty(TensorShape({0}), DataType(DataType::DE_STRING), &t1); | |||||
| ASSERT_TRUE(!t1->HasData()); | |||||
| } | |||||
| TEST_F(MindDataTestStringTensorDE, SetItem) { | TEST_F(MindDataTestStringTensorDE, SetItem) { | ||||
| std::vector<std::string> strings{"abc", "defg", "hi", "klmno", "123", "789"}; | std::vector<std::string> strings{"abc", "defg", "hi", "klmno", "123", "789"}; | ||||
| std::shared_ptr<Tensor> t3; | std::shared_ptr<Tensor> t3; | ||||
| @@ -159,4 +170,4 @@ TEST_F(MindDataTestStringTensorDE, Iterator) { | |||||
| ASSERT_TRUE(*itr == strings[index]); | ASSERT_TRUE(*itr == strings[index]); | ||||
| index += 2; | index += 2; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -8,6 +8,10 @@ | |||||
| "type": "string", | "type": "string", | ||||
| "rank": 1 | "rank": 1 | ||||
| }, | }, | ||||
| "optional" : { | |||||
| "type": "string", | |||||
| "rank": 1 | |||||
| }, | |||||
| "id" : { | "id" : { | ||||
| "type": "int64", | "type": "int64", | ||||
| "rank": 0 | "rank": 0 | ||||