saveModuleBinary function
Saves GPU weights to a flat binary file.
Implementation
Future<void> saveModuleBinary(Module module, String filePath) async {
final List<Tensor> parameters = module.parameters();
final BytesBuilder builder = BytesBuilder();
for (var p in parameters) {
// 1. Get List<double> from GPU (via your data getter)
// 2. Convert to Float32List
// 3. Get the raw byte buffer
final floatList = Float32List.fromList(p.data);
builder.add(floatList.buffer.asUint8List());
}
await File(filePath).writeAsBytes(builder.toBytes());
print(
'💾 GPU weights saved as Binary: $filePath (${File(filePath).lengthSync()} bytes)',
);
}