mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 03:42:50 +08:00
linter comment strictnesss
Summary: The linter has become stricter about the indenting of comments and docstrings. This was accompanied by a codemod. In a few places we can fix the problem nicer than the codemod has. Reviewed By: gkioxari Differential Revision: D24363880 fbshipit-source-id: 4cff3bbe3d2a834bc92a490469a2b24fa376e6ab
This commit is contained in:
parent
563d441b00
commit
30e4e891db
@ -346,7 +346,7 @@ class SoftSilhouetteShader(nn.Module):
|
||||
self.blend_params = blend_params if blend_params is not None else BlendParams()
|
||||
|
||||
def forward(self, fragments, meshes, **kwargs) -> torch.Tensor:
|
||||
""" "
|
||||
"""
|
||||
Only want to render the silhouette so RGB values can be ones.
|
||||
There is no need for lighting or texturing
|
||||
"""
|
||||
|
@ -78,68 +78,68 @@ def _try_place_rectangle(
|
||||
occupied: List[Tuple[int, int]],
|
||||
) -> bool:
|
||||
"""
|
||||
Try to place rect within the current bounding box.
|
||||
Part of the implementation of pack_rectangles.
|
||||
Try to place rect within the current bounding box.
|
||||
Part of the implementation of pack_rectangles.
|
||||
|
||||
Note that the arguments `placed_so_far` and `occupied` are modified.
|
||||
Note that the arguments `placed_so_far` and `occupied` are modified.
|
||||
|
||||
Args:
|
||||
rect: rectangle to place
|
||||
placed_so_far: the locations decided upon so far - a list of
|
||||
(x, y, whether flipped). The nth element is the
|
||||
location of the nth rectangle if it has been decided.
|
||||
(modified in place)
|
||||
occupied: the nodes of the graph of extents of rightmost placed
|
||||
rectangles - (modified in place)
|
||||
Args:
|
||||
rect: rectangle to place
|
||||
placed_so_far: the locations decided upon so far - a list of
|
||||
(x, y, whether flipped). The nth element is the
|
||||
location of the nth rectangle if it has been decided.
|
||||
(modified in place)
|
||||
occupied: the nodes of the graph of extents of rightmost placed
|
||||
rectangles - (modified in place)
|
||||
|
||||
Returns:
|
||||
True on success.
|
||||
Returns:
|
||||
True on success.
|
||||
|
||||
Example:
|
||||
(We always have placed the first rectangle horizontally and other
|
||||
rectangles above it.)
|
||||
Let's say the placed boxes 1-4 are layed out like this.
|
||||
The coordinates of the points marked X are stored in occupied.
|
||||
It is to the right of the X's that we seek to place rect.
|
||||
Example:
|
||||
(We always have placed the first rectangle horizontally and other
|
||||
rectangles above it.)
|
||||
Let's say the placed boxes 1-4 are layed out like this.
|
||||
The coordinates of the points marked X are stored in occupied.
|
||||
It is to the right of the X's that we seek to place rect.
|
||||
|
||||
+-----------------------X
|
||||
|2 |
|
||||
| +---X
|
||||
| |4 |
|
||||
| | |
|
||||
| +---+X
|
||||
| |3 |
|
||||
| | |
|
||||
+-----------------------+----+------X
|
||||
+-----------------------X
|
||||
|2 |
|
||||
| +---X
|
||||
| |4 |
|
||||
| | |
|
||||
| +---+X
|
||||
| |3 |
|
||||
| | |
|
||||
+-----------------------+----+------X
|
||||
y |1 |
|
||||
^ | --->x |
|
||||
| +-----------------------------------+
|
||||
|
||||
We want to place this rectangle.
|
||||
We want to place this rectangle.
|
||||
|
||||
+-+
|
||||
|5|
|
||||
| |
|
||||
| | = rect
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-+
|
||||
+-+
|
||||
|5|
|
||||
| |
|
||||
| | = rect
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-+
|
||||
|
||||
The call will succeed, returning True, leaving us with
|
||||
The call will succeed, returning True, leaving us with
|
||||
|
||||
+-----------------------X
|
||||
|2 | +-X
|
||||
| +---+|5|
|
||||
| |4 || |
|
||||
| | || |
|
||||
| +---++ |
|
||||
| |3 | |
|
||||
| | | |
|
||||
+-----------------------+----+-+----X
|
||||
|1 |
|
||||
| |
|
||||
+-----------------------------------+ .
|
||||
+-----------------------X
|
||||
|2 | +-X
|
||||
| +---+|5|
|
||||
| |4 || |
|
||||
| | || |
|
||||
| +---++ |
|
||||
| |3 | |
|
||||
| | | |
|
||||
+-----------------------+----+-+----X
|
||||
|1 |
|
||||
| |
|
||||
+-----------------------------------+ .
|
||||
|
||||
"""
|
||||
total_width = occupied[0][0]
|
||||
|
@ -9,177 +9,177 @@ from . import utils as struct_utils
|
||||
|
||||
class Meshes(object):
|
||||
"""
|
||||
This class provides functions for working with batches of triangulated
|
||||
meshes with varying numbers of faces and vertices, and converting between
|
||||
representations.
|
||||
This class provides functions for working with batches of triangulated
|
||||
meshes with varying numbers of faces and vertices, and converting between
|
||||
representations.
|
||||
|
||||
Within Meshes, there are three different representations of the faces and
|
||||
verts data:
|
||||
Within Meshes, there are three different representations of the faces and
|
||||
verts data:
|
||||
|
||||
List
|
||||
- only used for input as a starting point to convert to other representations.
|
||||
Padded
|
||||
- has specific batch dimension.
|
||||
Packed
|
||||
- no batch dimension.
|
||||
- has auxillary variables used to index into the padded representation.
|
||||
List
|
||||
- only used for input as a starting point to convert to other representations.
|
||||
Padded
|
||||
- has specific batch dimension.
|
||||
Packed
|
||||
- no batch dimension.
|
||||
- has auxillary variables used to index into the padded representation.
|
||||
|
||||
Example:
|
||||
Example:
|
||||
|
||||
Input list of verts V_n = [[V_1], [V_2], ... , [V_N]]
|
||||
where V_1, ... , V_N are the number of verts in each mesh and N is the
|
||||
numer of meshes.
|
||||
Input list of verts V_n = [[V_1], [V_2], ... , [V_N]]
|
||||
where V_1, ... , V_N are the number of verts in each mesh and N is the
|
||||
numer of meshes.
|
||||
|
||||
Input list of faces F_n = [[F_1], [F_2], ... , [F_N]]
|
||||
where F_1, ... , F_N are the number of faces in each mesh.
|
||||
Input list of faces F_n = [[F_1], [F_2], ... , [F_N]]
|
||||
where F_1, ... , F_N are the number of faces in each mesh.
|
||||
|
||||
# SPHINX IGNORE
|
||||
List | Padded | Packed
|
||||
---------------------------|-------------------------|------------------------
|
||||
[[V_1], ... , [V_N]] | size = (N, max(V_n), 3) | size = (sum(V_n), 3)
|
||||
| |
|
||||
Example for verts: | |
|
||||
| |
|
||||
V_1 = 3, V_2 = 4, V_3 = 5 | size = (3, 5, 3) | size = (12, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [0.1, 0.3, 0.5],
|
||||
[0.1, 0.3, 0.5], | [0.1, 0.3, 0.5], | [0.5, 0.2, 0.1],
|
||||
[0.5, 0.2, 0.1], | [0.5, 0.2, 0.1], | [0.6, 0.8, 0.7],
|
||||
[0.6, 0.8, 0.7], | [0.6, 0.8, 0.7], | [0.1, 0.3, 0.3],
|
||||
], | [0, 0, 0], | [0.6, 0.7, 0.8],
|
||||
[ | [0, 0, 0], | [0.2, 0.3, 0.4],
|
||||
[0.1, 0.3, 0.3], | ], | [0.1, 0.5, 0.3],
|
||||
[0.6, 0.7, 0.8], | [ | [0.7, 0.3, 0.6],
|
||||
[0.2, 0.3, 0.4], | [0.1, 0.3, 0.3], | [0.2, 0.4, 0.8],
|
||||
[0.1, 0.5, 0.3], | [0.6, 0.7, 0.8], | [0.9, 0.5, 0.2],
|
||||
], | [0.2, 0.3, 0.4], | [0.2, 0.3, 0.4],
|
||||
[ | [0.1, 0.5, 0.3], | [0.9, 0.3, 0.8],
|
||||
[0.7, 0.3, 0.6], | [0, 0, 0], | ])
|
||||
[0.2, 0.4, 0.8], | ], |
|
||||
[0.9, 0.5, 0.2], | [ |
|
||||
[0.2, 0.3, 0.4], | [0.7, 0.3, 0.6], |
|
||||
[0.9, 0.3, 0.8], | [0.2, 0.4, 0.8], |
|
||||
] | [0.9, 0.5, 0.2], |
|
||||
]) | [0.2, 0.3, 0.4], |
|
||||
| [0.9, 0.3, 0.8], |
|
||||
| ] |
|
||||
| ]) |
|
||||
Example for faces: | |
|
||||
| |
|
||||
F_1 = 1, F_2 = 2, F_3 = 7 | size = (3, 7, 3) | size = (10, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [ 0, 1, 2],
|
||||
[0, 1, 2], | [0, 1, 2], | [ 3, 4, 5],
|
||||
], | [-1, -1, -1], | [ 4, 5, 6],
|
||||
[ | [-1, -1, -1] | [ 8, 9, 7],
|
||||
[0, 1, 2], | [-1, -1, -1] | [ 7, 8, 10],
|
||||
[1, 2, 3], | [-1, -1, -1] | [ 9, 10, 8],
|
||||
], | [-1, -1, -1], | [11, 10, 9],
|
||||
[ | [-1, -1, -1], | [11, 7, 8],
|
||||
[1, 2, 0], | ], | [11, 10, 8],
|
||||
[0, 1, 3], | [ | [11, 9, 8],
|
||||
[2, 3, 1], | [0, 1, 2], | ])
|
||||
[4, 3, 2], | [1, 2, 3], |
|
||||
[4, 0, 1], | [-1, -1, -1], |
|
||||
[4, 3, 1], | [-1, -1, -1], |
|
||||
[4, 2, 1], | [-1, -1, -1], |
|
||||
], | [-1, -1, -1], |
|
||||
]) | [-1, -1, -1], |
|
||||
| ], |
|
||||
| [ |
|
||||
| [1, 2, 0], |
|
||||
| [0, 1, 3], |
|
||||
| [2, 3, 1], |
|
||||
| [4, 3, 2], |
|
||||
| [4, 0, 1], |
|
||||
| [4, 3, 1], |
|
||||
| [4, 2, 1], |
|
||||
| ] |
|
||||
| ]) |
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
List | Padded | Packed
|
||||
---------------------------|-------------------------|------------------------
|
||||
[[V_1], ... , [V_N]] | size = (N, max(V_n), 3) | size = (sum(V_n), 3)
|
||||
| |
|
||||
Example for verts: | |
|
||||
| |
|
||||
V_1 = 3, V_2 = 4, V_3 = 5 | size = (3, 5, 3) | size = (12, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [0.1, 0.3, 0.5],
|
||||
[0.1, 0.3, 0.5], | [0.1, 0.3, 0.5], | [0.5, 0.2, 0.1],
|
||||
[0.5, 0.2, 0.1], | [0.5, 0.2, 0.1], | [0.6, 0.8, 0.7],
|
||||
[0.6, 0.8, 0.7], | [0.6, 0.8, 0.7], | [0.1, 0.3, 0.3],
|
||||
], | [0, 0, 0], | [0.6, 0.7, 0.8],
|
||||
[ | [0, 0, 0], | [0.2, 0.3, 0.4],
|
||||
[0.1, 0.3, 0.3], | ], | [0.1, 0.5, 0.3],
|
||||
[0.6, 0.7, 0.8], | [ | [0.7, 0.3, 0.6],
|
||||
[0.2, 0.3, 0.4], | [0.1, 0.3, 0.3], | [0.2, 0.4, 0.8],
|
||||
[0.1, 0.5, 0.3], | [0.6, 0.7, 0.8], | [0.9, 0.5, 0.2],
|
||||
], | [0.2, 0.3, 0.4], | [0.2, 0.3, 0.4],
|
||||
[ | [0.1, 0.5, 0.3], | [0.9, 0.3, 0.8],
|
||||
[0.7, 0.3, 0.6], | [0, 0, 0], | ])
|
||||
[0.2, 0.4, 0.8], | ], |
|
||||
[0.9, 0.5, 0.2], | [ |
|
||||
[0.2, 0.3, 0.4], | [0.7, 0.3, 0.6], |
|
||||
[0.9, 0.3, 0.8], | [0.2, 0.4, 0.8], |
|
||||
] | [0.9, 0.5, 0.2], |
|
||||
]) | [0.2, 0.3, 0.4], |
|
||||
| [0.9, 0.3, 0.8], |
|
||||
| ] |
|
||||
| ]) |
|
||||
Example for faces: | |
|
||||
| |
|
||||
F_1 = 1, F_2 = 2, F_3 = 7 | size = (3, 7, 3) | size = (10, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [ 0, 1, 2],
|
||||
[0, 1, 2], | [0, 1, 2], | [ 3, 4, 5],
|
||||
], | [-1, -1, -1], | [ 4, 5, 6],
|
||||
[ | [-1, -1, -1] | [ 8, 9, 7],
|
||||
[0, 1, 2], | [-1, -1, -1] | [ 7, 8, 10],
|
||||
[1, 2, 3], | [-1, -1, -1] | [ 9, 10, 8],
|
||||
], | [-1, -1, -1], | [11, 10, 9],
|
||||
[ | [-1, -1, -1], | [11, 7, 8],
|
||||
[1, 2, 0], | ], | [11, 10, 8],
|
||||
[0, 1, 3], | [ | [11, 9, 8],
|
||||
[2, 3, 1], | [0, 1, 2], | ])
|
||||
[4, 3, 2], | [1, 2, 3], |
|
||||
[4, 0, 1], | [-1, -1, -1], |
|
||||
[4, 3, 1], | [-1, -1, -1], |
|
||||
[4, 2, 1], | [-1, -1, -1], |
|
||||
], | [-1, -1, -1], |
|
||||
]) | [-1, -1, -1], |
|
||||
| ], |
|
||||
| [ |
|
||||
| [1, 2, 0], |
|
||||
| [0, 1, 3], |
|
||||
| [2, 3, 1], |
|
||||
| [4, 3, 2], |
|
||||
| [4, 0, 1], |
|
||||
| [4, 3, 1], |
|
||||
| [4, 2, 1], |
|
||||
| ] |
|
||||
| ]) |
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Auxillary variables for packed representation
|
||||
Auxillary variables for packed representation
|
||||
|
||||
Name | Size | Example from above
|
||||
-------------------------------|---------------------|-----------------------
|
||||
| |
|
||||
verts_packed_to_mesh_idx | size = (sum(V_n)) | tensor([
|
||||
| | 0, 0, 0, 1, 1, 1,
|
||||
| | 1, 2, 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (12)
|
||||
| |
|
||||
mesh_to_verts_packed_first_idx | size = (N) | tensor([0, 3, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_verts_per_mesh | size = (N) | tensor([3, 4, 5])
|
||||
| | size = (3)
|
||||
| |
|
||||
faces_packed_to_mesh_idx | size = (sum(F_n)) | tensor([
|
||||
| | 0, 1, 1, 2, 2, 2,
|
||||
| | 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (10)
|
||||
| |
|
||||
mesh_to_faces_packed_first_idx | size = (N) | tensor([0, 1, 3])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_faces_per_mesh | size = (N) | tensor([1, 2, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
verts_padded_to_packed_idx | size = (sum(V_n)) | tensor([
|
||||
| | 0, 1, 2, 5, 6, 7,
|
||||
| | 8, 10, 11, 12, 13,
|
||||
| | 14
|
||||
| | )]
|
||||
| | size = (12)
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
Name | Size | Example from above
|
||||
-------------------------------|---------------------|-----------------------
|
||||
| |
|
||||
verts_packed_to_mesh_idx | size = (sum(V_n)) | tensor([
|
||||
| | 0, 0, 0, 1, 1, 1,
|
||||
| | 1, 2, 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (12)
|
||||
| |
|
||||
mesh_to_verts_packed_first_idx | size = (N) | tensor([0, 3, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_verts_per_mesh | size = (N) | tensor([3, 4, 5])
|
||||
| | size = (3)
|
||||
| |
|
||||
faces_packed_to_mesh_idx | size = (sum(F_n)) | tensor([
|
||||
| | 0, 1, 1, 2, 2, 2,
|
||||
| | 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (10)
|
||||
| |
|
||||
mesh_to_faces_packed_first_idx | size = (N) | tensor([0, 1, 3])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_faces_per_mesh | size = (N) | tensor([1, 2, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
verts_padded_to_packed_idx | size = (sum(V_n)) | tensor([
|
||||
| | 0, 1, 2, 5, 6, 7,
|
||||
| | 8, 10, 11, 12, 13,
|
||||
| | 14
|
||||
| | )]
|
||||
| | size = (12)
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
|
||||
From the faces, edges are computed and have packed and padded
|
||||
representations with auxillary variables.
|
||||
From the faces, edges are computed and have packed and padded
|
||||
representations with auxillary variables.
|
||||
|
||||
E_n = [[E_1], ... , [E_N]]
|
||||
where E_1, ... , E_N are the number of unique edges in each mesh.
|
||||
Total number of unique edges = sum(E_n)
|
||||
E_n = [[E_1], ... , [E_N]]
|
||||
where E_1, ... , E_N are the number of unique edges in each mesh.
|
||||
Total number of unique edges = sum(E_n)
|
||||
|
||||
# SPHINX IGNORE
|
||||
Name | Size | Example from above
|
||||
-------------------------------|-------------------------|----------------------
|
||||
| |
|
||||
edges_packed | size = (sum(E_n), 2) | tensor([
|
||||
| | [0, 1],
|
||||
| | [0, 2],
|
||||
| | [1, 2],
|
||||
| | ...
|
||||
| | [10, 11],
|
||||
| | )]
|
||||
| | size = (18, 2)
|
||||
| |
|
||||
num_edges_per_mesh | size = (N) | tensor([3, 5, 10])
|
||||
| | size = (3)
|
||||
| |
|
||||
edges_packed_to_mesh_idx | size = (sum(E_n)) | tensor([
|
||||
| | 0, 0, 0,
|
||||
| | . . .
|
||||
| | 2, 2, 2
|
||||
| | ])
|
||||
| | size = (18)
|
||||
| |
|
||||
faces_packed_to_edges_packed | size = (sum(F_n), 3) | tensor([
|
||||
| | [2, 1, 0],
|
||||
| | [5, 4, 3],
|
||||
| | . . .
|
||||
| | [12, 14, 16],
|
||||
| | ])
|
||||
| | size = (10, 3)
|
||||
| |
|
||||
mesh_to_edges_packed_first_idx | size = (N) | tensor([0, 3, 8])
|
||||
| | size = (3)
|
||||
----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
# SPHINX IGNORE
|
||||
Name | Size | Example from above
|
||||
-------------------------------|-------------------------|----------------------
|
||||
| |
|
||||
edges_packed | size = (sum(E_n), 2) | tensor([
|
||||
| | [0, 1],
|
||||
| | [0, 2],
|
||||
| | [1, 2],
|
||||
| | ...
|
||||
| | [10, 11],
|
||||
| | )]
|
||||
| | size = (18, 2)
|
||||
| |
|
||||
num_edges_per_mesh | size = (N) | tensor([3, 5, 10])
|
||||
| | size = (3)
|
||||
| |
|
||||
edges_packed_to_mesh_idx | size = (sum(E_n)) | tensor([
|
||||
| | 0, 0, 0,
|
||||
| | . . .
|
||||
| | 2, 2, 2
|
||||
| | ])
|
||||
| | size = (18)
|
||||
| |
|
||||
faces_packed_to_edges_packed | size = (sum(F_n), 3) | tensor([
|
||||
| | [2, 1, 0],
|
||||
| | [5, 4, 3],
|
||||
| | . . .
|
||||
| | [12, 14, 16],
|
||||
| | ])
|
||||
| | size = (10, 3)
|
||||
| |
|
||||
mesh_to_edges_packed_first_idx | size = (N) | tensor([0, 3, 8])
|
||||
| | size = (3)
|
||||
----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
"""
|
||||
|
||||
_INTERNAL_TENSORS = [
|
||||
|
@ -8,85 +8,85 @@ from . import utils as struct_utils
|
||||
|
||||
class Pointclouds(object):
|
||||
"""
|
||||
This class provides functions for working with batches of 3d point clouds,
|
||||
and converting between representations.
|
||||
This class provides functions for working with batches of 3d point clouds,
|
||||
and converting between representations.
|
||||
|
||||
Within Pointclouds, there are three different representations of the data.
|
||||
Within Pointclouds, there are three different representations of the data.
|
||||
|
||||
List
|
||||
- only used for input as a starting point to convert to other representations.
|
||||
Padded
|
||||
- has specific batch dimension.
|
||||
Packed
|
||||
- no batch dimension.
|
||||
- has auxillary variables used to index into the padded representation.
|
||||
List
|
||||
- only used for input as a starting point to convert to other representations.
|
||||
Padded
|
||||
- has specific batch dimension.
|
||||
Packed
|
||||
- no batch dimension.
|
||||
- has auxillary variables used to index into the padded representation.
|
||||
|
||||
Example
|
||||
Example
|
||||
|
||||
Input list of points = [[P_1], [P_2], ... , [P_N]]
|
||||
where P_1, ... , P_N are the number of points in each cloud and N is the
|
||||
number of clouds.
|
||||
Input list of points = [[P_1], [P_2], ... , [P_N]]
|
||||
where P_1, ... , P_N are the number of points in each cloud and N is the
|
||||
number of clouds.
|
||||
|
||||
# SPHINX IGNORE
|
||||
List | Padded | Packed
|
||||
---------------------------|-------------------------|------------------------
|
||||
[[P_1], ... , [P_N]] | size = (N, max(P_n), 3) | size = (sum(P_n), 3)
|
||||
| |
|
||||
Example for locations | |
|
||||
or colors: | |
|
||||
| |
|
||||
P_1 = 3, P_2 = 4, P_3 = 5 | size = (3, 5, 3) | size = (12, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [0.1, 0.3, 0.5],
|
||||
[0.1, 0.3, 0.5], | [0.1, 0.3, 0.5], | [0.5, 0.2, 0.1],
|
||||
[0.5, 0.2, 0.1], | [0.5, 0.2, 0.1], | [0.6, 0.8, 0.7],
|
||||
[0.6, 0.8, 0.7] | [0.6, 0.8, 0.7], | [0.1, 0.3, 0.3],
|
||||
], | [0, 0, 0], | [0.6, 0.7, 0.8],
|
||||
[ | [0, 0, 0] | [0.2, 0.3, 0.4],
|
||||
[0.1, 0.3, 0.3], | ], | [0.1, 0.5, 0.3],
|
||||
[0.6, 0.7, 0.8], | [ | [0.7, 0.3, 0.6],
|
||||
[0.2, 0.3, 0.4], | [0.1, 0.3, 0.3], | [0.2, 0.4, 0.8],
|
||||
[0.1, 0.5, 0.3] | [0.6, 0.7, 0.8], | [0.9, 0.5, 0.2],
|
||||
], | [0.2, 0.3, 0.4], | [0.2, 0.3, 0.4],
|
||||
[ | [0.1, 0.5, 0.3], | [0.9, 0.3, 0.8],
|
||||
[0.7, 0.3, 0.6], | [0, 0, 0] | ])
|
||||
[0.2, 0.4, 0.8], | ], |
|
||||
[0.9, 0.5, 0.2], | [ |
|
||||
[0.2, 0.3, 0.4], | [0.7, 0.3, 0.6], |
|
||||
[0.9, 0.3, 0.8], | [0.2, 0.4, 0.8], |
|
||||
] | [0.9, 0.5, 0.2], |
|
||||
]) | [0.2, 0.3, 0.4], |
|
||||
| [0.9, 0.3, 0.8] |
|
||||
| ] |
|
||||
| ]) |
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
List | Padded | Packed
|
||||
---------------------------|-------------------------|------------------------
|
||||
[[P_1], ... , [P_N]] | size = (N, max(P_n), 3) | size = (sum(P_n), 3)
|
||||
| |
|
||||
Example for locations | |
|
||||
or colors: | |
|
||||
| |
|
||||
P_1 = 3, P_2 = 4, P_3 = 5 | size = (3, 5, 3) | size = (12, 3)
|
||||
| |
|
||||
List([ | tensor([ | tensor([
|
||||
[ | [ | [0.1, 0.3, 0.5],
|
||||
[0.1, 0.3, 0.5], | [0.1, 0.3, 0.5], | [0.5, 0.2, 0.1],
|
||||
[0.5, 0.2, 0.1], | [0.5, 0.2, 0.1], | [0.6, 0.8, 0.7],
|
||||
[0.6, 0.8, 0.7] | [0.6, 0.8, 0.7], | [0.1, 0.3, 0.3],
|
||||
], | [0, 0, 0], | [0.6, 0.7, 0.8],
|
||||
[ | [0, 0, 0] | [0.2, 0.3, 0.4],
|
||||
[0.1, 0.3, 0.3], | ], | [0.1, 0.5, 0.3],
|
||||
[0.6, 0.7, 0.8], | [ | [0.7, 0.3, 0.6],
|
||||
[0.2, 0.3, 0.4], | [0.1, 0.3, 0.3], | [0.2, 0.4, 0.8],
|
||||
[0.1, 0.5, 0.3] | [0.6, 0.7, 0.8], | [0.9, 0.5, 0.2],
|
||||
], | [0.2, 0.3, 0.4], | [0.2, 0.3, 0.4],
|
||||
[ | [0.1, 0.5, 0.3], | [0.9, 0.3, 0.8],
|
||||
[0.7, 0.3, 0.6], | [0, 0, 0] | ])
|
||||
[0.2, 0.4, 0.8], | ], |
|
||||
[0.9, 0.5, 0.2], | [ |
|
||||
[0.2, 0.3, 0.4], | [0.7, 0.3, 0.6], |
|
||||
[0.9, 0.3, 0.8], | [0.2, 0.4, 0.8], |
|
||||
] | [0.9, 0.5, 0.2], |
|
||||
]) | [0.2, 0.3, 0.4], |
|
||||
| [0.9, 0.3, 0.8] |
|
||||
| ] |
|
||||
| ]) |
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Auxillary variables for packed representation
|
||||
Auxillary variables for packed representation
|
||||
|
||||
Name | Size | Example from above
|
||||
-------------------------------|---------------------|-----------------------
|
||||
| |
|
||||
packed_to_cloud_idx | size = (sum(P_n)) | tensor([
|
||||
| | 0, 0, 0, 1, 1, 1,
|
||||
| | 1, 2, 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (12)
|
||||
| |
|
||||
cloud_to_packed_first_idx | size = (N) | tensor([0, 3, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_points_per_cloud | size = (N) | tensor([3, 4, 5])
|
||||
| | size = (3)
|
||||
| |
|
||||
padded_to_packed_idx | size = (sum(P_n)) | tensor([
|
||||
| | 0, 1, 2, 5, 6, 7,
|
||||
| | 8, 10, 11, 12, 13,
|
||||
| | 14
|
||||
| | )]
|
||||
| | size = (12)
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
Name | Size | Example from above
|
||||
-------------------------------|---------------------|-----------------------
|
||||
| |
|
||||
packed_to_cloud_idx | size = (sum(P_n)) | tensor([
|
||||
| | 0, 0, 0, 1, 1, 1,
|
||||
| | 1, 2, 2, 2, 2, 2
|
||||
| | )]
|
||||
| | size = (12)
|
||||
| |
|
||||
cloud_to_packed_first_idx | size = (N) | tensor([0, 3, 7])
|
||||
| | size = (3)
|
||||
| |
|
||||
num_points_per_cloud | size = (N) | tensor([3, 4, 5])
|
||||
| | size = (3)
|
||||
| |
|
||||
padded_to_packed_idx | size = (sum(P_n)) | tensor([
|
||||
| | 0, 1, 2, 5, 6, 7,
|
||||
| | 8, 10, 11, 12, 13,
|
||||
| | 14
|
||||
| | )]
|
||||
| | size = (12)
|
||||
-----------------------------------------------------------------------------
|
||||
# SPHINX IGNORE
|
||||
"""
|
||||
|
||||
_INTERNAL_TENSORS = [
|
||||
|
Loading…
x
Reference in New Issue
Block a user