saveModuleBinary function

Future<void> saveModuleBinary(
  1. Module module,
  2. String filePath
)

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();

  print('📦 Syncing GPU weights for saving...');

  for (var p in parameters) {
    // p.data pulls from GPU via engine.getTensorData
    final floatList = Float32List.fromList(p.data);
    builder.add(floatList.buffer.asUint8List());
  }

  final File file = File(filePath);
  await file.writeAsBytes(builder.toBytes());
  print('✅ Saved: $filePath (${file.lengthSync()} bytes)');
}