コード例 #1
0
ファイル: variables_changed.py プロジェクト: mhinne/Brancher
 def __init__(self, data, name, learnable=False, is_observed=False):
     self._current_value = coerce_to_dtype(data, is_observed)
     self.name = name
     self._observed = is_observed
     self.parents = ()
     self.learnable = learnable
     if learnable:
         self.link = L.Bias(axis=1, shape=self._current_value.shape[1:])
コード例 #2
0
ファイル: variables.py プロジェクト: ghosthamlet/Brancher
 def __init__(self, data, name, learnable=False, is_observed=False):
     self.name = name
     self.distribution = distributions.DeterministicDistribution()
     self._evaluated = False
     self._observed = is_observed
     self.parents = set()
     self.ancestors = set()
     self._type = "Deterministic"
     self.learnable = learnable
     self.link = None
     self._value = coerce_to_dtype(data, is_observed)
     if self.learnable:
         if not is_discrete(data):
             self._value = torch.nn.Parameter(coerce_to_dtype(data, is_observed), requires_grad=True)
             self.link = ParameterModule(self._value) # add to optimizer; opt checks links
         else:
             self.learnable = False
             warnings.warn('Currently discrete parameters are not learnable. Learnable set to False')
コード例 #3
0
ファイル: variables_changed.py プロジェクト: mhinne/Brancher
 def observe(self, data, random_indices=()):
     """
     Summary
     """
     if isinstance(data, RandomVariable):
         self.dataset = data
         self.has_random_dataset = True
     else:
         self._observed_value = coerce_to_dtype(data, is_observed=True)
         self.has_observed_value = True
     self._observed = True
コード例 #4
0
ファイル: variables.py プロジェクト: Immiora/Brancher
    def observe(self, data):
        """
        Method. It assigns an observed value to a RandomVariable.

        Args:
            data: torch.Tensor, numeric, or np.ndarray. Input observed data.

        Returns:
            None

        """
        data = pandas_frame2value(data, self.name)
        if isinstance(data, RandomVariable):
            self.dataset = data
            self.has_random_dataset = True
        else:
            self._observed_value = coerce_to_dtype(data, is_observed=True)
            self.has_observed_value = True
        self._observed = True
コード例 #5
0
ファイル: gpu_checks.py プロジェクト: Immiora/Brancher
#
# import numpy as np
#

#
# x = np.random.normal(size=(10, 3))
# T = coerce_to_dtype(x)
# T.device

##
import numpy as np

from brancher.variables import ProbabilisticModel
from brancher.standard_variables import NormalVariable, LaplaceVariable, CauchyVariable, LogNormalVariable
from brancher import inference
from brancher.config import device
from brancher.utilities import coerce_to_dtype
print('Current device: ' + device.type)

# # Real model
# nu_real = 1.
# mu_real = -2.
# x_real = LaplaceVariable(mu_real, nu_real, "x_real")
# data = x_real._get_sample(number_samples=50)

##
import pandas as pd
x = np.random.normal(size=(10, 3))
d = pd.DataFrame(x)
t = coerce_to_dtype(d)
print(type(t))
コード例 #6
0
 def value(self, val):
     self._current_value = coerce_to_dtype(val)
コード例 #7
0
 def value(self, val):
     self._current_value = coerce_to_dtype(val,
                                           is_observed=self.is_observed)
コード例 #8
0
from importlib import reload

is_observed = False


##
def check_value_datatype(t):
    print(t)
    print(type(t))
    print('Shape: ', t.shape)
    print('Dtype: ', t.dtype)


##
data = 1
t = utilities.coerce_to_dtype(data, is_observed)
check_value_datatype(t)

##
data = 1.4
utilities.coerce_to_dtype(data, is_observed)

##
data = np.float64(4.3)
utilities.coerce_to_dtype(data, is_observed)

##
data = np.int8(4.3)
utilities.coerce_to_dtype(data, is_observed)

##