def test_ones(): """Tests ones""" # Scalar ones = ops.ones([1]) assert isinstance(ones, tf.Tensor) assert ones.ndim == 1 assert ones.shape[0] == 1 assert ones.numpy() == 1.0 # 1D ones = ops.ones([5]) assert isinstance(ones, tf.Tensor) assert ones.ndim == 1 assert ones.shape[0] == 5 assert all(ones.numpy() == 1.0) # 2D ones = ops.ones([5, 4]) assert isinstance(ones, tf.Tensor) assert ones.ndim == 2 assert ones.shape[0] == 5 assert ones.shape[1] == 4 assert np.all(ones.numpy() == 1.0) # 3D ones = ops.ones([5, 4, 3]) assert isinstance(ones, tf.Tensor) assert ones.ndim == 3 assert ones.shape[0] == 5 assert ones.shape[1] == 4 assert ones.shape[2] == 3 assert np.all(ones.numpy() == 1.0)
def __init__( self, k: int = 2, shape: Union[int, List[int]] = [], posterior=Categorical, prior=None, transform=None, initializer={"probs": xavier}, var_transform={"probs": O.additive_logistic_transform}, name="CategoricalParameter", ): # Check type of k if not isinstance(k, int): raise TypeError("k must be an integer") if k < 2: raise ValueError("k must be >1") # Make shape a list if isinstance(shape, int): shape = [shape] # Use a uniform prior if prior is None: prior = Categorical(O.ones(shape) / float(k)) # Create shape of underlying variable array shape = shape + [k - 1] # Initialize the parameter super().__init__( shape=shape, posterior=posterior, prior=prior, transform=transform, initializer=initializer, var_transform=var_transform, name=name, ) # shape should correspond to the sample shape self.shape = shape
def __init__( self, k: int = 2, shape: Union[int, List[int]] = [], posterior=Dirichlet, prior=None, transform=None, initializer={"concentration": pos_xavier}, var_transform={"concentration": O.softplus}, name="DirichletParameter", ): # Check type of k if not isinstance(k, int): raise TypeError("k must be an integer") if k < 2: raise ValueError("k must be >1") # Make shape a list if isinstance(shape, int): shape = [shape] # Create shape of underlying variable array shape = shape + [k] # Use a uniform prior if prior is None: prior = Dirichlet(O.ones(shape)) # Initialize the parameter super().__init__( shape=shape, posterior=posterior, prior=prior, transform=transform, initializer=initializer, var_transform=var_transform, name=name, )
def init(shape): return val * O.ones(shape)