In [1]:
import os, glob, platform, datetime, random
from collections import OrderedDict

import torch
import torch.nn as nn
import torch.utils.data as data_utils
import torch.nn.parallel
import torch.backends.cudnn as cudnn
import torch.optim as optim
from torch.autograd import Variable
from torch import functional as F
# import torchvision.datasets as datasets
import torchvision.models as models
import torchvision.transforms as transforms

import cv2
from PIL import Image
from tensorboardX import SummaryWriter

import numpy as np
from numpy.linalg import inv as denseinv
from scipy import sparse
from scipy.sparse import lil_matrix, csr_matrix
from scipy.sparse.linalg import spsolve
from scipy.sparse.linalg import inv as spinv
import scipy.misc

from myimagefolder import MyImageFolder
from mymodel import GradientNet
from myargs import Args
from myutils import MyUtils

Configurations


In [2]:
myutils = MyUtils()

args = Args()
args.test_scene = 'alley_1'
args.arch = "densenet121"
args.epoches = 500
args.epoches_unary_threshold = 0
args.image_h = 256
args.image_w = 256
args.img_extentions = ["png"]
args.training_thresholds = [250,200,150,50,0,300]
args.base_lr = 1
args.lr = args.base_lr
args.snapshot_interval = 5000
args.debug = True
args.gpu_num = 0

# growth_rate = (4*(2**(args.gpu_num)))
gradient=False
transition_scale=2
pretrained_scale=4
growth_rate = 32
writer_comment = 'deconv_ks_6'
deconv_ks=6

offset = 0.
if gradient == True: offset = 0.5

args.display_interval = 50
args.display_curindex = 0

system_ = platform.system()
system_dist, system_version, _ = platform.dist()
if system_ == "Darwin": 
    args.train_dir = '/Volumes/Transcend/dataset/sintel2'
    args.pretrained = False
elif platform.dist() ==  ('debian', 'jessie/sid', ''):
    args.train_dir = '/home/lwp/workspace/sintel2'
    args.pretrained = True
elif platform.dist() == ('debian', 'stretch/sid', ''):
    args.train_dir = '/home/cad/lwp/workspace/dataset/sintel2'
    args.pretrained = True

if platform.system() == 'Linux': use_gpu = True
else: use_gpu = False
if use_gpu:
    torch.cuda.set_device(args.gpu_num)
    

print(platform.dist())


('debian', 'jessie/sid', '')

My DataLoader


In [3]:
train_dataset = MyImageFolder(args.train_dir, 'train',
                       transforms.Compose(
        [transforms.ToTensor()]
    ), random_crop=True, 
    img_extentions=args.img_extentions, test_scene=args.test_scene, image_h=args.image_h, image_w=args.image_w)
test_dataset = MyImageFolder(args.train_dir, 'test', 
                       transforms.Compose(
        [transforms.CenterCrop((args.image_h, args.image_w)),
         transforms.ToTensor()]
    ), random_crop=False,
    img_extentions=args.img_extentions, test_scene=args.test_scene, image_h=args.image_h, image_w=args.image_w)

train_loader = data_utils.DataLoader(train_dataset,1,True,num_workers=1)
test_loader = data_utils.DataLoader(test_dataset,1,True,num_workers=1)

Load Pretrained Model

Defination

  • DenseNet-121: num_init_features=64, growth_rate=32, block_config=(6, 12, 24, 16)
    • First Convolution: 32M -> 16M -> 8M
    • every transition: 8M -> 4M -> 2M (downsample 1/2, except the last block)

In [4]:
densenet = models.__dict__[args.arch](pretrained=args.pretrained)

for param in densenet.parameters():
    param.requires_grad = False

if use_gpu: densenet.cuda()

In [5]:
ss = 6
s0 = ss*5
# s0 = 2

args.display_curindex = 0
args.base_lr = 0.05
args.display_interval = 20
args.momentum = 0.9
args.epoches = 240
args.training_thresholds = [0,0,0,0,0,s0]
args.training_merge_thresholds = [s0+ss*3*3,s0+ss*2*3, s0+ss*1*3, s0, -1, s0+ss*4*3]
args.power = 0.5



# pretrained = PreTrainedModel(densenet)
# if use_gpu: 
#     pretrained.cuda()


net = GradientNet(densenet=densenet, growth_rate=growth_rate, 
                  transition_scale=transition_scale, pretrained_scale=pretrained_scale,
                 gradient=gradient, deconv_ks=6)
if use_gpu:
    net.cuda()

if use_gpu: 
    mse_losses = [nn.MSELoss().cuda()] * 6
    test_losses = [nn.MSELoss().cuda()] * 6
    mse_merge_losses = [nn.MSELoss().cuda()] * 6
    test_merge_losses = [nn.MSELoss().cuda()] * 6
else:
    mse_losses = [nn.MSELoss()] * 6
    mse_merge_losses = [nn.MSELoss()] * 6
    test_losses = [nn.MSELoss()] * 6
    test_merge_losses = [nn.MSELoss()] * 6


_ ConvTranspose2d weight 0.002867696673382022
_ ConvTranspose2d weight 0.002867696673382022
_ ConvTranspose2d weight 0.003031695312954162
_ ConvTranspose2d weight 0.003031695312954162
_ ConvTranspose2d weight 0.004419417382415922

In [ ]:
def test_model(epoch, go_through_merge=False, phase='train'):
    if phase == 'train': net.train()
    else: net.eval()
    
    test_losses_trainphase = [0] * len(args.training_thresholds)
    test_cnts_trainphase   = [0.00001] * len(args.training_thresholds)  
    test_merge_losses_trainphase = [0] * len(args.training_thresholds)
    test_merge_cnts_trainphase   = [0.00001] * len(args.training_thresholds)
    
    for ind, data in enumerate(test_loader, 0):
        input_img, gt_albedo, gt_shading, test_scene, img_path = data
        input_img = Variable(input_img)
        gt_albedo = Variable(gt_albedo)
        gt_shading = Variable(gt_shading)
        if use_gpu:
            input_img = input_img.cuda(args.gpu_num)
        
#         pretrained.train(); ft_pretreained = pretrained(input_img)
        ft_test, merged_RGB = net(input_img, go_through_merge=go_through_merge)
            
        for i,v in enumerate(ft_test):
            if epoch < args.training_thresholds[i]: continue
            if i == 5: s = 1
            else: s = (2**(i+1))
            gt0 = gt_albedo.cpu().data.numpy()
            n,c,h,w = gt0.shape
            gt, display = myutils.processGt(gt0, scale_factor=s, gd=gradient, return_image=True)
            gt_mg, display_mg = myutils.processGt(gt0, scale_factor=s//2, gd=gradient, return_image=True)
            
            if use_gpu: 
                gt = gt.cuda()
                gt_mg = gt_mg.cuda()
            
            if i != 5: 
                loss = mse_losses[i](ft_test[i], gt)
                test_losses_trainphase[i] += loss.data.cpu().numpy()[0]
                test_cnts_trainphase[i] += 1
            
            if go_through_merge != False and i != 4:
                if ((go_through_merge == '32M') or
                    (go_through_merge == '16M' and i != 5) or  
                    (go_through_merge == '08M' and i != 5 and i > 0) or
                    (go_through_merge == '04M' and i != 5 and i > 1) or
                    (go_through_merge == '02M' and i != 5 and i > 2)):
                    if i==5: gt2=gt
                    else: gt2=gt_mg
#                     print(i)
#                     print('merge size', merged_RGB[i].size())
#                     print('gt2 size', gt2.size())
                    loss = mse_merge_losses[i](merged_RGB[i], gt2)
                    test_merge_losses_trainphase[i] += loss.data.cpu().numpy()[0]
                    test_merge_cnts_trainphase[i] += 1
            

            
            if ind == 0: 
                if i != 5:
                    v = v[0].cpu().data.numpy()
                    v = v.transpose(1,2,0)
                    v = v[:,:,0:3]
                    cv2.imwrite('snapshot{}/test-phase_{}-{}-{}.png'.format(args.gpu_num, phase, epoch, i), (v[:,:,::-1]+offset)*255)
                if go_through_merge != False and i != 4:
                    if ((go_through_merge == '32M') or
                    (go_through_merge == '16M' and i != 5) or  
                    (go_through_merge == '08M' and i != 5 and i > 0) or
                    (go_through_merge == '04M' and i != 5 and i > 1) or
                    (go_through_merge == '02M' and i != 5 and i > 2)):
                        v = merged_RGB[i][0].cpu().data.numpy()
                        v = v.transpose(1,2,0)
                        v = v[:,:,0:3]
                        cv2.imwrite('snapshot{}/test-mg-phase_{}-{}-{}.png'.format(args.gpu_num, phase, epoch, i), (v[:,:,::-1]+offset)*255)
                    
    run_losses = test_losses_trainphase
    run_cnts = test_cnts_trainphase
    writer.add_scalars('16M loss', {'test 16M phase {}'.format(phase): np.array([run_losses[0]/ run_cnts[0]])}, global_step=epoch)  
    writer.add_scalars('8M loss', {'test 8M phase {}'.format(phase): np.array([run_losses[1]/ run_cnts[1]])}, global_step=epoch) 
    writer.add_scalars('4M loss', {'test 4M phase {}'.format(phase): np.array([run_losses[2]/ run_cnts[2]])}, global_step=epoch) 
    writer.add_scalars('2M loss', {'test 2M ': np.array([run_losses[3]/ run_cnts[3]])}, global_step=epoch) 
    writer.add_scalars('1M loss', {'test 1M phase {}'.format(phase): np.array([run_losses[4]/ run_cnts[4]])}, global_step=epoch) 
    writer.add_scalars('merged loss', {'test merged phase {}'.format(phase): np.array([run_losses[5]/ run_cnts[5]])}, global_step=epoch)
    
    run_losses = test_merge_losses_trainphase
    run_cnts = test_merge_cnts_trainphase
    writer.add_scalars('16M loss', {'mg test 16M phase {}'.format(phase): np.array([run_losses[0]/ run_cnts[0]])}, global_step=epoch)  
    writer.add_scalars('8M loss', {'mg test 8M phase {}'.format(phase): np.array([run_losses[1]/ run_cnts[1]])}, global_step=epoch) 
    writer.add_scalars('4M loss', {'mg test 4M phase {}'.format(phase): np.array([run_losses[2]/ run_cnts[2]])}, global_step=epoch) 
    writer.add_scalars('2M loss', {'mg test 2M ': np.array([run_losses[3]/ run_cnts[3]])}, global_step=epoch) 
    writer.add_scalars('1M loss', {'mg test 1M phase {}'.format(phase): np.array([run_losses[4]/ run_cnts[4]])}, global_step=epoch) 
    writer.add_scalars('merged loss', {'mg test merged phase {}'.format(phase): np.array([run_losses[5]/ run_cnts[5]])}, global_step=epoch)

In [ ]:
# training loop

writer = SummaryWriter(comment='-{}'.format(writer_comment))

parameters = filter(lambda p: p.requires_grad, net.parameters())
optimizer = optim.SGD(parameters, lr=args.base_lr, momentum=args.momentum)

def adjust_learning_rate(optimizer, epoch, beg, end, reset_lr=None, base_lr=args.base_lr):
    """Sets the learning rate to the initial LR decayed by 10 every 30 epochs"""
    for param_group in optimizer.param_groups:
#         print('para gp', param_group)
        if reset_lr != None:
            param_group['lr'] = reset_lr
            continue
        param_group['lr'] = base_lr * (float(end-epoch)/(end-beg)) ** (args.power)
        if param_group['lr'] < 1.0e-8: param_group['lr'] = 1.0e-8
        

for epoch in range(args.epoches):
#     epoch = 234
    net.train()
    print('epoch: {} [{}]'.format(epoch, datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")))

    if epoch < args.training_thresholds[-1]: 
        adjust_learning_rate(optimizer, epoch, beg=0, end=s0-1)
    elif epoch < args.training_merge_thresholds[-1]:
        adjust_learning_rate(optimizer, (epoch-s0)%(ss), beg=0, end=ss-1, base_lr=args.base_lr)
    else:
        adjust_learning_rate(optimizer, epoch, beg=args.training_merge_thresholds[-1], end=args.epoches-1, base_lr=args.base_lr)  
        
        
    if epoch < args.training_thresholds[-1]: go_through_merge = False
    elif epoch >= args.training_merge_thresholds[5]: go_through_merge = '32M'
    elif epoch >= args.training_merge_thresholds[0]: go_through_merge = '16M'
    elif epoch >= args.training_merge_thresholds[1]: go_through_merge = '08M'
    elif epoch >= args.training_merge_thresholds[2]: go_through_merge = '04M'
    elif epoch >= args.training_merge_thresholds[3]: go_through_merge = '02M'

    run_losses = [0] * len(args.training_thresholds)
    run_cnts   = [0.00001] * len(args.training_thresholds)
    run_merge_losses = [0] * len(args.training_thresholds)
    run_merge_cnts   = [0.00001] * len(args.training_thresholds)
    if (epoch in args.training_thresholds) == True: 
        adjust_learning_rate(optimizer, epoch, reset_lr=args.base_lr, beg=-1, end=-1)
    if (epoch in args.training_merge_thresholds) == True:
        adjust_learning_rate(optimizer, epoch, reset_lr=args.base_lr, beg=-1, end=-1)
        
    writer.add_scalar('learning rate', optimizer.param_groups[0]['lr'], global_step=epoch)
    for ind, data in enumerate(train_loader, 0):
#         if  ind == 1 : break
        """prepare  training data"""
        input_img, gt_albedo, gt_shading, test_scene, img_path = data
        im = input_img[0,:,:,:].numpy(); im = im.transpose(1,2,0); im = im[:,:,::-1]*255
        input_img, gt_albedo, gt_shading = Variable(input_img), Variable(gt_albedo), Variable(gt_shading)
        if use_gpu: input_img, gt_albedo, gt_shading = input_img.cuda(), gt_albedo.cuda(), gt_shading.cuda()

        if args.display_curindex % args.display_interval == 0: cv2.imwrite('snapshot{}/input.png'.format(args.gpu_num), im)

        optimizer.zero_grad()
        
            
        ft_predict, merged_RGB = net(input_img, go_through_merge=go_through_merge)
        for i, threshold in enumerate(args.training_thresholds):
            if epoch >= threshold:
#             if epoch >= 0:
                """prepare resized gt"""
                if i == 5: s = 1
                else: s = (2**(i+1))
                gt0 = gt_albedo.cpu().data.numpy()
                n,c,h,w = gt0.shape
                gt, display = myutils.processGt(gt0, scale_factor=s, gd=gradient, return_image=True)
                gt_mg, display_mg = myutils.processGt(gt0, scale_factor=s//2, gd=gradient, return_image=True)
                if use_gpu: 
                    gt = gt.cuda()
                    gt_mg = gt_mg.cuda()
                if args.display_curindex % args.display_interval == 0:
                    display = display[:,:,0:3]
                    cv2.imwrite('snapshot{}/gt-{}-{}.png'.format(args.gpu_num, epoch, i), display[:,:,::-1]*255)                
                
                """compute loss"""
                if i != 5: 
                    loss = mse_losses[i](ft_predict[i], gt)
                    run_losses[i] += loss.data.cpu().numpy()[0]
                    loss.backward(retain_graph=True)
                    run_cnts[i] += 1
                
                if go_through_merge != False and i != 4:
                    if ((go_through_merge == '32M') or
                    (go_through_merge == '16M' and i != 5) or  
                    (go_through_merge == '08M' and i != 5 and i > 0) or
                    (go_through_merge == '04M' and i != 5 and i > 1) or
                    (go_through_merge == '02M' and i != 5 and i > 2)):
#                         print(epoch, go_through_merge, i)
                        
#                         print (merged_RGB[i].cpu().data.numpy().max(), merged_RGB[i].cpu().data.numpy().min())
                        if i==5: gt2=gt
                        else: gt2=gt_mg
#                         print(i)
#                         print('merge size', merged_RGB[i].size())
#                         print('gt2 size', gt2.size())
                        loss = mse_merge_losses[i](merged_RGB[i], gt2)
                        run_merge_losses[i] += loss.data.cpu().numpy()[0]
                        loss.backward(retain_graph=True)
                        run_merge_cnts[i] += 1
                
                """save training image"""
                if args.display_curindex % args.display_interval == 0:
                    
                    if i != 5:
                        im = (ft_predict[i].cpu().data.numpy()[0].transpose((1,2,0))+offset) * 255
                        im = im[:,:,0:3]
                        
                        cv2.imwrite('snapshot{}/train-{}-{}.png'.format(args.gpu_num, epoch, i), im[:,:,::-1])
                    
                    if go_through_merge != False and i != 4:
                        if ((go_through_merge == '32M') or
                        (go_through_merge == '16M' and i != 5) or  
                        (go_through_merge == '08M' and i != 5 and i > 0) or
                        (go_through_merge == '04M' and i != 5 and i > 1) or
                        (go_through_merge == '02M' and i != 5 and i > 2)):
                            im = (merged_RGB[i].cpu().data.numpy()[0].transpose((1,2,0))+offset) * 255
                            im = im[:,:,0:3]
                            cv2.imwrite('snapshot{}/train-mg-{}-{}.png'.format(args.gpu_num, epoch, i), im[:,:,::-1])
        optimizer.step()
        args.display_curindex += 1

    """ every epoch """
#     loss_output = 'ind: ' + str(args.display_curindex)
    loss_output = ''
    
    
    
    for i,v in enumerate(run_losses):
        if i == len(run_losses)-1: 
            loss_output += ' merged: %6f' % (run_losses[i] / run_cnts[i])
            continue
        loss_output += ' %2dM: %6f' % ((2**(4-i)), (run_losses[i] / run_cnts[i]))
    print(loss_output)
    loss_output = ''
    for i,v in enumerate(run_merge_losses):
        if i == len(run_merge_losses)-1: 
            loss_output += 'mg merged: %6f' % (run_merge_losses[i] / run_merge_cnts[i])
            continue
        loss_output += ' mg %2dM: %6f' % ((2**(4-i)), (run_merge_losses[i] / run_merge_cnts[i]))
    print(loss_output)
    
    """save at every epoch"""
    if (epoch+1) % 10 == 0:
        torch.save({
            'epoch': epoch,
            'args' : args,
            'state_dict': net.state_dict(),
            'optimizer': optimizer.state_dict()
        }, 'snapshot{}/snapshot-{}.pth.tar'.format(args.gpu_num, epoch))
    
    # test 
    if (epoch+1) % 5 == 0:
        test_model(epoch, phase='train', go_through_merge=go_through_merge)
        test_model(epoch, phase='test', go_through_merge=go_through_merge)

        writer.add_scalars('16M loss', {'train 16M ': np.array([run_losses[0]/ run_cnts[0]])}, global_step=epoch)  
        writer.add_scalars('8M loss', {'train 8M ': np.array([run_losses[1]/ run_cnts[1]])}, global_step=epoch) 
        writer.add_scalars('4M loss', {'train 4M ': np.array([run_losses[2]/ run_cnts[2]])}, global_step=epoch) 
        writer.add_scalars('2M loss', {'train 2M ': np.array([run_losses[3]/ run_cnts[3]])}, global_step=epoch) 
        writer.add_scalars('1M loss', {'train 1M ': np.array([run_losses[4]/ run_cnts[4]])}, global_step=epoch) 
        writer.add_scalars('merged loss', {'train merged ': np.array([run_losses[5]/ run_cnts[5]])}, global_step=epoch)


epoch: 0 [2017-12-12 15:50:57]
 16M: 0.042977  8M: 0.043304  4M: 0.043403  2M: 0.041431  1M: 0.039645 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 1 [2017-12-12 15:52:16]
 16M: 0.032856  8M: 0.032205  4M: 0.035232  2M: 0.037625  1M: 0.036856 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 2 [2017-12-12 15:53:34]
 16M: 0.023343  8M: 0.022938  4M: 0.024168  2M: 0.032162  1M: 0.032214 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 3 [2017-12-12 15:54:51]
 16M: 0.020468  8M: 0.020176  4M: 0.020150  2M: 0.027763  1M: 0.031778 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 4 [2017-12-12 15:56:09]
 16M: 0.019116  8M: 0.018726  4M: 0.019295  2M: 0.023594  1M: 0.026976 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 5 [2017-12-12 15:57:32]
 16M: 0.016312  8M: 0.015675  4M: 0.016235  2M: 0.018690  1M: 0.022302 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 6 [2017-12-12 15:58:50]
 16M: 0.014584  8M: 0.013867  4M: 0.013851  2M: 0.015869  1M: 0.017986 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 7 [2017-12-12 16:00:09]
 16M: 0.013864  8M: 0.013874  4M: 0.012863  2M: 0.014143  1M: 0.016086 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 8 [2017-12-12 16:01:28]
 16M: 0.013122  8M: 0.012208  4M: 0.012181  2M: 0.013439  1M: 0.014455 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 9 [2017-12-12 16:02:47]
 16M: 0.011918  8M: 0.011718  4M: 0.011410  2M: 0.011731  1M: 0.013160 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 10 [2017-12-12 16:04:10]
 16M: 0.010804  8M: 0.011034  4M: 0.009756  2M: 0.011451  1M: 0.012207 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 11 [2017-12-12 16:05:30]
 16M: 0.010425  8M: 0.010265  4M: 0.009341  2M: 0.010835  1M: 0.011334 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 12 [2017-12-12 16:06:47]
 16M: 0.010043  8M: 0.009936  4M: 0.008750  2M: 0.009674  1M: 0.010889 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 13 [2017-12-12 16:08:04]
 16M: 0.010107  8M: 0.009553  4M: 0.008424  2M: 0.010095  1M: 0.010900 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 14 [2017-12-12 16:09:22]
 16M: 0.009462  8M: 0.009212  4M: 0.008357  2M: 0.009501  1M: 0.010079 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 15 [2017-12-12 16:10:44]
 16M: 0.009080  8M: 0.008897  4M: 0.007823  2M: 0.008919  1M: 0.009848 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 16 [2017-12-12 16:12:01]
 16M: 0.008681  8M: 0.008435  4M: 0.007448  2M: 0.008511  1M: 0.009324 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 17 [2017-12-12 16:13:18]
 16M: 0.008712  8M: 0.008364  4M: 0.007708  2M: 0.008402  1M: 0.009244 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 18 [2017-12-12 16:14:35]
 16M: 0.008277  8M: 0.007810  4M: 0.006917  2M: 0.007882  1M: 0.008675 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 19 [2017-12-12 16:15:52]
 16M: 0.008335  8M: 0.007939  4M: 0.006893  2M: 0.007783  1M: 0.008934 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 20 [2017-12-12 16:17:13]
 16M: 0.007956  8M: 0.007852  4M: 0.006690  2M: 0.007602  1M: 0.008405 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 21 [2017-12-12 16:18:31]
 16M: 0.007860  8M: 0.007509  4M: 0.006552  2M: 0.007392  1M: 0.008581 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 22 [2017-12-12 16:19:47]
 16M: 0.007498  8M: 0.007175  4M: 0.006235  2M: 0.006919  1M: 0.007883 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 23 [2017-12-12 16:21:04]
 16M: 0.007585  8M: 0.007200  4M: 0.006213  2M: 0.007041  1M: 0.008036 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 24 [2017-12-12 16:22:20]
 16M: 0.007409  8M: 0.007037  4M: 0.006073  2M: 0.006757  1M: 0.007649 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 25 [2017-12-12 16:23:42]
 16M: 0.007216  8M: 0.006869  4M: 0.006001  2M: 0.006613  1M: 0.007707 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 26 [2017-12-12 16:24:59]
 16M: 0.007005  8M: 0.006650  4M: 0.005727  2M: 0.006200  1M: 0.007063 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 27 [2017-12-12 16:26:15]
 16M: 0.006853  8M: 0.006563  4M: 0.005672  2M: 0.006350  1M: 0.007289 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 28 [2017-12-12 16:27:33]
 16M: 0.006600  8M: 0.006334  4M: 0.005413  2M: 0.006087  1M: 0.006986 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 29 [2017-12-12 16:28:49]
 16M: 0.006672  8M: 0.006105  4M: 0.005382  2M: 0.005878  1M: 0.006784 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.000000 mg  1M: 0.000000mg merged: 0.000000
epoch: 30 [2017-12-12 16:30:11]
 16M: 0.008768  8M: 0.008152  4M: 0.006967  2M: 0.008802  1M: 0.009295 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.034545 mg  1M: 0.000000mg merged: 0.000000
epoch: 31 [2017-12-12 16:31:45]
 16M: 0.007899  8M: 0.007804  4M: 0.006682  2M: 0.009497  1M: 0.009526 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.019000 mg  1M: 0.000000mg merged: 0.000000
epoch: 32 [2017-12-12 16:33:16]
 16M: 0.007482  8M: 0.007105  4M: 0.006288  2M: 0.008303  1M: 0.008973 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.015692 mg  1M: 0.000000mg merged: 0.000000
epoch: 33 [2017-12-12 16:34:49]
 16M: 0.007126  8M: 0.006972  4M: 0.005969  2M: 0.007480  1M: 0.008014 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.013657 mg  1M: 0.000000mg merged: 0.000000
epoch: 34 [2017-12-12 16:36:23]
 16M: 0.006887  8M: 0.006640  4M: 0.005574  2M: 0.006965  1M: 0.007678 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.012495 mg  1M: 0.000000mg merged: 0.000000
epoch: 35 [2017-12-12 16:38:02]
 16M: 0.006512  8M: 0.006140  4M: 0.005338  2M: 0.006687  1M: 0.007858 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.012276 mg  1M: 0.000000mg merged: 0.000000
epoch: 36 [2017-12-12 16:39:35]
 16M: 0.007787  8M: 0.007329  4M: 0.006316  2M: 0.008179  1M: 0.008701 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.014358 mg  1M: 0.000000mg merged: 0.000000
epoch: 37 [2017-12-12 16:41:07]
 16M: 0.007287  8M: 0.006939  4M: 0.006002  2M: 0.007452  1M: 0.007962 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.013242 mg  1M: 0.000000mg merged: 0.000000
epoch: 38 [2017-12-12 16:42:41]
 16M: 0.007310  8M: 0.006874  4M: 0.005870  2M: 0.007083  1M: 0.007649 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.011966 mg  1M: 0.000000mg merged: 0.000000
epoch: 39 [2017-12-12 16:44:16]
 16M: 0.006690  8M: 0.006342  4M: 0.005486  2M: 0.006373  1M: 0.006714 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.010593 mg  1M: 0.000000mg merged: 0.000000
epoch: 40 [2017-12-12 16:45:56]
 16M: 0.006452  8M: 0.006066  4M: 0.005232  2M: 0.006021  1M: 0.006759 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.010080 mg  1M: 0.000000mg merged: 0.000000
epoch: 41 [2017-12-12 16:47:28]
 16M: 0.006408  8M: 0.006068  4M: 0.005314  2M: 0.006100  1M: 0.007171 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.009833 mg  1M: 0.000000mg merged: 0.000000
epoch: 42 [2017-12-12 16:49:02]
 16M: 0.007411  8M: 0.006883  4M: 0.005838  2M: 0.007163  1M: 0.007504 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.011225 mg  1M: 0.000000mg merged: 0.000000
epoch: 43 [2017-12-12 16:50:35]
 16M: 0.007410  8M: 0.007499  4M: 0.006096  2M: 0.007544  1M: 0.007665 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.011610 mg  1M: 0.000000mg merged: 0.000000
epoch: 44 [2017-12-12 16:52:09]
 16M: 0.006705  8M: 0.006373  4M: 0.005447  2M: 0.006403  1M: 0.006872 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.010011 mg  1M: 0.000000mg merged: 0.000000
epoch: 45 [2017-12-12 16:53:46]
 16M: 0.006359  8M: 0.006113  4M: 0.005042  2M: 0.006005  1M: 0.006339 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.009261 mg  1M: 0.000000mg merged: 0.000000
epoch: 46 [2017-12-12 16:55:17]
 16M: 0.006343  8M: 0.006006  4M: 0.005034  2M: 0.005882  1M: 0.006427 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.009199 mg  1M: 0.000000mg merged: 0.000000
epoch: 47 [2017-12-12 16:56:51]
 16M: 0.006042  8M: 0.005754  4M: 0.004798  2M: 0.005470  1M: 0.005821 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.000000 mg  2M: 0.008654 mg  1M: 0.000000mg merged: 0.000000
epoch: 48 [2017-12-12 16:58:23]
 16M: 0.007331  8M: 0.006751  4M: 0.015086  2M: 0.008004  1M: 0.007849 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.032709 mg  2M: 0.012573 mg  1M: 0.000000mg merged: 0.000000
epoch: 49 [2017-12-12 17:00:18]
 16M: 0.006969  8M: 0.006271  4M: 0.009791  2M: 0.007329  1M: 0.007851 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.017601 mg  2M: 0.011491 mg  1M: 0.000000mg merged: 0.000000
epoch: 50 [2017-12-12 17:02:17]
 16M: 0.006432  8M: 0.005965  4M: 0.008265  2M: 0.006599  1M: 0.007047 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.013906 mg  2M: 0.010242 mg  1M: 0.000000mg merged: 0.000000
epoch: 51 [2017-12-12 17:04:15]
 16M: 0.006204  8M: 0.005829  4M: 0.007206  2M: 0.006225  1M: 0.006590 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.011738 mg  2M: 0.009567 mg  1M: 0.000000mg merged: 0.000000
epoch: 52 [2017-12-12 17:06:10]
 16M: 0.005830  8M: 0.005450  4M: 0.006249  2M: 0.005614  1M: 0.006068 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.010088 mg  2M: 0.008840 mg  1M: 0.000000mg merged: 0.000000
epoch: 53 [2017-12-12 17:08:04]
 16M: 0.005890  8M: 0.005425  4M: 0.005786  2M: 0.005611  1M: 0.006086 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.009839 mg  2M: 0.008995 mg  1M: 0.000000mg merged: 0.000000
epoch: 54 [2017-12-12 17:09:57]
 16M: 0.006637  8M: 0.006534  4M: 0.007461  2M: 0.006288  1M: 0.006581 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.011853 mg  2M: 0.009713 mg  1M: 0.000000mg merged: 0.000000
epoch: 55 [2017-12-12 17:11:56]
 16M: 0.006615  8M: 0.006241  4M: 0.006878  2M: 0.006533  1M: 0.006716 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.011087 mg  2M: 0.009799 mg  1M: 0.000000mg merged: 0.000000
epoch: 56 [2017-12-12 17:13:51]
 16M: 0.006411  8M: 0.006120  4M: 0.007432  2M: 0.006042  1M: 0.006309 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.010369 mg  2M: 0.009240 mg  1M: 0.000000mg merged: 0.000000
epoch: 57 [2017-12-12 17:15:45]
 16M: 0.005904  8M: 0.005745  4M: 0.006090  2M: 0.005568  1M: 0.006126 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.009185 mg  2M: 0.008706 mg  1M: 0.000000mg merged: 0.000000
epoch: 58 [2017-12-12 17:17:39]
 16M: 0.005527  8M: 0.005159  4M: 0.005242  2M: 0.005097  1M: 0.005467 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.007884 mg  2M: 0.007792 mg  1M: 0.000000mg merged: 0.000000
epoch: 59 [2017-12-12 17:19:32]
 16M: 0.005525  8M: 0.005291  4M: 0.005479  2M: 0.005177  1M: 0.005586 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.008038 mg  2M: 0.008054 mg  1M: 0.000000mg merged: 0.000000
epoch: 60 [2017-12-12 17:21:32]
 16M: 0.006212  8M: 0.005897  4M: 0.005992  2M: 0.005827  1M: 0.006130 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.009361 mg  2M: 0.008824 mg  1M: 0.000000mg merged: 0.000000
epoch: 61 [2017-12-12 17:23:26]
 16M: 0.006102  8M: 0.005760  4M: 0.005767  2M: 0.005617  1M: 0.005947 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.008792 mg  2M: 0.008652 mg  1M: 0.000000mg merged: 0.000000
epoch: 62 [2017-12-12 17:25:20]
 16M: 0.006045  8M: 0.005583  4M: 0.005529  2M: 0.005494  1M: 0.005947 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.008358 mg  2M: 0.008427 mg  1M: 0.000000mg merged: 0.000000
epoch: 63 [2017-12-12 17:27:14]
 16M: 0.005728  8M: 0.005384  4M: 0.005317  2M: 0.005156  1M: 0.005717 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.007789 mg  2M: 0.007999 mg  1M: 0.000000mg merged: 0.000000
epoch: 64 [2017-12-12 17:29:08]
 16M: 0.005503  8M: 0.005121  4M: 0.004859  2M: 0.004863  1M: 0.005185 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.007184 mg  2M: 0.007498 mg  1M: 0.000000mg merged: 0.000000
epoch: 65 [2017-12-12 17:31:07]
 16M: 0.005283  8M: 0.005061  4M: 0.004718  2M: 0.004767  1M: 0.005089 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.000000 mg  4M: 0.007096 mg  2M: 0.007460 mg  1M: 0.000000mg merged: 0.000000
epoch: 66 [2017-12-12 17:33:01]
 16M: 0.006298  8M: 0.007976  4M: 0.007749  2M: 0.006429  1M: 0.006390 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.023685 mg  4M: 0.011243 mg  2M: 0.009671 mg  1M: 0.000000mg merged: 0.000000
epoch: 67 [2017-12-12 17:35:23]
 16M: 0.006166  8M: 0.006960  4M: 0.006665  2M: 0.006056  1M: 0.006453 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.013507 mg  4M: 0.009593 mg  2M: 0.009313 mg  1M: 0.000000mg merged: 0.000000
epoch: 68 [2017-12-12 17:37:44]
 16M: 0.005715  8M: 0.006177  4M: 0.005521  2M: 0.005469  1M: 0.005782 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.010622 mg  4M: 0.008128 mg  2M: 0.008335 mg  1M: 0.000000mg merged: 0.000000
epoch: 69 [2017-12-12 17:40:07]
 16M: 0.005583  8M: 0.005924  4M: 0.005363  2M: 0.005415  1M: 0.005703 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.009484 mg  4M: 0.007874 mg  2M: 0.008222 mg  1M: 0.000000mg merged: 0.000000
epoch: 70 [2017-12-12 17:42:35]
 16M: 0.005333  8M: 0.005399  4M: 0.004955  2M: 0.005085  1M: 0.005245 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.008158 mg  4M: 0.007200 mg  2M: 0.007653 mg  1M: 0.000000mg merged: 0.000000
epoch: 71 [2017-12-12 17:44:59]
 16M: 0.005161  8M: 0.005309  4M: 0.004892  2M: 0.004962  1M: 0.005371 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007721 mg  4M: 0.007288 mg  2M: 0.007759 mg  1M: 0.000000mg merged: 0.000000
epoch: 72 [2017-12-12 17:47:23]
 16M: 0.006124  8M: 0.006682  4M: 0.005708  2M: 0.005986  1M: 0.006448 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.009805 mg  4M: 0.008402 mg  2M: 0.008877 mg  1M: 0.000000mg merged: 0.000000
epoch: 73 [2017-12-12 17:49:44]
 16M: 0.005884  8M: 0.006185  4M: 0.005514  2M: 0.005487  1M: 0.005768 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.008948 mg  4M: 0.008190 mg  2M: 0.008427 mg  1M: 0.000000mg merged: 0.000000
epoch: 74 [2017-12-12 17:52:07]
 16M: 0.005684  8M: 0.005851  4M: 0.005226  2M: 0.005218  1M: 0.005376 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007964 mg  4M: 0.007442 mg  2M: 0.007972 mg  1M: 0.000000mg merged: 0.000000
epoch: 75 [2017-12-12 17:54:36]
 16M: 0.005372  8M: 0.005311  4M: 0.004765  2M: 0.004969  1M: 0.005264 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007264 mg  4M: 0.007015 mg  2M: 0.007615 mg  1M: 0.000000mg merged: 0.000000
epoch: 76 [2017-12-12 17:57:00]
 16M: 0.005297  8M: 0.005189  4M: 0.004626  2M: 0.004853  1M: 0.005153 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007024 mg  4M: 0.006780 mg  2M: 0.007592 mg  1M: 0.000000mg merged: 0.000000
epoch: 77 [2017-12-12 17:59:23]
 16M: 0.005019  8M: 0.004971  4M: 0.004438  2M: 0.004706  1M: 0.005059 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.006588 mg  4M: 0.006566 mg  2M: 0.007456 mg  1M: 0.000000mg merged: 0.000000
epoch: 78 [2017-12-12 18:01:46]
 16M: 0.005698  8M: 0.005570  4M: 0.005058  2M: 0.005068  1M: 0.005417 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007645 mg  4M: 0.007331 mg  2M: 0.007820 mg  1M: 0.000000mg merged: 0.000000
epoch: 79 [2017-12-12 18:04:09]
 16M: 0.005530  8M: 0.005603  4M: 0.004998  2M: 0.005184  1M: 0.005223 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.007437 mg  4M: 0.007121 mg  2M: 0.007733 mg  1M: 0.000000mg merged: 0.000000
epoch: 80 [2017-12-12 18:06:38]
 16M: 0.005288  8M: 0.005259  4M: 0.004667  2M: 0.004774  1M: 0.005046 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.006939 mg  4M: 0.006700 mg  2M: 0.007435 mg  1M: 0.000000mg merged: 0.000000
epoch: 81 [2017-12-12 18:09:01]
 16M: 0.005122  8M: 0.005222  4M: 0.004444  2M: 0.004590  1M: 0.004921 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.006564 mg  4M: 0.006448 mg  2M: 0.007182 mg  1M: 0.000000mg merged: 0.000000
epoch: 82 [2017-12-12 18:11:25]
 16M: 0.004976  8M: 0.004897  4M: 0.004339  2M: 0.004524  1M: 0.004728 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.006251 mg  4M: 0.006284 mg  2M: 0.007090 mg  1M: 0.000000mg merged: 0.000000
epoch: 83 [2017-12-12 18:13:49]
 16M: 0.004882  8M: 0.004758  4M: 0.004273  2M: 0.004453  1M: 0.004601 merged: 0.000000
 mg 16M: 0.000000 mg  8M: 0.006113 mg  4M: 0.006220 mg  2M: 0.007089 mg  1M: 0.000000mg merged: 0.000000
epoch: 84 [2017-12-12 18:16:14]
 16M: 0.009555  8M: 0.006814  4M: 0.006570  2M: 0.006168  1M: 0.005351 merged: 0.000000
 mg 16M: 0.021183 mg  8M: 0.009952 mg  4M: 0.008815 mg  2M: 0.009191 mg  1M: 0.000000mg merged: 0.000000
epoch: 85 [2017-12-12 18:19:55]
 16M: 0.006915  8M: 0.006325  4M: 0.009228  2M: 0.006430  1M: 0.005810 merged: 0.000000
 mg 16M: 0.011663 mg  8M: 0.008836 mg  4M: 0.010587 mg  2M: 0.009776 mg  1M: 0.000000mg merged: 0.000000
epoch: 86 [2017-12-12 18:23:28]
 16M: 0.006289  8M: 0.005660  4M: 0.005853  2M: 0.005326  1M: 0.005343 merged: 0.000000
 mg 16M: 0.009288 mg  8M: 0.007595 mg  4M: 0.007890 mg  2M: 0.008100 mg  1M: 0.000000mg merged: 0.000000
epoch: 87 [2017-12-12 18:27:00]
 16M: 0.005652  8M: 0.005230  4M: 0.005240  2M: 0.005030  1M: 0.005123 merged: 0.000000
 mg 16M: 0.007755 mg  8M: 0.006777 mg  4M: 0.007201 mg  2M: 0.007754 mg  1M: 0.000000mg merged: 0.000000
epoch: 88 [2017-12-12 18:30:33]
 16M: 0.005438  8M: 0.005007  4M: 0.004860  2M: 0.004829  1M: 0.004893 merged: 0.000000
 mg 16M: 0.007077 mg  8M: 0.006346 mg  4M: 0.006705 mg  2M: 0.007378 mg  1M: 0.000000mg merged: 0.000000
epoch: 89 [2017-12-12 18:34:07]
 16M: 0.005157  8M: 0.004882  4M: 0.004660  2M: 0.004656  1M: 0.004749 merged: 0.000000
 mg 16M: 0.006647 mg  8M: 0.006188 mg  4M: 0.006494 mg  2M: 0.007421 mg  1M: 0.000000mg merged: 0.000000
epoch: 90 [2017-12-12 18:37:46]
 16M: 0.006258  8M: 0.006145  4M: 0.005600  2M: 0.005797  1M: 0.005276 merged: 0.000000
 mg 16M: 0.008815 mg  8M: 0.007725 mg  4M: 0.007671 mg  2M: 0.008360 mg  1M: 0.000000mg merged: 0.000000
epoch: 91 [2017-12-12 18:41:19]
 16M: 0.006112  8M: 0.005501  4M: 0.005578  2M: 0.005068  1M: 0.005261 merged: 0.000000
 mg 16M: 0.007817 mg  8M: 0.007007 mg  4M: 0.007359 mg  2M: 0.008000 mg  1M: 0.000000mg merged: 0.000000
epoch: 92 [2017-12-12 18:44:50]
 16M: 0.005351  8M: 0.004957  4M: 0.004756  2M: 0.004773  1M: 0.004975 merged: 0.000000
 mg 16M: 0.006629 mg  8M: 0.006326 mg  4M: 0.006694 mg  2M: 0.007503 mg  1M: 0.000000mg merged: 0.000000
epoch: 93 [2017-12-12 18:48:21]
 16M: 0.005170  8M: 0.004871  4M: 0.004517  2M: 0.004528  1M: 0.004801 merged: 0.000000
 mg 16M: 0.006151 mg  8M: 0.006038 mg  4M: 0.006364 mg  2M: 0.007245 mg  1M: 0.000000mg merged: 0.000000
epoch: 94 [2017-12-12 18:51:53]
 16M: 0.005012  8M: 0.004650  4M: 0.004307  2M: 0.004469  1M: 0.004523 merged: 0.000000
 mg 16M: 0.005720 mg  8M: 0.005716 mg  4M: 0.006118 mg  2M: 0.007059 mg  1M: 0.000000mg merged: 0.000000
epoch: 95 [2017-12-12 18:55:32]
 16M: 0.005026  8M: 0.004753  4M: 0.004366  2M: 0.004529  1M: 0.004582 merged: 0.000000
 mg 16M: 0.005818 mg  8M: 0.005886 mg  4M: 0.006194 mg  2M: 0.007108 mg  1M: 0.000000mg merged: 0.000000
epoch: 96 [2017-12-12 18:59:05]
 16M: 0.006131  8M: 0.006047  4M: 0.006390  2M: 0.005107  1M: 0.005080 merged: 0.000000
 mg 16M: 0.007563 mg  8M: 0.007266 mg  4M: 0.007545 mg  2M: 0.007823 mg  1M: 0.000000mg merged: 0.000000
epoch: 97 [2017-12-12 19:02:37]
 16M: 0.005465  8M: 0.005204  4M: 0.005261  2M: 0.004860  1M: 0.004979 merged: 0.000000
 mg 16M: 0.006643 mg  8M: 0.006554 mg  4M: 0.006863 mg  2M: 0.007415 mg  1M: 0.000000mg merged: 0.000000
epoch: 98 [2017-12-12 19:06:10]
 16M: 0.005528  8M: 0.005192  4M: 0.004979  2M: 0.004686  1M: 0.004722 merged: 0.000000
 mg 16M: 0.006296 mg  8M: 0.006291 mg  4M: 0.006565 mg  2M: 0.007152 mg  1M: 0.000000mg merged: 0.000000
epoch: 99 [2017-12-12 19:09:42]
 16M: 0.005119  8M: 0.004778  4M: 0.004680  2M: 0.004307  1M: 0.004527 merged: 0.000000
 mg 16M: 0.005654 mg  8M: 0.005713 mg  4M: 0.006103 mg  2M: 0.006753 mg  1M: 0.000000mg merged: 0.000000
epoch: 100 [2017-12-12 19:13:22]
 16M: 0.004871  8M: 0.004522  4M: 0.004218  2M: 0.004244  1M: 0.004368 merged: 0.000000
 mg 16M: 0.005371 mg  8M: 0.005522 mg  4M: 0.005940 mg  2M: 0.006748 mg  1M: 0.000000mg merged: 0.000000
epoch: 101 [2017-12-12 19:16:54]
 16M: 0.004729  8M: 0.004556  4M: 0.004297  2M: 0.004337  1M: 0.004444 merged: 0.000000
 mg 16M: 0.005236 mg  8M: 0.005534 mg  4M: 0.005932 mg  2M: 0.006899 mg  1M: 0.000000mg merged: 0.000000
epoch: 102 [2017-12-12 19:20:26]
 16M: 0.006943  8M: 0.005932  4M: 0.005683  2M: 0.004928  1M: 0.004809 merged: 0.000000
 mg 16M: 0.010839 mg  8M: 0.007489 mg  4M: 0.007456 mg  2M: 0.007600 mg  1M: 0.000000mg merged: 0.010839
epoch: 103 [2017-12-12 19:24:52]
 16M: 0.008075  8M: 0.008068  4M: 0.008094  2M: 0.006138  1M: 0.005996 merged: 0.000000
 mg 16M: 0.011919 mg  8M: 0.009644 mg  4M: 0.010328 mg  2M: 0.009706 mg  1M: 0.000000mg merged: 0.011919
epoch: 104 [2017-12-12 19:29:20]
 16M: 0.007731  8M: 0.006825  4M: 0.006830  2M: 0.006749  1M: 0.005913 merged: 0.000000
 mg 16M: 0.010352 mg  8M: 0.008609 mg  4M: 0.009603 mg  2M: 0.009635 mg  1M: 0.000000mg merged: 0.010352
epoch: 105 [2017-12-12 19:33:55]
 16M: 0.006520  8M: 0.006071  4M: 0.005465  2M: 0.005375  1M: 0.005492 merged: 0.000000
 mg 16M: 0.008438 mg  8M: 0.007314 mg  4M: 0.007605 mg  2M: 0.008332 mg  1M: 0.000000mg merged: 0.008438
epoch: 106 [2017-12-12 19:38:23]
 16M: 0.006407  8M: 0.005713  4M: 0.005448  2M: 0.005272  1M: 0.005880 merged: 0.000000
 mg 16M: 0.007866 mg  8M: 0.007145 mg  4M: 0.007742 mg  2M: 0.008444 mg  1M: 0.000000mg merged: 0.007866
epoch: 107 [2017-12-12 19:42:50]
 16M: 0.006602  8M: 0.006112  4M: 0.006054  2M: 0.005314  1M: 0.005673 merged: 0.000000
 mg 16M: 0.008446 mg  8M: 0.007158 mg  4M: 0.007643 mg  2M: 0.008093 mg  1M: 0.000000mg merged: 0.008446
epoch: 108 [2017-12-12 19:47:19]
 16M: 0.005949  8M: 0.006024  4M: 0.005617  2M: 0.005076  1M: 0.005313 merged: 0.000000
 mg 16M: 0.007169 mg  8M: 0.006829 mg  4M: 0.007125 mg  2M: 0.007739 mg  1M: 0.000000mg merged: 0.007169
epoch: 109 [2017-12-12 19:51:47]
 16M: 0.006127  8M: 0.005700  4M: 0.006375  2M: 0.005798  1M: 0.006581 merged: 0.000000
 mg 16M: 0.007308 mg  8M: 0.006976 mg  4M: 0.007764 mg  2M: 0.008543 mg  1M: 0.000000mg merged: 0.007308
epoch: 110 [2017-12-12 19:56:29]
 16M: 0.005643  8M: 0.005231  4M: 0.005227  2M: 0.005274  1M: 0.005444 merged: 0.000000
 mg 16M: 0.006315 mg  8M: 0.006289 mg  4M: 0.006899 mg  2M: 0.007812 mg  1M: 0.000000mg merged: 0.006315
epoch: 111 [2017-12-12 20:00:57]
 16M: 0.005504  8M: 0.005096  4M: 0.004802  2M: 0.004810  1M: 0.005031 merged: 0.000000
 mg 16M: 0.005984 mg  8M: 0.006135 mg  4M: 0.006644 mg  2M: 0.007484 mg  1M: 0.000000mg merged: 0.005984
epoch: 112 [2017-12-12 20:05:27]
 16M: 0.005476  8M: 0.005168  4M: 0.004675  2M: 0.004665  1M: 0.005035 merged: 0.000000
 mg 16M: 0.005949 mg  8M: 0.005942 mg  4M: 0.006313 mg  2M: 0.007225 mg  1M: 0.000000mg merged: 0.005949
epoch: 113 [2017-12-12 20:09:55]
 16M: 0.005617  8M: 0.005778  4M: 0.004968  2M: 0.004912  1M: 0.005256 merged: 0.000000
 mg 16M: 0.006244 mg  8M: 0.006281 mg  4M: 0.006728 mg  2M: 0.007584 mg  1M: 0.000000mg merged: 0.006244
epoch: 114 [2017-12-12 20:14:21]
 16M: 0.005302  8M: 0.005097  4M: 0.004850  2M: 0.004827  1M: 0.004800 merged: 0.000000
 mg 16M: 0.005848 mg  8M: 0.006115 mg  4M: 0.006666 mg  2M: 0.007473 mg  1M: 0.000000mg merged: 0.005848
epoch: 115 [2017-12-12 20:18:58]
 16M: 0.005293  8M: 0.005044  4M: 0.004708  2M: 0.004619  1M: 0.004750 merged: 0.000000
 mg 16M: 0.005697 mg  8M: 0.005812 mg  4M: 0.006301 mg  2M: 0.007110 mg  1M: 0.000000mg merged: 0.005697
epoch: 116 [2017-12-12 20:23:25]
 16M: 0.005056  8M: 0.004678  4M: 0.004432  2M: 0.004518  1M: 0.004582 merged: 0.000000
 mg 16M: 0.005335 mg  8M: 0.005578 mg  4M: 0.006156 mg  2M: 0.007028 mg  1M: 0.000000mg merged: 0.005335
epoch: 117 [2017-12-12 20:27:53]
 16M: 0.005197  8M: 0.004780  4M: 0.004596  2M: 0.004579  1M: 0.004563 merged: 0.000000
 mg 16M: 0.005521 mg  8M: 0.005559 mg  4M: 0.006000 mg  2M: 0.006876 mg  1M: 0.000000mg merged: 0.005521
epoch: 118 [2017-12-12 20:32:25]
 16M: 0.005150  8M: 0.004713  4M: 0.004479  2M: 0.004491  1M: 0.004749 merged: 0.000000
 mg 16M: 0.005153 mg  8M: 0.005520 mg  4M: 0.006115 mg  2M: 0.007052 mg  1M: 0.000000mg merged: 0.005153
epoch: 119 [2017-12-12 20:36:54]
 16M: 0.004982  8M: 0.004677  4M: 0.004345  2M: 0.004383  1M: 0.004525 merged: 0.000000
 mg 16M: 0.005169 mg  8M: 0.005467 mg  4M: 0.005978 mg  2M: 0.006851 mg  1M: 0.000000mg merged: 0.005169
epoch: 120 [2017-12-12 20:41:30]
 16M: 0.005055  8M: 0.004647  4M: 0.004493  2M: 0.004407  1M: 0.004344 merged: 0.000000
 mg 16M: 0.005070 mg  8M: 0.005412 mg  4M: 0.006018 mg  2M: 0.006826 mg  1M: 0.000000mg merged: 0.005070
epoch: 121 [2017-12-12 20:46:03]
 16M: 0.005000  8M: 0.004801  4M: 0.004359  2M: 0.004435  1M: 0.004560 merged: 0.000000
 mg 16M: 0.005066 mg  8M: 0.005466 mg  4M: 0.006024 mg  2M: 0.006916 mg  1M: 0.000000mg merged: 0.005066
epoch: 122 [2017-12-12 20:50:40]
 16M: 0.004809  8M: 0.004614  4M: 0.004159  2M: 0.004307  1M: 0.004369 merged: 0.000000
 mg 16M: 0.004908 mg  8M: 0.005269 mg  4M: 0.005782 mg  2M: 0.006719 mg  1M: 0.000000mg merged: 0.004908
epoch: 123 [2017-12-12 20:55:07]
 16M: 0.004722  8M: 0.004476  4M: 0.004050  2M: 0.004210  1M: 0.004393 merged: 0.000000
 mg 16M: 0.004794 mg  8M: 0.005213 mg  4M: 0.005756 mg  2M: 0.006715 mg  1M: 0.000000mg merged: 0.004794
epoch: 124 [2017-12-12 20:59:41]
 16M: 0.004745  8M: 0.004375  4M: 0.004036  2M: 0.004178  1M: 0.004279 merged: 0.000000
 mg 16M: 0.004807 mg  8M: 0.005154 mg  4M: 0.005628 mg  2M: 0.006576 mg  1M: 0.000000mg merged: 0.004807
epoch: 125 [2017-12-12 21:04:26]
 16M: 0.004860  8M: 0.004484  4M: 0.004089  2M: 0.004182  1M: 0.004506 merged: 0.000000
 mg 16M: 0.004712 mg  8M: 0.005122 mg  4M: 0.005676 mg  2M: 0.006643 mg  1M: 0.000000mg merged: 0.004712
epoch: 126 [2017-12-12 21:09:05]
 16M: 0.004834  8M: 0.004516  4M: 0.004192  2M: 0.004351  1M: 0.004424 merged: 0.000000
 mg 16M: 0.005102 mg  8M: 0.005388 mg  4M: 0.006025 mg  2M: 0.006766 mg  1M: 0.000000mg merged: 0.005102
epoch: 127 [2017-12-12 21:13:42]
 16M: 0.004730  8M: 0.004457  4M: 0.004274  2M: 0.004379  1M: 0.004386 merged: 0.000000
 mg 16M: 0.004672 mg  8M: 0.005190 mg  4M: 0.006126 mg  2M: 0.006831 mg  1M: 0.000000mg merged: 0.004672
epoch: 128 [2017-12-12 21:18:20]
 16M: 0.004890  8M: 0.004659  4M: 0.004310  2M: 0.004768  1M: 0.004532 merged: 0.000000
 mg 16M: 0.004911 mg  8M: 0.005445 mg  4M: 0.006438 mg  2M: 0.007404 mg  1M: 0.000000mg merged: 0.004911
epoch: 129 [2017-12-12 21:22:57]
 16M: 0.004537  8M: 0.004241  4M: 0.004005  2M: 0.004967  1M: 0.004329 merged: 0.000000
 mg 16M: 0.004693 mg  8M: 0.005214 mg  4M: 0.006274 mg  2M: 0.007659 mg  1M: 0.000000mg merged: 0.004693
epoch: 130 [2017-12-12 21:27:43]
 16M: 0.004788  8M: 0.004401  4M: 0.004037  2M: 0.004750  1M: 0.004422 merged: 0.000000
 mg 16M: 0.004881 mg  8M: 0.005288 mg  4M: 0.006175 mg  2M: 0.007388 mg  1M: 0.000000mg merged: 0.004881
epoch: 131 [2017-12-12 21:32:20]
 16M: 0.004458  8M: 0.004241  4M: 0.003829  2M: 0.004825  1M: 0.004248 merged: 0.000000
 mg 16M: 0.004431 mg  8M: 0.005020 mg  4M: 0.005778 mg  2M: 0.007297 mg  1M: 0.000000mg merged: 0.004431
epoch: 132 [2017-12-12 21:36:57]
 16M: 0.004406  8M: 0.004160  4M: 0.003815  2M: 0.004978  1M: 0.004182 merged: 0.000000
 mg 16M: 0.004465 mg  8M: 0.004984 mg  4M: 0.005746 mg  2M: 0.007411 mg  1M: 0.000000mg merged: 0.004465
epoch: 133 [2017-12-12 21:41:33]
 16M: 0.004411  8M: 0.004188  4M: 0.003799  2M: 0.004656  1M: 0.004080 merged: 0.000000
 mg 16M: 0.004481 mg  8M: 0.004959 mg  4M: 0.005728 mg  2M: 0.007149 mg  1M: 0.000000mg merged: 0.004481
epoch: 134 [2017-12-12 21:46:11]
 16M: 0.004493  8M: 0.004248  4M: 0.003858  2M: 0.004675  1M: 0.004240 merged: 0.000000
 mg 16M: 0.004482 mg  8M: 0.005051 mg  4M: 0.005739 mg  2M: 0.007131 mg  1M: 0.000000mg merged: 0.004482
epoch: 135 [2017-12-12 21:50:57]
 16M: 0.004497  8M: 0.004317  4M: 0.003822  2M: 0.004363  1M: 0.004113 merged: 0.000000
 mg 16M: 0.004426 mg  8M: 0.005032 mg  4M: 0.005714 mg  2M: 0.006948 mg  1M: 0.000000mg merged: 0.004426
epoch: 136 [2017-12-12 21:55:33]
 16M: 0.004512  8M: 0.004333  4M: 0.003762  2M: 0.004545  1M: 0.004174 merged: 0.000000
 mg 16M: 0.004429 mg  8M: 0.004948 mg  4M: 0.005611 mg  2M: 0.007089 mg  1M: 0.000000mg merged: 0.004429
epoch: 137 [2017-12-12 22:00:11]
 16M: 0.004427  8M: 0.004216  4M: 0.003682  2M: 0.004274  1M: 0.004086 merged: 0.000000
 mg 16M: 0.004290 mg  8M: 0.004872 mg  4M: 0.005514 mg  2M: 0.006774 mg  1M: 0.000000mg merged: 0.004290
epoch: 138 [2017-12-12 22:04:49]
 16M: 0.004633  8M: 0.004298  4M: 0.003889  2M: 0.004414  1M: 0.004127 merged: 0.000000
 mg 16M: 0.004571 mg  8M: 0.005006 mg  4M: 0.005653 mg  2M: 0.006887 mg  1M: 0.000000mg merged: 0.004571
epoch: 139 [2017-12-12 22:09:27]
 16M: 0.004361  8M: 0.004118  4M: 0.003780  2M: 0.010410  1M: 0.004185 merged: 0.000000
 mg 16M: 0.004287 mg  8M: 0.004867 mg  4M: 0.005750 mg  2M: 0.009123 mg  1M: 0.000000mg merged: 0.004287
epoch: 140 [2017-12-12 22:14:12]
 16M: 0.004602  8M: 0.004474  4M: 0.003904  2M: 0.007085  1M: 0.004216 merged: 0.000000
 mg 16M: 0.004573 mg  8M: 0.005151 mg  4M: 0.005812 mg  2M: 0.008184 mg  1M: 0.000000mg merged: 0.004573
epoch: 141 [2017-12-12 22:18:49]
 16M: 0.004392  8M: 0.004206  4M: 0.003775  2M: 0.006148  1M: 0.004204 merged: 0.000000
 mg 16M: 0.004371 mg  8M: 0.004961 mg  4M: 0.005674 mg  2M: 0.007647 mg  1M: 0.000000mg merged: 0.004371
epoch: 142 [2017-12-12 22:23:27]
 16M: 0.004435  8M: 0.004123  4M: 0.003745  2M: 0.005523  1M: 0.004353 merged: 0.000000
 mg 16M: 0.004231 mg  8M: 0.004848 mg  4M: 0.005637 mg  2M: 0.007622 mg  1M: 0.000000mg merged: 0.004231
epoch: 143 [2017-12-12 22:28:06]
 16M: 0.004302  8M: 0.004092  4M: 0.003733  2M: 0.005134  1M: 0.004650 merged: 0.000000
 mg 16M: 0.004285 mg  8M: 0.004910 mg  4M: 0.005764 mg  2M: 0.007868 mg  1M: 0.000000mg merged: 0.004285
epoch: 144 [2017-12-12 22:32:43]
 16M: 0.004231  8M: 0.004017  4M: 0.003661  2M: 0.005053  1M: 0.004260 merged: 0.000000
 mg 16M: 0.004160 mg  8M: 0.004799 mg  4M: 0.005585 mg  2M: 0.007421 mg  1M: 0.000000mg merged: 0.004160
epoch: 145 [2017-12-12 22:37:28]
 16M: 0.004350  8M: 0.004053  4M: 0.003706  2M: 0.004908  1M: 0.004169 merged: 0.000000
 mg 16M: 0.004096 mg  8M: 0.004711 mg  4M: 0.005474 mg  2M: 0.007188 mg  1M: 0.000000mg merged: 0.004096
epoch: 146 [2017-12-12 22:42:04]
 16M: 0.004385  8M: 0.004096  4M: 0.003655  2M: 0.005214  1M: 0.004359 merged: 0.000000
 mg 16M: 0.004219 mg  8M: 0.004840 mg  4M: 0.005701 mg  2M: 0.007756 mg  1M: 0.000000mg merged: 0.004219
epoch: 147 [2017-12-12 22:46:36]
 16M: 0.004189  8M: 0.004046  4M: 0.003673  2M: 0.005061  1M: 0.004152 merged: 0.000000
 mg 16M: 0.004181 mg  8M: 0.004762 mg  4M: 0.005527 mg  2M: 0.007384 mg  1M: 0.000000mg merged: 0.004181
epoch: 148 [2017-12-12 22:51:06]
 16M: 0.004285  8M: 0.004001  4M: 0.003650  2M: 0.004705  1M: 0.004140 merged: 0.000000
 mg 16M: 0.004012 mg  8M: 0.004689 mg  4M: 0.005444 mg  2M: 0.007091 mg  1M: 0.000000mg merged: 0.004012
epoch: 149 [2017-12-12 22:55:36]
 16M: 0.004342  8M: 0.004011  4M: 0.003553  2M: 0.004498  1M: 0.003979 merged: 0.000000
 mg 16M: 0.004013 mg  8M: 0.004647 mg  4M: 0.005278 mg  2M: 0.006851 mg  1M: 0.000000mg merged: 0.004013
epoch: 150 [2017-12-12 23:00:12]
 16M: 0.004365  8M: 0.003953  4M: 0.003540  2M: 0.004500  1M: 0.003929 merged: 0.000000
 mg 16M: 0.004046 mg  8M: 0.004650 mg  4M: 0.005318 mg  2M: 0.006765 mg  1M: 0.000000mg merged: 0.004046
epoch: 151 [2017-12-12 23:04:41]
 16M: 0.004082  8M: 0.003907  4M: 0.003478  2M: 0.004455  1M: 0.003961 merged: 0.000000
 mg 16M: 0.003904 mg  8M: 0.004575 mg  4M: 0.005326 mg  2M: 0.006813 mg  1M: 0.000000mg merged: 0.003904
epoch: 152 [2017-12-12 23:09:09]
 16M: 0.004084  8M: 0.003853  4M: 0.003555  2M: 0.004469  1M: 0.004012 merged: 0.000000
 mg 16M: 0.003904 mg  8M: 0.004554 mg  4M: 0.005265 mg  2M: 0.006838 mg  1M: 0.000000mg merged: 0.003904
epoch: 153 [2017-12-12 23:13:37]
 16M: 0.004138  8M: 0.003884  4M: 0.003631  2M: 0.004972  1M: 0.004113 merged: 0.000000
 mg 16M: 0.003890 mg  8M: 0.004573 mg  4M: 0.005389 mg  2M: 0.007205 mg  1M: 0.000000mg merged: 0.003890
epoch: 154 [2017-12-12 23:18:05]
 16M: 0.004131  8M: 0.003937  4M: 0.003563  2M: 0.004908  1M: 0.003989 merged: 0.000000
 mg 16M: 0.003941 mg  8M: 0.004638 mg  4M: 0.005359 mg  2M: 0.007025 mg  1M: 0.000000mg merged: 0.003941
epoch: 155 [2017-12-12 23:22:39]
 16M: 0.004118  8M: 0.003840  4M: 0.003520  2M: 0.005112  1M: 0.003945 merged: 0.000000
 mg 16M: 0.003875 mg  8M: 0.004569 mg  4M: 0.005372 mg  2M: 0.007301 mg  1M: 0.000000mg merged: 0.003875
epoch: 156 [2017-12-12 23:27:05]
 16M: 0.003967  8M: 0.003772  4M: 0.003408  2M: 0.004834  1M: 0.003921 merged: 0.000000
 mg 16M: 0.003764 mg  8M: 0.004453 mg  4M: 0.005198 mg  2M: 0.007021 mg  1M: 0.000000mg merged: 0.003764
epoch: 157 [2017-12-12 23:31:33]
 16M: 0.004126  8M: 0.003804  4M: 0.003477  2M: 0.005423  1M: 0.004031 merged: 0.000000
 mg 16M: 0.003993 mg  8M: 0.004590 mg  4M: 0.005357 mg  2M: 0.007387 mg  1M: 0.000000mg merged: 0.003993
epoch: 158 [2017-12-12 23:36:00]
 16M: 0.003964  8M: 0.003746  4M: 0.003376  2M: 0.004960  1M: 0.003763 merged: 0.000000
 mg 16M: 0.003774 mg  8M: 0.004464 mg  4M: 0.005165 mg  2M: 0.006944 mg  1M: 0.000000mg merged: 0.003774
epoch: 159 [2017-12-12 23:40:29]
 16M: 0.004013  8M: 0.003760  4M: 0.003370  2M: 0.004855  1M: 0.003835 merged: 0.000000
 mg 16M: 0.003817 mg  8M: 0.004489 mg  4M: 0.005197 mg  2M: 0.006873 mg  1M: 0.000000mg merged: 0.003817
epoch: 160 [2017-12-12 23:45:03]
 16M: 0.003960  8M: 0.003790  4M: 0.003381  2M: 0.004893  1M: 0.003974 merged: 0.000000
 mg 16M: 0.003726 mg  8M: 0.004461 mg  4M: 0.005140 mg  2M: 0.006963 mg  1M: 0.000000mg merged: 0.003726
epoch: 161 [2017-12-12 23:49:31]
 16M: 0.003926  8M: 0.003743  4M: 0.003367  2M: 0.004890  1M: 0.003881 merged: 0.000000
 mg 16M: 0.003668 mg  8M: 0.004384 mg  4M: 0.005102 mg  2M: 0.006888 mg  1M: 0.000000mg merged: 0.003668
epoch: 162 [2017-12-12 23:54:00]
 16M: 0.003806  8M: 0.003631  4M: 0.003253  2M: 0.004501  1M: 0.003692 merged: 0.000000
 mg 16M: 0.003617 mg  8M: 0.004302 mg  4M: 0.004981 mg  2M: 0.006570 mg  1M: 0.000000mg merged: 0.003617
epoch: 163 [2017-12-12 23:58:30]
 16M: 0.003838  8M: 0.003673  4M: 0.003327  2M: 0.004437  1M: 0.003874 merged: 0.000000
 mg 16M: 0.003703 mg  8M: 0.004382 mg  4M: 0.005154 mg  2M: 0.006711 mg  1M: 0.000000mg merged: 0.003703
epoch: 164 [2017-12-13 00:03:00]
 16M: 0.003923  8M: 0.003766  4M: 0.003474  2M: 0.004405  1M: 0.003858 merged: 0.000000
 mg 16M: 0.003687 mg  8M: 0.004436 mg  4M: 0.005217 mg  2M: 0.006770 mg  1M: 0.000000mg merged: 0.003687
epoch: 165 [2017-12-13 00:07:36]
 16M: 0.003831  8M: 0.003640  4M: 0.003323  2M: 0.004218  1M: 0.003883 merged: 0.000000
 mg 16M: 0.003589 mg  8M: 0.004315 mg  4M: 0.005047 mg  2M: 0.006519 mg  1M: 0.000000mg merged: 0.003589
epoch: 166 [2017-12-13 00:12:06]
 16M: 0.003849  8M: 0.003684  4M: 0.003333  2M: 0.004235  1M: 0.003840 merged: 0.000000
 mg 16M: 0.003591 mg  8M: 0.004328 mg  4M: 0.005042 mg  2M: 0.006601 mg  1M: 0.000000mg merged: 0.003591
epoch: 167 [2017-12-13 00:16:35]
 16M: 0.004005  8M: 0.003819  4M: 0.003409  2M: 0.004602  1M: 0.003849 merged: 0.000000
 mg 16M: 0.003742 mg  8M: 0.004448 mg  4M: 0.005123 mg  2M: 0.006737 mg  1M: 0.000000mg merged: 0.003742
epoch: 168 [2017-12-13 00:21:04]
 16M: 0.003844  8M: 0.003619  4M: 0.003228  2M: 0.004239  1M: 0.003623 merged: 0.000000
 mg 16M: 0.003546 mg  8M: 0.004230 mg  4M: 0.004898 mg  2M: 0.006453 mg  1M: 0.000000mg merged: 0.003546
epoch: 169 [2017-12-13 00:25:34]
 16M: 0.003839  8M: 0.003613  4M: 0.003224  2M: 0.004233  1M: 0.003849 merged: 0.000000
 mg 16M: 0.003632 mg  8M: 0.004324 mg  4M: 0.005017 mg  2M: 0.006587 mg  1M: 0.000000mg merged: 0.003632
epoch: 170 [2017-12-13 00:30:10]
 16M: 0.003834  8M: 0.003625  4M: 0.003219  2M: 0.004228  1M: 0.003689 merged: 0.000000
 mg 16M: 0.003562 mg  8M: 0.004259 mg  4M: 0.004911 mg  2M: 0.006386 mg  1M: 0.000000mg merged: 0.003562
epoch: 171 [2017-12-13 00:34:38]
 16M: 0.003767  8M: 0.003539  4M: 0.003165  2M: 0.004077  1M: 0.003831 merged: 0.000000
 mg 16M: 0.003545 mg  8M: 0.004243 mg  4M: 0.004936 mg  2M: 0.006375 mg  1M: 0.000000mg merged: 0.003545
epoch: 172 [2017-12-13 00:39:08]
 16M: 0.003728  8M: 0.003479  4M: 0.003191  2M: 0.004015  1M: 0.003671 merged: 0.000000
 mg 16M: 0.003438 mg  8M: 0.004123 mg  4M: 0.004788 mg  2M: 0.006119 mg  1M: 0.000000mg merged: 0.003438
epoch: 173 [2017-12-13 00:43:38]
 16M: 0.003827  8M: 0.003723  4M: 0.003258  2M: 0.004225  1M: 0.003846 merged: 0.000000
 mg 16M: 0.003606 mg  8M: 0.004280 mg  4M: 0.004933 mg  2M: 0.006456 mg  1M: 0.000000mg merged: 0.003606
epoch: 174 [2017-12-13 00:48:08]
 16M: 0.003674  8M: 0.003505  4M: 0.003184  2M: 0.004100  1M: 0.003777 merged: 0.000000
 mg 16M: 0.003451 mg  8M: 0.004172 mg  4M: 0.004889 mg  2M: 0.006426 mg  1M: 0.000000mg merged: 0.003451
epoch: 175 [2017-12-13 00:52:44]
 16M: 0.003714  8M: 0.003478  4M: 0.003136  2M: 0.003989  1M: 0.003700 merged: 0.000000
 mg 16M: 0.003445 mg  8M: 0.004128 mg  4M: 0.004818 mg  2M: 0.006320 mg  1M: 0.000000mg merged: 0.003445
epoch: 176 [2017-12-13 00:57:12]
 16M: 0.003665  8M: 0.003501  4M: 0.003139  2M: 0.004022  1M: 0.003697 merged: 0.000000
 mg 16M: 0.003444 mg  8M: 0.004124 mg  4M: 0.004800 mg  2M: 0.006286 mg  1M: 0.000000mg merged: 0.003444
epoch: 177 [2017-12-13 01:01:42]
 16M: 0.003754  8M: 0.003594  4M: 0.003207  2M: 0.004033  1M: 0.003646 merged: 0.000000
 mg 16M: 0.003466 mg  8M: 0.004196 mg  4M: 0.004847 mg  2M: 0.006276 mg  1M: 0.000000mg merged: 0.003466
epoch: 178 [2017-12-13 01:06:12]
 16M: 0.003725  8M: 0.003497  4M: 0.003144  2M: 0.003845  1M: 0.003524 merged: 0.000000
 mg 16M: 0.003424 mg  8M: 0.004114 mg  4M: 0.004792 mg  2M: 0.006169 mg  1M: 0.000000mg merged: 0.003424
epoch: 179 [2017-12-13 01:10:39]
 16M: 0.003822  8M: 0.003612  4M: 0.003210  2M: 0.003868  1M: 0.003578 merged: 0.000000
 mg 16M: 0.003530 mg  8M: 0.004244 mg  4M: 0.004903 mg  2M: 0.006304 mg  1M: 0.000000mg merged: 0.003530
epoch: 180 [2017-12-13 01:15:15]
 16M: 0.003624  8M: 0.003521  4M: 0.003139  2M: 0.003860  1M: 0.003569 merged: 0.000000
 mg 16M: 0.003359 mg  8M: 0.004116 mg  4M: 0.004799 mg  2M: 0.006161 mg  1M: 0.000000mg merged: 0.003359
epoch: 181 [2017-12-13 01:19:45]
 16M: 0.003613  8M: 0.003438  4M: 0.003077  2M: 0.003675  1M: 0.003461 merged: 0.000000
 mg 16M: 0.003313 mg  8M: 0.004036 mg  4M: 0.004672 mg  2M: 0.005957 mg  1M: 0.000000mg merged: 0.003313
epoch: 182 [2017-12-13 01:24:14]
 16M: 0.003674  8M: 0.003478  4M: 0.003178  2M: 0.003793  1M: 0.003577 merged: 0.000000
 mg 16M: 0.003383 mg  8M: 0.004098 mg  4M: 0.004775 mg  2M: 0.006125 mg  1M: 0.000000mg merged: 0.003383
epoch: 183 [2017-12-13 01:28:43]
 16M: 0.003636  8M: 0.003438  4M: 0.003096  2M: 0.003763  1M: 0.003554 merged: 0.000000
 mg 16M: 0.003355 mg  8M: 0.004051 mg  4M: 0.004724 mg  2M: 0.006105 mg  1M: 0.000000mg merged: 0.003355
epoch: 184 [2017-12-13 01:33:12]
 16M: 0.003602  8M: 0.003379  4M: 0.003044  2M: 0.003778  1M: 0.003564 merged: 0.000000
 mg 16M: 0.003284 mg  8M: 0.004009 mg  4M: 0.004667 mg  2M: 0.006194 mg  1M: 0.000000mg merged: 0.003284
epoch: 185 [2017-12-13 01:37:48]
 16M: 0.003568  8M: 0.003383  4M: 0.003068  2M: 0.003823  1M: 0.003578 merged: 0.000000
 mg 16M: 0.003270 mg  8M: 0.004034 mg  4M: 0.004738 mg  2M: 0.006188 mg  1M: 0.000000mg merged: 0.003270
epoch: 186 [2017-12-13 01:42:16]
 16M: 0.003639  8M: 0.003457  4M: 0.003104  2M: 0.003731  1M: 0.003580 merged: 0.000000
 mg 16M: 0.003294 mg  8M: 0.004045 mg  4M: 0.004720 mg  2M: 0.006125 mg  1M: 0.000000mg merged: 0.003294
epoch: 187 [2017-12-13 01:46:44]
 16M: 0.003488  8M: 0.003335  4M: 0.003003  2M: 0.003607  1M: 0.003424 merged: 0.000000
 mg 16M: 0.003231 mg  8M: 0.003984 mg  4M: 0.004660 mg  2M: 0.005952 mg  1M: 0.000000mg merged: 0.003231
epoch: 188 [2017-12-13 01:51:12]
 16M: 0.003557  8M: 0.003356  4M: 0.003059  2M: 0.003769  1M: 0.003554 merged: 0.000000
 mg 16M: 0.003289 mg  8M: 0.004020 mg  4M: 0.004698 mg  2M: 0.006154 mg  1M: 0.000000mg merged: 0.003289
epoch: 189 [2017-12-13 01:55:40]
 16M: 0.003570  8M: 0.003394  4M: 0.003086  2M: 0.003749  1M: 0.003561 merged: 0.000000
 mg 16M: 0.003284 mg  8M: 0.004032 mg  4M: 0.004713 mg  2M: 0.006100 mg  1M: 0.000000mg merged: 0.003284
epoch: 190 [2017-12-13 02:00:18]
 16M: 0.003525  8M: 0.003354  4M: 0.003015  2M: 0.003706  1M: 0.003418 merged: 0.000000
 mg 16M: 0.003211 mg  8M: 0.003938 mg  4M: 0.004555 mg  2M: 0.005922 mg  1M: 0.000000mg merged: 0.003211
epoch: 191 [2017-12-13 02:04:48]
 16M: 0.003632  8M: 0.003389  4M: 0.003060  2M: 0.003810  1M: 0.003488 merged: 0.000000
 mg 16M: 0.003260 mg  8M: 0.003966 mg  4M: 0.004622 mg  2M: 0.006032 mg  1M: 0.000000mg merged: 0.003260
epoch: 192 [2017-12-13 02:09:18]
 16M: 0.003464  8M: 0.003301  4M: 0.002972  2M: 0.003637  1M: 0.003447 merged: 0.000000
 mg 16M: 0.003145 mg  8M: 0.003910 mg  4M: 0.004558 mg  2M: 0.005897 mg  1M: 0.000000mg merged: 0.003145
epoch: 193 [2017-12-13 02:13:47]
 16M: 0.003562  8M: 0.003388  4M: 0.003031  2M: 0.003701  1M: 0.003443 merged: 0.000000
 mg 16M: 0.003244 mg  8M: 0.003985 mg  4M: 0.004622 mg  2M: 0.005930 mg  1M: 0.000000mg merged: 0.003244
epoch: 194 [2017-12-13 02:18:15]
 16M: 0.003496  8M: 0.003271  4M: 0.002958  2M: 0.003575  1M: 0.003348 merged: 0.000000
 mg 16M: 0.003192 mg  8M: 0.003927 mg  4M: 0.004601 mg  2M: 0.005865 mg  1M: 0.000000mg merged: 0.003192
epoch: 195 [2017-12-13 02:22:51]
 16M: 0.003469  8M: 0.003334  4M: 0.002975  2M: 0.003554  1M: 0.003353 merged: 0.000000
 mg 16M: 0.003200 mg  8M: 0.003952 mg  4M: 0.004583 mg  2M: 0.005882 mg  1M: 0.000000mg merged: 0.003200
epoch: 196 [2017-12-13 02:27:19]
 16M: 0.003553  8M: 0.003361  4M: 0.002987  2M: 0.003575  1M: 0.003370 merged: 0.000000
 mg 16M: 0.003212 mg  8M: 0.003966 mg  4M: 0.004591 mg  2M: 0.005843 mg  1M: 0.000000mg merged: 0.003212
epoch: 197 [2017-12-13 02:31:47]
 16M: 0.003497  8M: 0.003307  4M: 0.002962  2M: 0.003546  1M: 0.003314 merged: 0.000000
 mg 16M: 0.003157 mg  8M: 0.003908 mg  4M: 0.004554 mg  2M: 0.005772 mg  1M: 0.000000mg merged: 0.003157
epoch: 198 [2017-12-13 02:36:15]
 16M: 0.003556  8M: 0.003348  4M: 0.003043  2M: 0.003610  1M: 0.003451 merged: 0.000000
 mg 16M: 0.003182 mg  8M: 0.003935 mg  4M: 0.004575 mg  2M: 0.005852 mg  1M: 0.000000mg merged: 0.003182
epoch: 199 [2017-12-13 02:40:43]
 16M: 0.003465  8M: 0.003318  4M: 0.002947  2M: 0.003501  1M: 0.003315 merged: 0.000000
 mg 16M: 0.003133 mg  8M: 0.003847 mg  4M: 0.004455 mg  2M: 0.005666 mg  1M: 0.000000mg merged: 0.003133
epoch: 200 [2017-12-13 02:45:19]
 16M: 0.003492  8M: 0.003333  4M: 0.002973  2M: 0.003526  1M: 0.003358 merged: 0.000000
 mg 16M: 0.003151 mg  8M: 0.003882 mg  4M: 0.004509 mg  2M: 0.005708 mg  1M: 0.000000mg merged: 0.003151
epoch: 201 [2017-12-13 02:49:47]
 16M: 0.003370  8M: 0.003242  4M: 0.002912  2M: 0.003616  1M: 0.003338 merged: 0.000000
 mg 16M: 0.003077 mg  8M: 0.003854 mg  4M: 0.004509 mg  2M: 0.005864 mg  1M: 0.000000mg merged: 0.003077
epoch: 202 [2017-12-13 02:54:15]
 16M: 0.003443  8M: 0.003259  4M: 0.002955  2M: 0.003625  1M: 0.003490 merged: 0.000000
 mg 16M: 0.003119 mg  8M: 0.003906 mg  4M: 0.004601 mg  2M: 0.005985 mg  1M: 0.000000mg merged: 0.003119
epoch: 203 [2017-12-13 02:58:42]
 16M: 0.003430  8M: 0.003239  4M: 0.002915  2M: 0.003608  1M: 0.003358 merged: 0.000000
 mg 16M: 0.003111 mg  8M: 0.003897 mg  4M: 0.004587 mg  2M: 0.005965 mg  1M: 0.000000mg merged: 0.003111
epoch: 204 [2017-12-13 03:03:10]
 16M: 0.003419  8M: 0.003231  4M: 0.002926  2M: 0.003618  1M: 0.003486 merged: 0.000000
 mg 16M: 0.003099 mg  8M: 0.003853 mg  4M: 0.004546 mg  2M: 0.005945 mg  1M: 0.000000mg merged: 0.003099

Visualize Graph


In [ ]:
from graphviz import Digraph
import torch
from torch.autograd import Variable


def make_dot(var, params=None):
    """ Produces Graphviz representation of PyTorch autograd graph
    Blue nodes are the Variables that require grad, orange are Tensors
    saved for backward in torch.autograd.Function
    Args:
        var: output Variable
        params: dict of (name, Variable) to add names to node that
            require grad (TODO: make optional)
    """
    if params is not None:
        assert isinstance(params.values()[0], Variable)
        param_map = {id(v): k for k, v in params.items()}

    node_attr = dict(style='filled',
                     shape='box',
                     align='left',
                     fontsize='12',
                     ranksep='0.1',
                     height='0.2')
    dot = Digraph(node_attr=node_attr, graph_attr=dict(size="10240,10240"), format='svg')
    seen = set()

    def size_to_str(size):
        return '('+(', ').join(['%d' % v for v in size])+')'

    def add_nodes(var):
        if var not in seen:
            if torch.is_tensor(var):
                dot.node(str(id(var)), size_to_str(var.size()), fillcolor='orange')
            elif hasattr(var, 'variable'):
                u = var.variable
                name = param_map[id(u)] if params is not None else ''
                node_name = '%s\n %s' % (name, size_to_str(u.size()))
                dot.node(str(id(var)), node_name, fillcolor='lightblue')
            else:
                dot.node(str(id(var)), str(type(var).__name__))
            seen.add(var)
            if hasattr(var, 'next_functions'):
                for u in var.next_functions:
                    if u[0] is not None:
                        dot.edge(str(id(u[0])), str(id(var)))
                        add_nodes(u[0])
            if hasattr(var, 'saved_tensors'):
                for t in var.saved_tensors:
                    dot.edge(str(id(t)), str(id(var)))
                    add_nodes(t)
    add_nodes(var.grad_fn)
    return dot

In [ ]:
# x = Variable(torch.zeros(1,3,256,256))
# y = net(x.cuda())
# g = make_dot(y[-1])

In [ ]:
# g.render('net-transition_scale_{}'.format(transition_scale))

In [ ]: