MCPcopy Index your code
hub / github.com/microsoft/BitNet / save_results

Method save_results

utils/test_perplexity.py:441–488  ·  view source on GitHub ↗

Save results to CSV file.

(self)

Source from the content-addressed store, hash-verified

439 self.print_summary(total_time)
440
441 def save_results(self):
442 """Save results to CSV file."""
443 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
444 model_name = self.model_path.stem
445
446 # Use custom CSV path if provided
447 if self.csv_output:
448 csv_file = self.csv_output
449 # Create parent directory if needed
450 csv_file.parent.mkdir(parents=True, exist_ok=True)
451 else:
452 csv_file = self.output_dir / f"ppl_{model_name}_{timestamp}.csv"
453
454 print(f"\n💾 Saving results...")
455
456 with open(csv_file, 'w', newline='') as f:
457 writer = csv.DictWriter(f, fieldnames=['dataset', 'perplexity', 'time_seconds', 'status'])
458 writer.writeheader()
459 for result in self.results:
460 writer.writerow({
461 'dataset': result['dataset'],
462 'perplexity': result['perplexity'] if result['perplexity'] is not None else 'N/A',
463 'time_seconds': f"{result['time']:.2f}",
464 'status': result['status']
465 })
466
467 print(f" ✅ CSV saved: {csv_file}")
468
469 # Save detailed log
470 log_file = self.output_dir / f"ppl_{model_name}_{timestamp}.log"
471 with open(log_file, 'w') as f:
472 f.write(f"Perplexity Test Results\n")
473 f.write(f"{'='*80}\n")
474 f.write(f"Model: {self.model_path}\n")
475 f.write(f"Timestamp: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
476 f.write(f"{'='*80}\n\n")
477
478 for result in self.results:
479 f.write(f"\n{'='*80}\n")
480 f.write(f"Dataset: {result['dataset']}\n")
481 f.write(f"Perplexity: {result['perplexity']}\n")
482 f.write(f"Time: {result['time']:.2f}s\n")
483 f.write(f"Status: {result['status']}\n")
484 f.write(f"\nOutput:\n{result['stdout']}\n")
485 if result['stderr']:
486 f.write(f"\nErrors:\n{result['stderr']}\n")
487
488 print(f" ✅ Log saved: {log_file}")
489
490 def print_summary(self, total_time):
491 """Print summary of all tests."""

Callers 1

run_all_testsMethod · 0.95

Calls 1

writeMethod · 0.45

Tested by

no test coverage detected