コード例 #1
0
 def test_gpu(self):
     with xdl.device("GPU"):
         grps = np.array([],dtype=np.int32)
         ksum_grad = xdl.ksum_grad(embeds, idx, values, segs, grps, grads)
         ksum_grad = xdl.execute(ksum_grad)
         res = np.array([[0.4],[0.3],[0.6],[0.2],[0.3],[0.3]],dtype=np.float)
         self.assertTrue(np.allclose(ksum_grad, res))
コード例 #2
0
 def test_merged_gpu(self):
     with xdl.device("GPU"):
         ksum_grad = xdl.ksum_grad(embeds_shape, idx, values, segs, grps,
                                   sidx_nogrp, sseg, merged_grads)
         ksum_grad = xdl.execute(ksum_grad)
         res = np.array([[7], [5], [12], [3], [5], [6]], dtype=np.float)
         self.assertTrue(np.allclose(ksum_grad, res))
コード例 #3
0
    def test_merged_cpu_with_values(self):
        ksum_grad = xdl.ksum_grad(embeds_shape, idx, values, segs, grps, sidx,
                                  sseg, merged_grads)
        ksum_grad = xdl.execute(ksum_grad)
        res = np.array([[7], [5], [12], [3], [5], [6]], dtype=np.float)
        self.assertTrue(np.allclose(ksum_grad, res))

        ksum_grad = xdl.ksum_grad(embeds_shape,
                                  idx,
                                  values,
                                  segs,
                                  grps,
                                  sidx,
                                  sseg,
                                  merged_grads,
                                  average=True)
        ksum_grad = xdl.execute(ksum_grad)
        res = np.array([[2.5], [2.5], [6], [3], [5], [2]], dtype=np.float)
        self.assertTrue(np.allclose(ksum_grad, res))
コード例 #4
0
    def test_cpu_with_values(self):
        grps = np.array([], dtype=np.int32)
        ksum_grad = xdl.ksum_grad(embeds_shape, idx, values, segs, grps,
                                  sidx_nogrp, sseg, grads)
        ksum_grad = xdl.execute(ksum_grad)
        res = np.array([[4], [3], [6], [2], [3], [3]], dtype=np.float)
        self.assertTrue(np.allclose(ksum_grad, res))

        ksum_grad = xdl.ksum_grad(embeds_shape,
                                  idx,
                                  values,
                                  segs,
                                  grps,
                                  sidx_nogrp,
                                  sseg,
                                  grads,
                                  average=True)
        ksum_grad = xdl.execute(ksum_grad)
        res = np.array(
            [[1.0833333], [1], [1.75], [0.66666666], [0.75], [0.75]],
            dtype=np.float)
        self.assertTrue(np.allclose(ksum_grad, res))
コード例 #5
0
ファイル: ops_grad.py プロジェクト: zhuhan1236/x-deeplearning
def KSumGrad(op, grad):
    with xdl.device('CPU'):
        shape = xdl.shape_op(op.inputs[0])
    return [
        xdl.ksum_grad(shape,
                      op.inputs[1],
                      op.inputs[2],
                      op.inputs[3],
                      op.inputs[4],
                      op.inputs[5],
                      op.inputs[6],
                      grad[0],
                      average=op.attrs['average'])
    ]
コード例 #6
0
 def test_merged_gpu(self):
     with xdl.device("GPU"):
         ksum_grad = xdl.ksum_grad(embeds, idx, values, segs, grps, merged_grads)
         ksum_grad = xdl.execute(ksum_grad)
         res = np.array([[0.7],[0.5],[1.2],[0.3],[0.5],[0.6]],dtype=np.float)
         self.assertTrue(np.allclose(ksum_grad, res))