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