def test_parseArr_dim0_fails(self): ''' Verify fails for 0-dim input when K > 1 ''' PB2 = ParamBag(K=2, D=1) with self.assertRaises(ValueError): x = PB2.parseArr(1.23, dims=('K')) with self.assertRaises(ValueError): x = PB2.parseArr(1.23, dims='K')
def test_parseArr_dim2_passes(self): PB2 = ParamBag(K=2, D=2) x = PB2.parseArr(np.eye(2), dims=('K', 'D')) assert x.ndim == 2 and x.size == 4 PB31 = ParamBag(K=3, D=1) x = PB31.parseArr([[10], [11], [12]], dims=('K', 'D')) assert x.ndim == 2 and x.size == 3
def test_parseArr_dim2_passes(self): PB2 = ParamBag(K=2, D=2) x = PB2.parseArr(np.eye(2), dims=('K','D')) assert x.ndim == 2 and x.size == 4 PB31 = ParamBag(K=3, D=1) x = PB31.parseArr([[10],[11],[12]], dims=('K','D')) assert x.ndim == 2 and x.size == 3
def test_parseArr_dim3_fails(self): PB = ParamBag(K=2, D=2) with self.assertRaises(ValueError): x = PB.parseArr([[[1., 2]]], dims=('K')) with self.assertRaises(ValueError): x = PB.parseArr([[[1., 2]]], dims=('K', 'D')) with self.assertRaises(ValueError): x = PB.parseArr(np.random.randn(3, 3, 3), dims=('K', 'D')) with self.assertRaises(ValueError): x = PB.parseArr(np.random.randn(3, 3, 3), dims=('K', 'D', 'D'))
def test_parseArr_dim3_fails(self): PB = ParamBag(K=2, D=2) with self.assertRaises(ValueError): x = PB.parseArr([[[1.,2]]], dims=('K')) with self.assertRaises(ValueError): x = PB.parseArr([[[1.,2]]], dims=('K','D')) with self.assertRaises(ValueError): x = PB.parseArr(np.random.randn(3,3,3), dims=('K','D')) with self.assertRaises(ValueError): x = PB.parseArr(np.random.randn(3,3,3), dims=('K','D','D'))
def test_parseArr_dim0_passes(self): PB1 = ParamBag(K=1, D=1) x = PB1.parseArr(1.23, dims=None) assert x.ndim == 0 and x.size == 1 x = PB1.parseArr([1.23], dims=('K')) assert x.ndim == 1 and x.size == 1 PB2 = ParamBag(K=2, D=1) x = PB2.parseArr(1.23, dims=None) assert x.ndim == 0 and x.size == 1 PB5 = ParamBag(K=5, D=40) x = PB5.parseArr(1.23, dims=None) assert x.ndim == 0 and x.size == 1
def test_parseArr_dim2_fails(self): PB2 = ParamBag(K=2, D=2) with self.assertRaises(ValueError): x = PB2.parseArr([[1., 2]], dims=('K')) with self.assertRaises(ValueError): x = PB2.parseArr([[1., 2]], dims=('K', 'D')) with self.assertRaises(ValueError): x = PB2.parseArr(np.eye(3), dims=('K', 'D')) PB1 = ParamBag(K=1, D=2) with self.assertRaises(ValueError): # should be 1x2x2, not 2x2 x = PB1.parseArr(np.eye(2), dims=('K', 'D', 'D'))
def test_parseArr_dim2_fails(self): PB2 = ParamBag(K=2, D=2) with self.assertRaises(ValueError): x = PB2.parseArr([[1.,2]], dims=('K')) with self.assertRaises(ValueError): x = PB2.parseArr([[1.,2]], dims=('K','D')) with self.assertRaises(ValueError): x = PB2.parseArr(np.eye(3), dims=('K','D')) PB1 = ParamBag(K=1, D=2) with self.assertRaises(ValueError): # should be 1x2x2, not 2x2 x = PB1.parseArr(np.eye(2), dims=('K','D','D'))
def test_parseArr_dim1_passes(self): # K = 1, D = 1 PB1 = ParamBag(K=1, D=1) x = PB1.parseArr([1.23], dims='K') assert x.ndim == 1 and x.size == 1 x = PB1.parseArr([[1.23]], dims=('K', 'D')) assert x.ndim == 2 and x.size == 1 # K = *, D = 1 PB2 = ParamBag(K=2, D=1) x = PB2.parseArr([1., 2.], dims='K') assert x.ndim == 1 and x.size == 2 x = PB2.parseArr([[1.], [2.]], dims=('K', 'D')) assert x.ndim == 2 and x.size == 2 # K = 1, D = * PB3 = ParamBag(K=1, D=3) x = PB3.parseArr([[1., 2., 3.]], dims=('K', 'D')) assert x.ndim == 2 and x.size == 3 # K = *, D = * PB2 = ParamBag(K=4, D=1) x = PB2.parseArr([[1.], [2.], [3.], [4.]], dims=('K', 'D')) assert x.ndim == 2 and x.size == 4 N = PB2.parseArr([1., 2., 3., 4.], dims='K') assert N.ndim == 1 and N.size == 4
def test_parseArr_dim1_passes(self): # K = 1, D = 1 PB1 = ParamBag(K=1, D=1) x = PB1.parseArr([1.23], dims='K') assert x.ndim == 1 and x.size == 1 x = PB1.parseArr([[1.23]], dims=('K','D')) assert x.ndim == 2 and x.size == 1 # K = *, D = 1 PB2 = ParamBag(K=2, D=1) x = PB2.parseArr([1.,2.], dims='K') assert x.ndim == 1 and x.size == 2 x = PB2.parseArr([[1.],[2.]], dims=('K','D')) assert x.ndim == 2 and x.size == 2 # K = 1, D = * PB3 = ParamBag(K=1, D=3) x = PB3.parseArr([[1., 2., 3.]], dims=('K','D')) assert x.ndim == 2 and x.size == 3 # K = *, D = * PB2 = ParamBag(K=4, D=1) x = PB2.parseArr([[1.],[2.],[3.],[4.]], dims=('K','D')) assert x.ndim == 2 and x.size == 4 N = PB2.parseArr([1.,2.,3.,4.], dims='K') assert N.ndim == 1 and N.size == 4
def test_parseArr_dim3_passes(self): K = 2 D = 2 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.randn(K, D, D), dims=('K', 'D', 'D')) assert x.ndim == 3 and x.size == K * D * D K = 1 D = 2 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.rand(K, D, D), dims=('K', 'D', 'D')) assert x.ndim == 3 and x.size == K * D * D K = 3 D = 1 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.rand(K, D, D), dims=('K', 'D', 'D')) assert x.ndim == 3 and x.size == K * D * D
def test_parseArr_dim1_fails(self): PB1 = ParamBag(K=1, D=1) with self.assertRaises(ValueError): x = PB1.parseArr([1.23], dims=('K', 'D')) PB2 = ParamBag(K=2, D=1) with self.assertRaises(ValueError): x = PB2.parseArr([1.23], dims=('K')) with self.assertRaises(ValueError): x = PB2.parseArr([1.23], dims=('K', 'D')) PB3 = ParamBag(K=1, D=3) with self.assertRaises(ValueError): x = PB3.parseArr([1., 2.], dims=('K', 'D')) PB3 = ParamBag(K=2, D=3) with self.assertRaises(ValueError): x = PB3.parseArr([1., 2., 3., 4., 5., 6.], dims=('K', 'D'))
def test_parseArr_dim3_passes(self): K=2 D=2 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.randn(K,D,D), dims=('K','D','D')) assert x.ndim == 3 and x.size == K*D*D K=1 D=2 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.rand(K,D,D), dims=('K','D', 'D')) assert x.ndim == 3 and x.size == K*D*D K=3 D=1 PB = ParamBag(K=K, D=D) x = PB.parseArr(np.random.rand(K,D,D), dims=('K','D', 'D')) assert x.ndim == 3 and x.size == K*D*D
def test_parseArr_dim1_fails(self): PB1 = ParamBag(K=1, D=1) with self.assertRaises(ValueError): x = PB1.parseArr([1.23], dims=('K','D')) PB2 = ParamBag(K=2, D=1) with self.assertRaises(ValueError): x = PB2.parseArr([1.23], dims=('K')) with self.assertRaises(ValueError): x = PB2.parseArr([1.23], dims=('K','D')) PB3 = ParamBag(K=1, D=3) with self.assertRaises(ValueError): x = PB3.parseArr([1.,2.], dims=('K','D')) PB3 = ParamBag(K=2, D=3) with self.assertRaises(ValueError): x = PB3.parseArr([1.,2.,3.,4.,5.,6.], dims=('K','D'))