mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2026-01-17 03:40:34 +08:00
Address black + isort fbsource linter warnings
Summary: Address black + isort fbsource linter warnings from D20558374 (previous diff) Reviewed By: nikhilaravi Differential Revision: D20558373 fbshipit-source-id: d3607de4a01fb24c0d5269634563a7914bddf1c8
This commit is contained in:
committed by
Facebook GitHub Bot
parent
eb512ffde3
commit
d57daa6f85
@@ -1,12 +1,11 @@
|
||||
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
|
||||
|
||||
import numpy as np
|
||||
import unittest
|
||||
|
||||
import numpy as np
|
||||
import torch
|
||||
|
||||
from pytorch3d.structures.meshes import Meshes
|
||||
|
||||
from common_testing import TestCaseMixin
|
||||
from pytorch3d.structures.meshes import Meshes
|
||||
|
||||
|
||||
class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
@@ -54,9 +53,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
# For lists of faces and vertices, we can sample different v/f
|
||||
# per mesh.
|
||||
f = torch.randint(max_f, size=(num_meshes,), dtype=torch.int32)
|
||||
v = torch.randint(
|
||||
3, high=max_v, size=(num_meshes,), dtype=torch.int32
|
||||
)
|
||||
v = torch.randint(3, high=max_v, size=(num_meshes,), dtype=torch.int32)
|
||||
|
||||
# Generate the actual vertices and faces.
|
||||
for i in range(num_meshes):
|
||||
@@ -90,12 +87,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
device=device,
|
||||
),
|
||||
torch.tensor(
|
||||
[
|
||||
[0.1, 0.3, 0.3],
|
||||
[0.6, 0.7, 0.8],
|
||||
[0.2, 0.3, 0.4],
|
||||
[0.1, 0.5, 0.3],
|
||||
],
|
||||
[[0.1, 0.3, 0.3], [0.6, 0.7, 0.8], [0.2, 0.3, 0.4], [0.1, 0.5, 0.3]],
|
||||
dtype=torch.float32,
|
||||
device=device,
|
||||
),
|
||||
@@ -113,9 +105,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
]
|
||||
faces = [
|
||||
torch.tensor([[0, 1, 2]], dtype=torch.int64, device=device),
|
||||
torch.tensor(
|
||||
[[0, 1, 2], [1, 2, 3]], dtype=torch.int64, device=device
|
||||
),
|
||||
torch.tensor([[0, 1, 2], [1, 2, 3]], dtype=torch.int64, device=device),
|
||||
torch.tensor(
|
||||
[
|
||||
[1, 2, 0],
|
||||
@@ -136,12 +126,8 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
mesh = TestMeshes.init_simple_mesh("cuda:0")
|
||||
|
||||
# Check that faces/verts per mesh are set in init:
|
||||
self.assertClose(
|
||||
mesh._num_faces_per_mesh.cpu(), torch.tensor([1, 2, 7])
|
||||
)
|
||||
self.assertClose(
|
||||
mesh._num_verts_per_mesh.cpu(), torch.tensor([3, 4, 5])
|
||||
)
|
||||
self.assertClose(mesh._num_faces_per_mesh.cpu(), torch.tensor([1, 2, 7]))
|
||||
self.assertClose(mesh._num_verts_per_mesh.cpu(), torch.tensor([3, 4, 5]))
|
||||
|
||||
# Check computed tensors
|
||||
self.assertClose(
|
||||
@@ -163,8 +149,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
mesh.mesh_to_faces_packed_first_idx().cpu(), torch.tensor([0, 1, 3])
|
||||
)
|
||||
self.assertClose(
|
||||
mesh.num_edges_per_mesh().cpu(),
|
||||
torch.tensor([3, 5, 10], dtype=torch.int32),
|
||||
mesh.num_edges_per_mesh().cpu(), torch.tensor([3, 5, 10], dtype=torch.int32)
|
||||
)
|
||||
|
||||
def test_simple_random_meshes(self):
|
||||
@@ -172,9 +157,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
# Define the test mesh object either as a list or tensor of faces/verts.
|
||||
for lists_to_tensors in (False, True):
|
||||
N = 10
|
||||
mesh = TestMeshes.init_mesh(
|
||||
N, 100, 300, lists_to_tensors=lists_to_tensors
|
||||
)
|
||||
mesh = TestMeshes.init_mesh(N, 100, 300, lists_to_tensors=lists_to_tensors)
|
||||
verts_list = mesh.verts_list()
|
||||
faces_list = mesh.faces_list()
|
||||
|
||||
@@ -207,12 +190,8 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
for n in range(N):
|
||||
v = verts_list[n].shape[0]
|
||||
f = faces_list[n].shape[0]
|
||||
self.assertClose(
|
||||
verts_packed[curv : curv + v, :], verts_list[n]
|
||||
)
|
||||
self.assertClose(
|
||||
faces_packed[curf : curf + f, :] - curv, faces_list[n]
|
||||
)
|
||||
self.assertClose(verts_packed[curv : curv + v, :], verts_list[n])
|
||||
self.assertClose(faces_packed[curf : curf + f, :] - curv, faces_list[n])
|
||||
self.assertTrue(vert_to_mesh[curv : curv + v].eq(n).all())
|
||||
self.assertTrue(face_to_mesh[curf : curf + f].eq(n).all())
|
||||
self.assertTrue(mesh_to_vert[n] == curv)
|
||||
@@ -232,9 +211,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
npedges = np.concatenate((e12, e20, e01), axis=0)
|
||||
npedges = np.sort(npedges, axis=1)
|
||||
|
||||
unique_edges, unique_idx = np.unique(
|
||||
npedges, return_index=True, axis=0
|
||||
)
|
||||
unique_edges, unique_idx = np.unique(npedges, return_index=True, axis=0)
|
||||
self.assertTrue(np.allclose(edges, unique_edges))
|
||||
temp = face_to_mesh.cpu().numpy()
|
||||
temp = np.concatenate((temp, temp, temp), axis=0)
|
||||
@@ -266,13 +243,9 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
v = torch.randint(
|
||||
3, high=V, size=(1,), dtype=torch.int32, device=device
|
||||
)[0]
|
||||
f = torch.randint(
|
||||
F, size=(1,), dtype=torch.int32, device=device
|
||||
)[0]
|
||||
f = torch.randint(F, size=(1,), dtype=torch.int32, device=device)[0]
|
||||
verts = torch.rand((v, 3), dtype=torch.float32, device=device)
|
||||
faces = torch.randint(
|
||||
v, size=(f, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
faces = torch.randint(v, size=(f, 3), dtype=torch.int64, device=device)
|
||||
else:
|
||||
verts = torch.tensor([], dtype=torch.float32, device=device)
|
||||
faces = torch.tensor([], dtype=torch.int64, device=device)
|
||||
@@ -309,16 +282,12 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
)
|
||||
for n in range(N):
|
||||
verts.append(torch.rand((V, 3), dtype=torch.float32, device=device))
|
||||
this_faces = torch.full(
|
||||
(F, 3), -1, dtype=torch.int64, device=device
|
||||
)
|
||||
this_faces = torch.full((F, 3), -1, dtype=torch.int64, device=device)
|
||||
if valid[n]:
|
||||
v = torch.randint(
|
||||
3, high=V, size=(1,), dtype=torch.int32, device=device
|
||||
)[0]
|
||||
f = torch.randint(
|
||||
F, size=(1,), dtype=torch.int32, device=device
|
||||
)[0]
|
||||
f = torch.randint(F, size=(1,), dtype=torch.int32, device=device)[0]
|
||||
this_faces[:f, :] = torch.randint(
|
||||
v, size=(f, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
@@ -329,9 +298,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
mesh = Meshes(verts=torch.stack(verts), faces=torch.stack(faces))
|
||||
|
||||
# Check verts/faces per mesh are set correctly in init.
|
||||
self.assertListEqual(
|
||||
mesh._num_faces_per_mesh.tolist(), num_faces.tolist()
|
||||
)
|
||||
self.assertListEqual(mesh._num_faces_per_mesh.tolist(), num_faces.tolist())
|
||||
self.assertListEqual(mesh._num_verts_per_mesh.tolist(), [V] * N)
|
||||
|
||||
for n, (vv, ff) in enumerate(zip(mesh.verts_list(), mesh.faces_list())):
|
||||
@@ -339,12 +306,8 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
self.assertClose(vv, verts[n])
|
||||
|
||||
new_faces = [ff.clone() for ff in faces]
|
||||
v = torch.randint(
|
||||
3, high=V, size=(1,), dtype=torch.int32, device=device
|
||||
)[0]
|
||||
f = torch.randint(F - 10, size=(1,), dtype=torch.int32, device=device)[
|
||||
0
|
||||
]
|
||||
v = torch.randint(3, high=V, size=(1,), dtype=torch.int32, device=device)[0]
|
||||
f = torch.randint(F - 10, size=(1,), dtype=torch.int32, device=device)[0]
|
||||
this_faces = torch.full((F, 3), -1, dtype=torch.int64, device=device)
|
||||
this_faces[10 : f + 10, :] = torch.randint(
|
||||
v, size=(f, 3), dtype=torch.int64, device=device
|
||||
@@ -376,9 +339,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
torch.allclose(new_mesh._verts_list[0], mesh._verts_list[0])
|
||||
)
|
||||
self.assertFalse(
|
||||
torch.allclose(
|
||||
mesh.num_verts_per_mesh(), new_mesh.num_verts_per_mesh()
|
||||
)
|
||||
torch.allclose(mesh.num_verts_per_mesh(), new_mesh.num_verts_per_mesh())
|
||||
)
|
||||
self.assertSeparate(new_mesh.verts_packed(), mesh.verts_packed())
|
||||
self.assertSeparate(new_mesh.verts_padded(), mesh.verts_padded())
|
||||
@@ -438,9 +399,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
mesh._compute_face_areas_normals(refresh=True)
|
||||
mesh._compute_vertex_normals(refresh=True)
|
||||
|
||||
deform = torch.rand(
|
||||
(all_v, 3), dtype=torch.float32, device=mesh.device
|
||||
)
|
||||
deform = torch.rand((all_v, 3), dtype=torch.float32, device=mesh.device)
|
||||
# new meshes class to hold the deformed mesh
|
||||
new_mesh_naive = naive_offset_verts(mesh, deform)
|
||||
|
||||
@@ -458,9 +417,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
self.assertClose(
|
||||
new_mesh.verts_list()[i], new_mesh_naive.verts_list()[i]
|
||||
)
|
||||
self.assertClose(
|
||||
mesh.faces_list()[i], new_mesh_naive.faces_list()[i]
|
||||
)
|
||||
self.assertClose(mesh.faces_list()[i], new_mesh_naive.faces_list()[i])
|
||||
self.assertClose(
|
||||
new_mesh.faces_list()[i], new_mesh_naive.faces_list()[i]
|
||||
)
|
||||
@@ -475,21 +432,11 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
)
|
||||
|
||||
# check padded & packed
|
||||
self.assertClose(
|
||||
new_mesh.faces_padded(), new_mesh_naive.faces_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_padded(), new_mesh_naive.verts_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_packed(), new_mesh_naive.faces_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_packed(), new_mesh_naive.verts_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.edges_packed(), new_mesh_naive.edges_packed()
|
||||
)
|
||||
self.assertClose(new_mesh.faces_padded(), new_mesh_naive.faces_padded())
|
||||
self.assertClose(new_mesh.verts_padded(), new_mesh_naive.verts_padded())
|
||||
self.assertClose(new_mesh.faces_packed(), new_mesh_naive.faces_packed())
|
||||
self.assertClose(new_mesh.verts_packed(), new_mesh_naive.verts_packed())
|
||||
self.assertClose(new_mesh.edges_packed(), new_mesh_naive.edges_packed())
|
||||
self.assertClose(
|
||||
new_mesh.verts_packed_to_mesh_idx(),
|
||||
new_mesh_naive.verts_packed_to_mesh_idx(),
|
||||
@@ -499,8 +446,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
new_mesh_naive.mesh_to_verts_packed_first_idx(),
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.num_verts_per_mesh(),
|
||||
new_mesh_naive.num_verts_per_mesh(),
|
||||
new_mesh.num_verts_per_mesh(), new_mesh_naive.num_verts_per_mesh()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_packed_to_mesh_idx(),
|
||||
@@ -511,8 +457,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
new_mesh_naive.mesh_to_faces_packed_first_idx(),
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.num_faces_per_mesh(),
|
||||
new_mesh_naive.num_faces_per_mesh(),
|
||||
new_mesh.num_faces_per_mesh(), new_mesh_naive.num_faces_per_mesh()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.edges_packed_to_mesh_idx(),
|
||||
@@ -527,24 +472,19 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
|
||||
# check face areas, normals and vertex normals
|
||||
self.assertClose(
|
||||
new_mesh.verts_normals_packed(),
|
||||
new_mesh_naive.verts_normals_packed(),
|
||||
new_mesh.verts_normals_packed(), new_mesh_naive.verts_normals_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_normals_padded(),
|
||||
new_mesh_naive.verts_normals_padded(),
|
||||
new_mesh.verts_normals_padded(), new_mesh_naive.verts_normals_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_normals_packed(),
|
||||
new_mesh_naive.faces_normals_packed(),
|
||||
new_mesh.faces_normals_packed(), new_mesh_naive.faces_normals_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_normals_padded(),
|
||||
new_mesh_naive.faces_normals_padded(),
|
||||
new_mesh.faces_normals_padded(), new_mesh_naive.faces_normals_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_areas_packed(),
|
||||
new_mesh_naive.faces_areas_packed(),
|
||||
new_mesh.faces_areas_packed(), new_mesh_naive.faces_areas_packed()
|
||||
)
|
||||
|
||||
def test_scale_verts(self):
|
||||
@@ -579,13 +519,11 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
for i in range(N):
|
||||
if test == "tensor":
|
||||
self.assertClose(
|
||||
scales[i] * mesh.verts_list()[i],
|
||||
new_mesh.verts_list()[i],
|
||||
scales[i] * mesh.verts_list()[i], new_mesh.verts_list()[i]
|
||||
)
|
||||
else:
|
||||
self.assertClose(
|
||||
scales * mesh.verts_list()[i],
|
||||
new_mesh.verts_list()[i],
|
||||
scales * mesh.verts_list()[i], new_mesh.verts_list()[i]
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_list()[i], new_mesh_naive.verts_list()[i]
|
||||
@@ -607,21 +545,11 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
)
|
||||
|
||||
# check padded & packed
|
||||
self.assertClose(
|
||||
new_mesh.faces_padded(), new_mesh_naive.faces_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_padded(), new_mesh_naive.verts_padded()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_packed(), new_mesh_naive.faces_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.verts_packed(), new_mesh_naive.verts_packed()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.edges_packed(), new_mesh_naive.edges_packed()
|
||||
)
|
||||
self.assertClose(new_mesh.faces_padded(), new_mesh_naive.faces_padded())
|
||||
self.assertClose(new_mesh.verts_padded(), new_mesh_naive.verts_padded())
|
||||
self.assertClose(new_mesh.faces_packed(), new_mesh_naive.faces_packed())
|
||||
self.assertClose(new_mesh.verts_packed(), new_mesh_naive.verts_packed())
|
||||
self.assertClose(new_mesh.edges_packed(), new_mesh_naive.edges_packed())
|
||||
self.assertClose(
|
||||
new_mesh.verts_packed_to_mesh_idx(),
|
||||
new_mesh_naive.verts_packed_to_mesh_idx(),
|
||||
@@ -631,8 +559,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
new_mesh_naive.mesh_to_verts_packed_first_idx(),
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.num_verts_per_mesh(),
|
||||
new_mesh_naive.num_verts_per_mesh(),
|
||||
new_mesh.num_verts_per_mesh(), new_mesh_naive.num_verts_per_mesh()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_packed_to_mesh_idx(),
|
||||
@@ -643,8 +570,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
new_mesh_naive.mesh_to_faces_packed_first_idx(),
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.num_faces_per_mesh(),
|
||||
new_mesh_naive.num_faces_per_mesh(),
|
||||
new_mesh.num_faces_per_mesh(), new_mesh_naive.num_faces_per_mesh()
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.edges_packed_to_mesh_idx(),
|
||||
@@ -675,8 +601,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
new_mesh_naive.faces_normals_padded(),
|
||||
)
|
||||
self.assertClose(
|
||||
new_mesh.faces_areas_packed(),
|
||||
new_mesh_naive.faces_areas_packed(),
|
||||
new_mesh.faces_areas_packed(), new_mesh_naive.faces_areas_packed()
|
||||
)
|
||||
|
||||
def test_extend_list(self):
|
||||
@@ -730,10 +655,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
self.assertTrue(len(split_meshes[0]) == 2)
|
||||
self.assertTrue(
|
||||
split_meshes[0].verts_list()
|
||||
== [
|
||||
mesh.get_mesh_verts_faces(0)[0],
|
||||
mesh.get_mesh_verts_faces(1)[0],
|
||||
]
|
||||
== [mesh.get_mesh_verts_faces(0)[0], mesh.get_mesh_verts_faces(1)[0]]
|
||||
)
|
||||
self.assertTrue(len(split_meshes[1]) == 3)
|
||||
self.assertTrue(
|
||||
@@ -756,9 +678,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
verts_faces = [(10, 100), (20, 200)]
|
||||
for (V, F) in verts_faces:
|
||||
verts = torch.rand((V, 3), dtype=torch.float32, device=device)
|
||||
faces = torch.randint(
|
||||
V, size=(F, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
faces = torch.randint(V, size=(F, 3), dtype=torch.int64, device=device)
|
||||
verts_list.append(verts)
|
||||
faces_list.append(faces)
|
||||
|
||||
@@ -782,9 +702,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
faces_list = []
|
||||
for (V, F) in [(10, 100)]:
|
||||
verts = torch.rand((V, 3), dtype=torch.float32, device=device)
|
||||
faces = torch.randint(
|
||||
V, size=(F, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
faces = torch.randint(V, size=(F, 3), dtype=torch.int64, device=device)
|
||||
verts_list.append(verts)
|
||||
faces_list.append(faces)
|
||||
|
||||
@@ -802,9 +720,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
verts_faces = [(10, 100), (20, 200), (30, 300)]
|
||||
for (V, F) in verts_faces:
|
||||
verts = torch.rand((V, 3), dtype=torch.float32, device=device)
|
||||
faces = torch.randint(
|
||||
V, size=(F, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
faces = torch.randint(V, size=(F, 3), dtype=torch.int64, device=device)
|
||||
verts_list.append(verts)
|
||||
faces_list.append(faces)
|
||||
|
||||
@@ -814,9 +730,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
verts_padded = mesh.verts_padded()
|
||||
verts_padded_flat = verts_padded.view(-1, 3)
|
||||
|
||||
self.assertClose(
|
||||
verts_padded_flat[verts_padded_to_packed_idx], verts_packed
|
||||
)
|
||||
self.assertClose(verts_padded_flat[verts_padded_to_packed_idx], verts_packed)
|
||||
|
||||
idx = verts_padded_to_packed_idx.view(-1, 1).expand(-1, 3)
|
||||
self.assertClose(verts_padded_flat.gather(0, idx), verts_packed)
|
||||
@@ -828,9 +742,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
verts_faces = [(10, 100), (20, 200), (30, 300)]
|
||||
for (V, F) in verts_faces:
|
||||
verts = torch.rand((V, 3), dtype=torch.float32, device=device)
|
||||
faces = torch.randint(
|
||||
V, size=(F, 3), dtype=torch.int64, device=device
|
||||
)
|
||||
faces = torch.randint(V, size=(F, 3), dtype=torch.int64, device=device)
|
||||
verts_list.append(verts)
|
||||
faces_list.append(faces)
|
||||
|
||||
@@ -1006,12 +918,10 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
verts_normals_packed = meshes.verts_normals_packed()
|
||||
faces_normals_packed = meshes.faces_normals_packed()
|
||||
self.assertTrue(
|
||||
list(verts_normals_packed.shape)
|
||||
== [verts.shape[0] + verts2.shape[0], 3]
|
||||
list(verts_normals_packed.shape) == [verts.shape[0] + verts2.shape[0], 3]
|
||||
)
|
||||
self.assertTrue(
|
||||
list(faces_normals_packed.shape)
|
||||
== [faces.shape[0] + faces2.shape[0], 3]
|
||||
list(faces_normals_packed.shape) == [faces.shape[0] + faces2.shape[0], 3]
|
||||
)
|
||||
|
||||
# Single mesh where two faces share one vertex so the normal is
|
||||
@@ -1079,17 +989,12 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
# with areas > eps=1e-6
|
||||
nonzero = face_areas_cpu > 1e-6
|
||||
self.assertClose(
|
||||
face_normals_cpu[nonzero],
|
||||
face_normals_cuda.cpu()[nonzero],
|
||||
atol=1e-6,
|
||||
face_normals_cpu[nonzero], face_normals_cuda.cpu()[nonzero], atol=1e-6
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def compute_packed_with_init(
|
||||
num_meshes: int = 10,
|
||||
max_v: int = 100,
|
||||
max_f: int = 300,
|
||||
device: str = "cpu",
|
||||
num_meshes: int = 10, max_v: int = 100, max_f: int = 300, device: str = "cpu"
|
||||
):
|
||||
mesh = TestMeshes.init_mesh(num_meshes, max_v, max_f, device=device)
|
||||
torch.cuda.synchronize()
|
||||
@@ -1102,10 +1007,7 @@ class TestMeshes(TestCaseMixin, unittest.TestCase):
|
||||
|
||||
@staticmethod
|
||||
def compute_padded_with_init(
|
||||
num_meshes: int = 10,
|
||||
max_v: int = 100,
|
||||
max_f: int = 300,
|
||||
device: str = "cpu",
|
||||
num_meshes: int = 10, max_v: int = 100, max_f: int = 300, device: str = "cpu"
|
||||
):
|
||||
mesh = TestMeshes.init_mesh(num_meshes, max_v, max_f, device=device)
|
||||
torch.cuda.synchronize()
|
||||
|
||||
Reference in New Issue
Block a user