• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright 2020-2021 Huawei Technologies Co., Ltd
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #include "minddata/dataset/include/dataset/data_helper.h"
17 
18 #include "minddata/dataset/util/json_helper.h"
19 #include "include/api/status.h"
20 
21 namespace mindspore {
22 namespace dataset {
23 // Create a numbered json file from image folder
CreateAlbumIF(const std::vector<char> & in_dir,const std::vector<char> & out_dir)24 Status DataHelper::CreateAlbumIF(const std::vector<char> &in_dir, const std::vector<char> &out_dir) {
25   auto jh = JsonHelper();
26   return jh.CreateAlbum(CharToString(in_dir), CharToString(out_dir));
27 }
28 
29 // A print method typically used for debugging
Print(std::ostream & out) const30 void DataHelper::Print(std::ostream &out) const {
31   out << "  Data Helper"
32       << "\n";
33 }
34 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<std::vector<char>> & value,const std::vector<char> & out_file)35 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
36                                  const std::vector<std::vector<char>> &value, const std::vector<char> &out_file) {
37   auto jh = JsonHelper();
38   return jh.UpdateArray(CharToString(in_file), CharToString(key), VectorCharToString(value), CharToString(out_file));
39 }
40 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<bool> & value,const std::vector<char> & out_file)41 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
42                                  const std::vector<bool> &value, const std::vector<char> &out_file) {
43   auto jh = JsonHelper();
44   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
45 }
46 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<int8_t> & value,const std::vector<char> & out_file)47 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
48                                  const std::vector<int8_t> &value, const std::vector<char> &out_file) {
49   auto jh = JsonHelper();
50   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
51 }
52 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<uint8_t> & value,const std::vector<char> & out_file)53 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
54                                  const std::vector<uint8_t> &value, const std::vector<char> &out_file) {
55   auto jh = JsonHelper();
56   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
57 }
58 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<int16_t> & value,const std::vector<char> & out_file)59 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
60                                  const std::vector<int16_t> &value, const std::vector<char> &out_file) {
61   auto jh = JsonHelper();
62   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
63 }
64 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<uint16_t> & value,const std::vector<char> & out_file)65 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
66                                  const std::vector<uint16_t> &value, const std::vector<char> &out_file) {
67   auto jh = JsonHelper();
68   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
69 }
70 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<int32_t> & value,const std::vector<char> & out_file)71 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
72                                  const std::vector<int32_t> &value, const std::vector<char> &out_file) {
73   auto jh = JsonHelper();
74   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
75 }
76 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<uint32_t> & value,const std::vector<char> & out_file)77 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
78                                  const std::vector<uint32_t> &value, const std::vector<char> &out_file) {
79   auto jh = JsonHelper();
80   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
81 }
82 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<int64_t> & value,const std::vector<char> & out_file)83 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
84                                  const std::vector<int64_t> &value, const std::vector<char> &out_file) {
85   auto jh = JsonHelper();
86   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
87 }
88 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<uint64_t> & value,const std::vector<char> & out_file)89 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
90                                  const std::vector<uint64_t> &value, const std::vector<char> &out_file) {
91   auto jh = JsonHelper();
92   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
93 }
94 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<float> & value,const std::vector<char> & out_file)95 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
96                                  const std::vector<float> &value, const std::vector<char> &out_file) {
97   auto jh = JsonHelper();
98   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
99 }
100 
UpdateArrayIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<double> & value,const std::vector<char> & out_file)101 Status DataHelper::UpdateArrayIF(const std::vector<char> &in_file, const std::vector<char> &key,
102                                  const std::vector<double> &value, const std::vector<char> &out_file) {
103   auto jh = JsonHelper();
104   return jh.UpdateArray(CharToString(in_file), CharToString(key), value, CharToString(out_file));
105 }
106 
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<char> & value,const std::vector<char> & out_file)107 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key,
108                                  const std::vector<char> &value, const std::vector<char> &out_file) {
109   auto jh = JsonHelper();
110   return jh.UpdateValue(CharToString(in_file), CharToString(key), CharToString(value), CharToString(out_file));
111 }
112 
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const bool & value,const std::vector<char> & out_file)113 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const bool &value,
114                                  const std::vector<char> &out_file) {
115   auto jh = JsonHelper();
116   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
117 }
118 
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const int8_t & value,const std::vector<char> & out_file)119 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const int8_t &value,
120                                  const std::vector<char> &out_file) {
121   auto jh = JsonHelper();
122   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
123 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const uint8_t & value,const std::vector<char> & out_file)124 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const uint8_t &value,
125                                  const std::vector<char> &out_file) {
126   auto jh = JsonHelper();
127   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
128 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const int16_t & value,const std::vector<char> & out_file)129 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const int16_t &value,
130                                  const std::vector<char> &out_file) {
131   auto jh = JsonHelper();
132   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
133 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const uint16_t & value,const std::vector<char> & out_file)134 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const uint16_t &value,
135                                  const std::vector<char> &out_file) {
136   auto jh = JsonHelper();
137   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
138 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const int32_t & value,const std::vector<char> & out_file)139 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const int32_t &value,
140                                  const std::vector<char> &out_file) {
141   auto jh = JsonHelper();
142   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
143 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const uint32_t & value,const std::vector<char> & out_file)144 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const uint32_t &value,
145                                  const std::vector<char> &out_file) {
146   auto jh = JsonHelper();
147   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
148 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const int64_t & value,const std::vector<char> & out_file)149 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const int64_t &value,
150                                  const std::vector<char> &out_file) {
151   auto jh = JsonHelper();
152   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
153 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const uint64_t & value,const std::vector<char> & out_file)154 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const uint64_t &value,
155                                  const std::vector<char> &out_file) {
156   auto jh = JsonHelper();
157   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
158 }
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const float & value,const std::vector<char> & out_file)159 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const float &value,
160                                  const std::vector<char> &out_file) {
161   auto jh = JsonHelper();
162   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
163 }
164 
UpdateValueIF(const std::vector<char> & in_file,const std::vector<char> & key,const double & value,const std::vector<char> & out_file)165 Status DataHelper::UpdateValueIF(const std::vector<char> &in_file, const std::vector<char> &key, const double &value,
166                                  const std::vector<char> &out_file) {
167   auto jh = JsonHelper();
168   return jh.UpdateValue(CharToString(in_file), CharToString(key), value, CharToString(out_file));
169 }
170 
RemoveKeyIF(const std::vector<char> & in_file,const std::vector<char> & key,const std::vector<char> & out_file)171 Status DataHelper::RemoveKeyIF(const std::vector<char> &in_file, const std::vector<char> &key,
172                                const std::vector<char> &out_file) {
173   auto jh = JsonHelper();
174   return jh.RemoveKey(CharToString(in_file), CharToString(key), CharToString(out_file));
175 }
176 
DumpData(const unsigned char * tensor_addr,const size_t & tensor_size,void * addr,const size_t & buffer_size)177 size_t DataHelper::DumpData(const unsigned char *tensor_addr, const size_t &tensor_size, void *addr,
178                             const size_t &buffer_size) {
179   auto jh = JsonHelper();
180   return jh.DumpData(tensor_addr, tensor_size, addr, buffer_size);
181 }
182 
183 }  // namespace dataset
184 }  // namespace mindspore
185