[Misc] Reorg python test (with backend) according to the guideline. (#5312)
* rename * remove test transpose * udpate * rename * cleanup --------- Co-authored-by: Ubuntu <ubuntu@ip-172-31-28-63.ap-northeast-1.compute.internal>
这个提交包含在:
@@ -126,3 +126,16 @@ def test_to_dtype(dtype):
|
||||
mat2 = getattr(mat, func_name[dtype])()
|
||||
assert mat2.shape == mat.shape
|
||||
assert torch.allclose(mat2.val, target_val)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("val_shape", [(3,), (3, 2)])
|
||||
@pytest.mark.parametrize("mat_shape", [None, (3, 5), (5, 3)])
|
||||
def test_diag_matrix_transpose(val_shape, mat_shape):
|
||||
ctx = F.ctx()
|
||||
val = torch.randn(val_shape).to(ctx)
|
||||
mat = diag(val, mat_shape).transpose()
|
||||
|
||||
assert torch.allclose(mat.val, val)
|
||||
if mat_shape is None:
|
||||
mat_shape = (val_shape[0], val_shape[0])
|
||||
assert mat.shape == mat_shape[::-1]
|
||||
+23
@@ -480,3 +480,26 @@ def test_to_dtype(dtype):
|
||||
mat2 = getattr(mat, func_name[dtype])()
|
||||
assert mat2.shape == mat.shape
|
||||
assert torch.allclose(mat2.val, target_val)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("dense_dim", [None, 2])
|
||||
@pytest.mark.parametrize("row", [[0, 0, 1, 2], (0, 1, 2, 4)])
|
||||
@pytest.mark.parametrize("col", [(0, 1, 2, 2), (1, 3, 3, 4)])
|
||||
@pytest.mark.parametrize("extra_shape", [(0, 1), (2, 1)])
|
||||
def test_sparse_matrix_transpose(dense_dim, row, col, extra_shape):
|
||||
mat_shape = (max(row) + 1 + extra_shape[0], max(col) + 1 + extra_shape[1])
|
||||
val_shape = (len(row),)
|
||||
if dense_dim is not None:
|
||||
val_shape += (dense_dim,)
|
||||
ctx = F.ctx()
|
||||
val = torch.randn(val_shape).to(ctx)
|
||||
row = torch.tensor(row).to(ctx)
|
||||
col = torch.tensor(col).to(ctx)
|
||||
mat = from_coo(row, col, val, mat_shape).transpose()
|
||||
mat_row, mat_col = mat.coo()
|
||||
mat_val = mat.val
|
||||
|
||||
assert mat.shape == mat_shape[::-1]
|
||||
assert torch.allclose(mat_val, val)
|
||||
assert torch.allclose(mat_row, col)
|
||||
assert torch.allclose(mat_col, row)
|
||||
@@ -1,43 +0,0 @@
|
||||
import sys
|
||||
|
||||
import backend as F
|
||||
import pytest
|
||||
import torch
|
||||
|
||||
from dgl.sparse import diag, from_coo
|
||||
|
||||
|
||||
@pytest.mark.parametrize("val_shape", [(3,), (3, 2)])
|
||||
@pytest.mark.parametrize("mat_shape", [None, (3, 5), (5, 3)])
|
||||
def test_diag_matrix_transpose(val_shape, mat_shape):
|
||||
ctx = F.ctx()
|
||||
val = torch.randn(val_shape).to(ctx)
|
||||
mat = diag(val, mat_shape).transpose()
|
||||
|
||||
assert torch.allclose(mat.val, val)
|
||||
if mat_shape is None:
|
||||
mat_shape = (val_shape[0], val_shape[0])
|
||||
assert mat.shape == mat_shape[::-1]
|
||||
|
||||
|
||||
@pytest.mark.parametrize("dense_dim", [None, 2])
|
||||
@pytest.mark.parametrize("row", [[0, 0, 1, 2], (0, 1, 2, 4)])
|
||||
@pytest.mark.parametrize("col", [(0, 1, 2, 2), (1, 3, 3, 4)])
|
||||
@pytest.mark.parametrize("extra_shape", [(0, 1), (2, 1)])
|
||||
def test_sparse_matrix_transpose(dense_dim, row, col, extra_shape):
|
||||
mat_shape = (max(row) + 1 + extra_shape[0], max(col) + 1 + extra_shape[1])
|
||||
val_shape = (len(row),)
|
||||
if dense_dim is not None:
|
||||
val_shape += (dense_dim,)
|
||||
ctx = F.ctx()
|
||||
val = torch.randn(val_shape).to(ctx)
|
||||
row = torch.tensor(row).to(ctx)
|
||||
col = torch.tensor(col).to(ctx)
|
||||
mat = from_coo(row, col, val, mat_shape).transpose()
|
||||
mat_row, mat_col = mat.coo()
|
||||
mat_val = mat.val
|
||||
|
||||
assert mat.shape == mat_shape[::-1]
|
||||
assert torch.allclose(mat_val, val)
|
||||
assert torch.allclose(mat_row, col)
|
||||
assert torch.allclose(mat_col, row)
|
||||
@@ -15,7 +15,7 @@ SET DGL_LIBRARY_PATH=!CD!\build
|
||||
SET DGL_DOWNLOAD_DIR=!CD!
|
||||
|
||||
python -m pip install pytest psutil pandas pyyaml pydantic rdflib torchmetrics || EXIT /B 1
|
||||
python -m pytest -v --junitxml=pytest_backend.xml --durations=100 tests\!DGLBACKEND! || EXIT /B 1
|
||||
python -m pytest -v --junitxml=pytest_backend.xml --durations=100 tests\python\!DGLBACKEND! || EXIT /B 1
|
||||
python -m pytest -v --junitxml=pytest_common.xml --durations=100 tests\python\common || EXIT /B 1
|
||||
ENDLOCAL
|
||||
EXIT /B
|
||||
|
||||
@@ -39,4 +39,4 @@ then
|
||||
else
|
||||
python3 -m pytest -v --junitxml=pytest_common.xml --durations=100 tests/python/common || fail "common"
|
||||
fi
|
||||
python3 -m pytest -v --junitxml=pytest_backend.xml --durations=100 tests/$DGLBACKEND || fail "backend-specific"
|
||||
python3 -m pytest -v --junitxml=pytest_backend.xml --durations=100 tests/python/$DGLBACKEND || fail "backend-specific"
|
||||
|
||||
在新工单中引用