1 auto model1 = MLP!(float, HostStorage)(3);
2 model1.save("/tmp/test_grain0.h5");
3
4 auto model2 = MLP!(float, HostStorage)(3);
5 model2.load("/tmp/test_grain0.h5");
6 assert(model1.fc1.bias.sliced == model2.fc1.bias.sliced);
7
8 import numir;
9 import mir.ndslice;
10
11 auto x = uniform!float(3, 2).slice.variable;
12 assert(model1(x).sliced == model2(x).sliced);
1 auto model1 = MLP!(float, DeviceStorage)(3);
2 model1.save("/tmp/test_grain1.h5");
3
4 auto model2 = MLP!(float, DeviceStorage)(3);
5 model2.load("/tmp/test_grain1.h5");
6 assert(model1.fc1.bias.to!HostStorage.sliced == model2.fc1.bias.to!HostStorage
7 .sliced);
8
9 import numir;
10 import mir.ndslice;
11
12 auto x = uniform!float(3, 2).slice.variable.to!DeviceStorage;
13 assert(model1(x).to!HostStorage.sliced == model2(x).to!HostStorage.sliced);
1 auto model1 = MLP!(float, HostStorage)(3);
2 model1.save("/tmp/test_grain2.h5");
3
4 auto model2 = MLP!(float, DeviceStorage)(3);
5 model2.load("/tmp/test_grain2.h5");
6 assert(model1.fc1.bias.to!HostStorage.sliced == model2.fc1.bias.to!HostStorage
7 .sliced);
1 auto model1 = MLP!(float, DeviceStorage)(3);
2 model1.save("/tmp/test_grain3.h5");
3
4 auto model2 = MLP!(float, HostStorage)(3);
5 model2.load("/tmp/test_grain3.h5");
6 assert(model1.fc1.bias.to!HostStorage.sliced == model2.fc1.bias.to!HostStorage
7 .sliced);
load chain parameters from HDF5 path