Start putting together the losses

This commit is contained in:
Abe Levitan
2019-03-22 19:59:40 -04:00
parent 83673dfecd
commit 595e84cd01
3 changed files with 32 additions and 9 deletions
+15 -9
View File
@@ -15,7 +15,7 @@ __all__ = ['amplitude_mse', 'intensity_mse', 'poisson_ml']
def amplitude_mse(intensities, sim_intensities, mask=None):
""" Returns the mean squared error of a simulated dataset's amplitudes
Calculates the summed mean squared error between a given set of
Calculates the mean squared error between a given set of
measured diffraction intensities and a simulated set.
This function calculates the mean squared error between their
@@ -45,10 +45,11 @@ def amplitude_mse(intensities, sim_intensities, mask=None):
if mask is None:
return t.sum((t.sqrt(sim_intensities) -
t.sqrt(intensities))**2)
t.sqrt(intensities))**2) / intensities.view(-1).shape[0]
else:
masked_intensities = intensities.masked_select(mask)
return t.sum((t.sqrt(sim_intensities.masked_select(mask)) -
t.sqrt(intensities.masked_select(mask)))**2)
t.sqrt(masked_intensities))**2) / masked_intensities.shape[0]
@@ -74,10 +75,13 @@ def intensity_mse(intensities, sim_intensities, mask=None):
"""
if mask is None:
return t.sum((sim_intensities - intensities)**2)
return t.sum((sim_intensities - intensities)**2) \
/ intensities.view(-1).shape[0]
else:
masked_intensities = intensities.masked_select(mask)
return t.sum((sim_intensities.masked_select(mask) -
intensities.masked_select(mask))**2)
masked_intensities)**2) \
/ masked_intensities.shape[0]
@@ -105,8 +109,10 @@ def poisson_ml(intensities, sim_intensities, mask=None):
"""
if mask is None:
t.sum(simulated_intensities -
intensities * t.log(simulated_intensities))
intensities * t.log(simulated_intensities)) \
/ intensities.view(-1).shape[0]
else:
return t.sum(simulated_intensities.masked_select(mask) -
intensities.masked_select(mask) *
t.log(simulated_intensities.masked_select(mask)))
masked_intensities = intensities.masked_select(mask)
masked_sims = simulated_intensities.masked_select(mask)
return t.sum(masked_sims - masked_intensities *
t.log(masked_sims)) / masked_intensities.shape[0]
+1
View File
@@ -0,0 +1 @@
abe@paulsimon.2556:1553086360
+16
View File
@@ -0,0 +1,16 @@
from __future__ import division, print_function, absolute_import
from CDTools.tools import losses
from CDTools.tools import cmath
import numpy as np
import torch as t
def test_amplitude_mse():
pass
def test_intensity_mse():
pass
def test_poisson_ml():
pass