|
1 | | -using System; |
| 1 | +using System; |
2 | 2 | using System.Collections.Generic; |
3 | 3 | using System.Text; |
4 | 4 | using HDF.PInvoke; |
@@ -136,11 +136,7 @@ public static void load_weights_from_hdf5_group(long f, List<ILayer> layers) |
136 | 136 | var get_Name = ""; |
137 | 137 | foreach (var i_ in weight_names) |
138 | 138 | { |
139 | | - get_Name = i_; |
140 | | - if (get_Name.IndexOf("/") > 1) { |
141 | | - get_Name = get_Name.Split('/')[1]; |
142 | | - } |
143 | | - (bool success, Array result) = Hdf5.ReadDataset<float>(g, get_Name, alternativeName: i_); |
| 139 | + (bool success, Array result) = Hdf5.ReadDataset<float>(g, i_); |
144 | 140 | if (success) |
145 | 141 | weight_values.Add(np.array(result)); |
146 | 142 | } |
@@ -193,17 +189,19 @@ public static void save_weights_to_hdf5_group(long f, List<ILayer> layers) |
193 | 189 | } |
194 | 190 | save_attributes_to_hdf5_group(g, "weight_names", weight_names.ToArray()); |
195 | 191 | Tensor tensor = null; |
196 | | - string get_Name = ""; |
197 | 192 | foreach (var (name, val) in zip(weight_names, weights)) { |
198 | | - get_Name = name; |
| 193 | + |
199 | 194 | tensor = val.AsTensor(); |
200 | | - if (get_Name.IndexOf("/") > 1) |
| 195 | + if (name.IndexOf("/") > 1) |
201 | 196 | { |
202 | | - get_Name = name.Split('/')[1]; |
203 | | - crDataGroup = Hdf5.CreateOrOpenGroup(g, Hdf5Utils.NormalizedName(get_Name)); |
| 197 | + crDataGroup = Hdf5.CreateOrOpenGroup(g, Hdf5Utils.NormalizedName(name.Split('/')[0])); |
| 198 | + WriteDataset(crDataGroup, name.Split('/')[1], tensor); |
204 | 199 | Hdf5.CloseGroup(crDataGroup); |
205 | 200 | } |
206 | | - WriteDataset(g, get_Name, tensor); |
| 201 | + else { |
| 202 | + WriteDataset(crDataGroup, name, tensor); |
| 203 | + } |
| 204 | + |
207 | 205 | tensor = null; |
208 | 206 | } |
209 | 207 | Hdf5.CloseGroup(g); |
|
0 commit comments