当前位置: 首页>>代码示例>>Python>>正文


Python tensorflow.matrix_solve方法代码示例

本文整理汇总了Python中tensorflow.matrix_solve方法的典型用法代码示例。如果您正苦于以下问题:Python tensorflow.matrix_solve方法的具体用法?Python tensorflow.matrix_solve怎么用?Python tensorflow.matrix_solve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tensorflow的用法示例。


在下文中一共展示了tensorflow.matrix_solve方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _verifySolve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def _verifySolve(self, x, y, batch_dims=None):
    for adjoint in False, True:
      for np_type in [np.float32, np.float64, np.complex64, np.complex128]:
        if np_type is [np.float32, np.float64]:
          a = x.real().astype(np_type)
          b = y.real().astype(np_type)
        else:
          a = x.astype(np_type)
          b = y.astype(np_type)
        if adjoint:
          a_np = np.conj(np.transpose(a))
        else:
          a_np = a
        if batch_dims is not None:
          a = np.tile(a, batch_dims + [1, 1])
          a_np = np.tile(a_np, batch_dims + [1, 1])
          b = np.tile(b, batch_dims + [1, 1])

        np_ans = np.linalg.solve(a_np, b)
        with self.test_session():
          tf_ans = tf.matrix_solve(a, b, adjoint=adjoint)
          out = tf_ans.eval()
          self.assertEqual(tf_ans.get_shape(), out.shape)
          self.assertEqual(np_ans.shape, out.shape)
          self.assertAllClose(np_ans, out) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:27,代码来源:matrix_solve_op_test.py

示例2: init_train_updates

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def init_train_updates(self):
        penalty_const = asfloat(self.penalty_const)

        n_parameters = self.network.n_parameters
        variables = self.network.variables
        parameters = [var for var in variables.values() if var.trainable]
        param_vector = make_single_vector(parameters)

        hessian_matrix, full_gradient = find_hessian_and_gradient(
            self.variables.loss, parameters
        )
        parameter_update = tf.matrix_solve(
            hessian_matrix + penalty_const * tf.eye(n_parameters),
            tf.reshape(full_gradient, [-1, 1])
        )
        updated_parameters = param_vector - flatten(parameter_update)
        updates = setup_parameter_updates(parameters, updated_parameters)

        return updates 
开发者ID:itdxer,项目名称:neupy,代码行数:21,代码来源:hessian.py

示例3: test_MatrixSolve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def test_MatrixSolve(self):
        t = tf.matrix_solve(*self.random((2, 3, 3, 3), (2, 3, 3, 1)), adjoint=False)
        self.check(t)
        t = tf.matrix_solve(*self.random((2, 3, 3, 3), (2, 3, 3, 1)), adjoint=True)
        self.check(t) 
开发者ID:riga,项目名称:tfdeploy,代码行数:7,代码来源:ops.py

示例4: testNonSquareMatrix

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testNonSquareMatrix(self):
    # When the solve of a non-square matrix is attempted we should return
    # an error
    with self.test_session():
      with self.assertRaises(ValueError):
        matrix = tf.constant([[1., 2., 3.], [3., 4., 5.]])
        tf.matrix_solve(matrix, matrix) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:9,代码来源:matrix_solve_op_test.py

示例5: testWrongDimensions

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testWrongDimensions(self):
    # The matrix and right-hand sides should have the same number of rows.
    with self.test_session():
      matrix = tf.constant([[1., 0.], [0., 1.]])
      rhs = tf.constant([[1., 0.]])
      with self.assertRaises(ValueError):
        tf.matrix_solve(matrix, rhs) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:9,代码来源:matrix_solve_op_test.py

示例6: testNotInvertible

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testNotInvertible(self):
    # The input should be invertible.
    with self.test_session():
      with self.assertRaisesOpError("Input matrix is not invertible."):
        # All rows of the matrix below add to zero
        matrix = tf.constant([[1., 0., -1.], [-1., 1., 0.], [0., -1., 1.]])
        tf.matrix_solve(matrix, matrix).eval() 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:9,代码来源:matrix_solve_op_test.py

示例7: testBatchResultSize

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testBatchResultSize(self):
    # 3x3x3 matrices, 3x3x1 right-hand sides.
    matrix = np.array([1., 2., 3., 4., 5., 6., 7., 8., 9.] * 3).reshape(3, 3, 3)
    rhs = np.array([1., 2., 3.] * 3).reshape(3, 3, 1)
    answer = tf.matrix_solve(matrix, rhs)
    ls_answer = tf.matrix_solve_ls(matrix, rhs)
    self.assertEqual(ls_answer.get_shape(), [3, 3, 1])
    self.assertEqual(answer.get_shape(), [3, 3, 1]) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:10,代码来源:matrix_solve_ls_op_test.py

示例8: _batch_solve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def _batch_solve(self, rhs):
    return tf.matrix_solve(self._pos_def_matrix, rhs) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:4,代码来源:operator_pd_test.py

示例9: testSolve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testSolve(self):
    with self.test_session():
      for batch_shape in [(), (2, 3,)]:
        for k in [1, 4]:
          operator, mat = self._build_operator_and_mat(batch_shape, k)

          # Work with 5 simultaneous systems.  5 is arbitrary.
          x = self._rng.randn(*(batch_shape + (k, 5)))

          self._compare_results(
              expected=tf.matrix_solve(mat, x).eval(), actual=operator.solve(x)) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:13,代码来源:operator_test_util.py

示例10: testSqrtSolve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def testSqrtSolve(self):
    # Square roots are not unique, but we should still have
    # S^{-T} S^{-1} x = A^{-1} x.
    # In our case, we should have S = S^T, so then S^{-1} S^{-1} x = A^{-1} x.
    with self.test_session():
      for batch_shape in [(), (2, 3,)]:
        for k in [1, 4]:
          operator, mat = self._build_operator_and_mat(batch_shape, k)

          # Work with 5 simultaneous systems.  5 is arbitrary.
          x = self._rng.randn(*(batch_shape + (k, 5)))

          self._compare_results(
              expected=tf.matrix_solve(mat, x).eval(),
              actual=operator.sqrt_solve(operator.sqrt_solve(x))) 
开发者ID:tobegit3hub,项目名称:deep_image_model,代码行数:17,代码来源:operator_test_util.py

示例11: build_correction_term

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def build_correction_term(self):
        # TODO
        Mb = tf.shape(self.Z)[0]
        Ma = self.M_old
        # jitter = settings.numerics.jitter_level
        jitter = 1e-4
        Saa = self.Su_old
        ma = self.mu_old
        obj = 0
        # a is old inducing points, b is new
        mu, Sigma = self.build_predict(self.Z_old, full_cov=True)
        Sigma = Sigma[:, :, 0]
        Smm = Sigma + tf.matmul(mu, tf.transpose(mu))
        Kaa = self.Kaa_old + np.eye(Ma) * jitter
        LSa = tf.cholesky(Saa)
        LKa = tf.cholesky(Kaa)
        obj += tf.reduce_sum(tf.log(tf.diag_part(LKa)))
        obj += - tf.reduce_sum(tf.log(tf.diag_part(LSa)))

        Sainv_ma = tf.matrix_solve(Saa, ma)
        obj += -0.5 * tf.reduce_sum(ma * Sainv_ma)
        obj += tf.reduce_sum(mu * Sainv_ma)

        Sainv_Smm = tf.matrix_solve(Saa, Smm)
        Kainv_Smm = tf.matrix_solve(Kaa, Smm)
        obj += -0.5 * tf.reduce_sum(tf.diag_part(Sainv_Smm) - tf.diag_part(Kainv_Smm))
        return obj 
开发者ID:thangbui,项目名称:streaming_sparse_gp,代码行数:29,代码来源:osvgpc.py

示例12: matrix_solve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def matrix_solve(self, matrix, rhs, adjoint=None):
        return tf.matrix_solve(matrix, rhs, adjoint=adjoint)

    # Theano interface 
开发者ID:sharadmv,项目名称:deepx,代码行数:6,代码来源:tensorflow.py

示例13: solve

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def solve(self, a, b):
        return tf.matrix_solve(a, b) 
开发者ID:sharadmv,项目名称:deepx,代码行数:4,代码来源:tensorflow.py

示例14: genPerturbations

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def genPerturbations(opt):
	with tf.name_scope("genPerturbations"):
		X = np.tile(opt.canon4pts[:,0],[opt.batchSize,1])
		Y = np.tile(opt.canon4pts[:,1],[opt.batchSize,1])
		dX = tf.random_normal([opt.batchSize,4])*opt.pertScale \
			+tf.random_normal([opt.batchSize,1])*opt.transScale
		dY = tf.random_normal([opt.batchSize,4])*opt.pertScale \
			+tf.random_normal([opt.batchSize,1])*opt.transScale
		O = np.zeros([opt.batchSize,4],dtype=np.float32)
		I = np.ones([opt.batchSize,4],dtype=np.float32)
		# fit warp parameters to generated displacements
		if opt.warpType=="homography":
			A = tf.concat([tf.stack([X,Y,I,O,O,O,-X*(X+dX),-Y*(X+dX)],axis=-1),
						   tf.stack([O,O,O,X,Y,I,-X*(Y+dY),-Y*(Y+dY)],axis=-1)],1)
			b = tf.expand_dims(tf.concat([X+dX,Y+dY],1),-1)
			pPert = tf.matrix_solve(A,b)[:,:,0]
			pPert -= tf.to_float([[1,0,0,0,1,0,0,0]])
		else:
			if opt.warpType=="translation":
				J = np.concatenate([np.stack([I,O],axis=-1),
									np.stack([O,I],axis=-1)],axis=1)
			if opt.warpType=="similarity":
				J = np.concatenate([np.stack([X,Y,I,O],axis=-1),
									np.stack([-Y,X,O,I],axis=-1)],axis=1)
			if opt.warpType=="affine":
				J = np.concatenate([np.stack([X,Y,I,O,O,O],axis=-1),
									np.stack([O,O,O,X,Y,I],axis=-1)],axis=1)
			dXY = tf.expand_dims(tf.concat([dX,dY],1),-1)
			pPert = tf.matrix_solve_ls(J,dXY)[:,:,0]
	return pPert

# make training batch 
开发者ID:chenhsuanlin,项目名称:inverse-compositional-STN,代码行数:34,代码来源:data.py

示例15: init_train_updates

# 需要导入模块: import tensorflow [as 别名]
# 或者: from tensorflow import matrix_solve [as 别名]
def init_train_updates(self):
        training_outputs = self.network.training_outputs
        last_error = self.variables.last_error
        error_func = self.variables.loss
        mu = self.variables.mu

        new_mu = tf.where(
            tf.less(last_error, error_func),
            mu * self.mu_update_factor,
            mu / self.mu_update_factor,
        )

        err_for_each_sample = flatten((self.target - training_outputs) ** 2)

        variables = self.network.variables
        params = [var for var in variables.values() if var.trainable]
        param_vector = make_single_vector(params)

        J = compute_jacobian(err_for_each_sample, params)
        J_T = tf.transpose(J)
        n_params = J.shape[1]

        parameter_update = tf.matrix_solve(
            tf.matmul(J_T, J) + new_mu * tf.eye(n_params.value),
            tf.matmul(J_T, tf.expand_dims(err_for_each_sample, 1))
        )
        updated_params = param_vector - flatten(parameter_update)

        updates = [(mu, new_mu)]
        parameter_updates = setup_parameter_updates(params, updated_params)
        updates.extend(parameter_updates)

        return updates 
开发者ID:itdxer,项目名称:neupy,代码行数:35,代码来源:lev_marq.py


注:本文中的tensorflow.matrix_solve方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。