Welcome to mirror list, hosted at ThFree Co, Russian Federation.

average.py « scripts - github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 70054d9f1f991c0d38b824145da2b557718be1d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python

import os, sys
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-m', '--model', nargs='+', required=True,
                    help="Models to average")
parser.add_argument('-o', '--output', required=True,
                    help="Output path")
args = parser.parse_args()

import numpy as np;

average = dict()
n = len(args.model)
for filename in args.model:
  print "Loading", filename 
  with open(filename, "rb") as mfile:
    m = np.load(mfile)
    for k in m:
      if k != "history_errs":
        if k not in average:
          average[k] = m[k]
        elif average[k].shape == m[k].shape:
          average[k] += m[k]

for k in average:
  average[k] /= n

print "Saving to", args.output
np.savez(args.output, **average)