- 28 4月, 2022 3 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: Update PyTorch3D version number Differential Revision: D35980555 fbshipit-source-id: 637ccd33eef22d909985d2fce3958c78f3d0d551
-
由 Jeremy Reizenstein 创作于
Summary: Updates for version 0.6.2 Differential Revision: D35980557 fbshipit-source-id: e677a22d4f8a323376310dfb536133bee8045f1f
-
由 Jeremy Reizenstein 创作于
Summary: colab is now 1.11.0 Differential Revision: D35980556 fbshipit-source-id: 988a06c652518fb61ccbef2e7197e3422a706250
-
- 27 4月, 2022 2 次提交
-
-
由 Krzysztof Chalupka 创作于
Summary: Updated to FoV cameras and added perspective_correct=False, otherwise it'll nan out. Reviewed By: bottler Differential Revision: D35970900 fbshipit-source-id: 569b8de0b124d415f4b841924ddc85585cee2dda
-
由 Krzysztof Chalupka 创作于
Summary: Most of the shaders copypaste exactly the same code into `__init__` and `to`. I will be adding a new shader in the next diff, so let's make it a bit easier. Reviewed By: bottler Differential Revision: D35767884 fbshipit-source-id: 0057e3e2ae3be4eaa49ae7e2bf3e4176953dde9d
-
- 26 4月, 2022 4 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: Move from isort to usort now that usort supports sorting within lines. Reviewed By: patricklabatut Differential Revision: D35893280 fbshipit-source-id: 621c1cd285199d785408504430ee0bdf8683b21e
-
由 Jeremy Reizenstein 创作于
Summary: New function to check if a renderer needs the object mask. Reviewed By: davnov134 Differential Revision: D35254009 fbshipit-source-id: 4c99e8a1c0f6641d910eb32bfd6cfae9d3463d50
-
由 Jeremy Reizenstein 创作于
Summary: Make method for SDF's use of object mask more general, so that a renderer can be given per-pixel values. Reviewed By: shapovalov Differential Revision: D35247412 fbshipit-source-id: 6aeccb1d0b5f1265a3f692a1453407a07e51a33c
-
由 Jeremy Reizenstein 创作于
Summary: For `pip install` without -e, we need to name the entry point functions in setup.py. Reviewed By: patricklabatut Differential Revision: D35933037 fbshipit-source-id: be15ae1a4bb7c5305ea2ba992d07f3279c452250
-
- 14 4月, 2022 1 次提交
-
-
由 Krzysztof Chalupka 创作于
Summary: Repo has jpgs but docs/website want pngs. Reviewed By: nikhilaravi Differential Revision: D35596475 fbshipit-source-id: 4cafd405c06c0eb339001a8db2422dbbd1f8f28a
-
- 13 4月, 2022 4 次提交
-
-
由 Tim Hatch 创作于
Summary: Applies new import merging and sorting from µsort v1.0. When merging imports, µsort will make a best-effort to move associated comments to match merged elements, but there are known limitations due to the diynamic nature of Python and developer tooling. These changes should not produce any dangerous runtime changes, but may require touch-ups to satisfy linters and other tooling. Note that µsort uses case-insensitive, lexicographical sorting, which results in a different ordering compared to isort. This provides a more consistent sorting order, matching the case-insensitive order used when sorting import statements by module name, and ensures that "frog", "FROG", and "Frog" always sort next to each other. For details on µsort's sorting and merging semantics, see the user guide: https://usort.readthedocs.io/en/stable/guide.html#sorting Reviewed By: bottler Differential Revision: D35553814 fbshipit-source-id: be49bdb6a4c25264ff8d4db3a601f18736d17be1
-
由 Jeremy Reizenstein 创作于
Summary: D35513897 (https://github.com/facebookresearch/pytorch3d/commit/4b94649f7b7de4ce3a0597c5a17a7596928ad20b) was a pyre infer job which got some things wrong. Correct by adding the correct types, so these things shouldn't need worrying about again. Reviewed By: patricklabatut Differential Revision: D35546144 fbshipit-source-id: 89f6ea2b67be27aa0b0b14afff4347cccf23feb7
-
由 Jeremy Reizenstein 创作于
Summary: Add option to not rescale the features, giving more control. https://github.com/facebookresearch/pytorch3d/issues/1137 Reviewed By: nikhilaravi Differential Revision: D35219577 fbshipit-source-id: cbbb643b91b71bc908cedc6dac0f63f6d1355c85
-
由 h5jam 创作于
Summary: Hello, I'm Seungoh from South Korea. I'm finding typo while I'm learning tutorials. Wrong numbers are changed to right numbers. Thank you. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1163 Reviewed By: patricklabatut Differential Revision: D35546843 Pulled By: bottler fbshipit-source-id: b6e70cdf821fd4a108dfd416e8f4bcb3ecbeb449
-
- 12 4月, 2022 2 次提交
-
-
由 Pyre Bot Jr 创作于
Differential Revision: D35590813 fbshipit-source-id: 0f35d7193f839a41f3cac18bf20236b815368f19
-
由 Krzysztof Chalupka 创作于
Summary: In order to simplify the interface, we disallow passing None as vertex/face lists to textures.submeshes. This function would only ever get called from within meshes.submeshes where we can provide both arguments, even if they're not necessary for a specific submesh type. Reviewed By: bottler Differential Revision: D35581161 fbshipit-source-id: aeab99308a319b144e141ca85ca7515f855116da
-
- 11 4月, 2022 5 次提交
-
-
由 Krzysztof Chalupka 创作于
Summary: Add submeshing capability for meshes with TexturesVertex. Reviewed By: bottler Differential Revision: D35448534 fbshipit-source-id: 6d16a31a5bfb24ce122cf3c300a7616bc58353d1
-
由 Krzysztof Chalupka 创作于
Summary: Copypasting the docstring: ``` Split a mesh into submeshes, defined by face indices of the original Meshes object. Args: face_indices: Let the original mesh have verts_list() of length N. Can be either - List of length N. The n-th element is a list of length num_submeshes_n (empty lists are allowed). Each element of the n-th sublist is a LongTensor of length num_faces. - List of length N. The n-th element is a possibly empty padded LongTensor of shape (num_submeshes_n, max_num_faces). Returns: Meshes object with selected submeshes. The submesh tensors are cloned. Currently submeshing only works with no textures or with the TexturesVertex texture. Example: Take a Meshes object `cubes` with 4 meshes, each a translated cube. Then: * len(cubes) is 4, len(cubes.verts_list()) is 4, len(cubes.faces_list()) is 4, * [cube_verts.size for cube_verts in cubes.verts_list()] is [8, 8, 8, 8], * [cube_faces.size for cube_faces in cubes.faces_list()] if [6, 6, 6, 6], Now let front_facet, top_and_bottom, all_facets be LongTensors of sizes (2), (4), and (12), each picking up a number of facets of a cube by specifying the appropriate triangular faces. Then let `subcubes = cubes.submeshes([[front_facet, top_and_bottom], [], [all_facets], []])`. * len(subcubes) is 3. * subcubes[0] is the front facet of the cube contained in cubes[0]. * subcubes[1] is a mesh containing the (disconnected) top and bottom facets of cubes[0]. * subcubes[2] is a clone of cubes[2]. * There are no submeshes of cubes[1] and cubes[3] in subcubes. * subcubes[0] and subcubes[1] are not watertight. subcubes[2] is. ``` Reviewed By: bottler Differential Revision: D35440657 fbshipit-source-id: 8a6d2d300ce226b5b9eb440688528b5e795195a1
-
由 Krzysztof Chalupka 创作于
Summary: Sort a mesh's vertices in alphabetical order, and resort the face coords accordingly. Textured meshes are not supported yet, but will be added down the stack. This, togehter with mesh equality, can be used to compare two meshes in a way invariant to vertex permutations, as shown in the unit tests. We do not want the submeshing mechanism to guarantee any particular vertex order, leaving that up to the implementation, so we need this function for testing. Reviewed By: bottler Differential Revision: D35440656 fbshipit-source-id: 5a4dd921fdb00625a33da08b5fea79e20ac6402c
-
由 Krzysztof Chalupka 创作于
Summary: Adding a mesh equality operator. Two Meshes objects m1, m2 are equal iff their vertex lists, face lists, and normals lists are equal. Textures meshes are not supported yet, but will be added for vertex textures down the stack. Reviewed By: bottler, nikhilaravi Differential Revision: D35440655 fbshipit-source-id: 69974a59c091416afdb2892896859a189f5ebf3a
-
由 Krzysztof Chalupka 创作于
Summary: The default behavior of Meshes (with verts=None, faces=None) throws an exception: ``` meshes = Meshes() > ValueError: Verts and Faces must be either a list or a tensor with shape (batch_size, N, 3) where N is either the maximum number of verts or faces respectively. ``` Instead, let's default to an empty mesh, following e.g. PyTorch: ``` empty_tensor = torch.FloatTensor() > torch.tensor([]) ``` this change is backwards-compatible (you can still init with verts=[], faces=[]). Reviewed By: bottler, nikhilaravi Differential Revision: D35443453 fbshipit-source-id: d638a8fef49a089bf0da6dd2201727b94ceb21ec
-
- 10 4月, 2022 1 次提交
-
-
由 Georgia Gkioxari 创作于
Summary: Added L1 norm for KNN and chamfer op * The norm is now specified with a variable `norm` which can only be 1 or 2 Reviewed By: bottler Differential Revision: D35419637 fbshipit-source-id: 77813fec650b30c28342af90d5ed02c89133e136
-
- 09 4月, 2022 1 次提交
-
-
由 Pyre Bot Jr 创作于
Reviewed By: shannonzhu Differential Revision: D35513897 fbshipit-source-id: 1ca12671df1bd6608a7dce9193c145d5985c0b45
-
- 07 4月, 2022 1 次提交
-
-
由 Pyre Bot Jr 创作于
Differential Revision: D35455033 fbshipit-source-id: c4fe9577edd7beb9c40be1cb387f125d53a6a577
-
- 06 4月, 2022 2 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: A new type of auto-expanded member of a Configurable: something of type Optional[X] where X is a Configurable. This works like X but its construction is controlled by a boolean membername_enabled. Reviewed By: davnov134 Differential Revision: D35368269 fbshipit-source-id: 7e0c8a3e8c4930b0aa942fa1b325ce65336ebd5f
-
由 Jeremy Reizenstein 创作于
Summary: Try again to solve https://github.com/facebookresearch/pytorch3d/issues/1144 pickling problem. D35258561 (https://github.com/facebookresearch/pytorch3d/commit/24260130ce382640a89e978cd671298488ec6451) didn't work. When writing a function or vanilla class C which you want people to be able to call get_default_args on, you must add the line enable_get_default_args(C) to it. This causes autogeneration of a hidden dataclass in the module. Reviewed By: davnov134 Differential Revision: D35364410 fbshipit-source-id: 53f6e6fff43e7142ae18ca3b06de7d0c849ef965
-
- 05 4月, 2022 1 次提交
-
-
由 yaookyie 创作于
Summary: Error Reproduction: python=3.8.12 pytorch=1.9.1 pytorch3d=0.6.1 cudatoolkit=11.1.74 test.py: ```python import torch from pytorch3d.ops import cubify voxels = torch.Tensor([[[[0,1], [0,0]], [[0,1], [0,0]]]]).float() meshes = cubify(voxels, 0.5, device="cpu") ``` The error appears when `device="cpu"` and `pytorch=1.9.1` (works fine with pytorch=1.10.2) Error message: ```console /home/kyle/anaconda3/envs/adapt-net/lib/python3.8/site-packages/torch/_tensor.py:575: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at /opt/conda/conda-bld/pytorch_1631630839582/work/aten/src/ATen/native/BinaryOps.cpp:467.) return torch.floor_divide(self, other) Traceback (most recent call last): File "test.py", line 5, in <module> meshes = cubify(voxels, 0.5, device="cpu") File "/home/kyle/anaconda3/envs/adapt-net/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "/home/kyle/Desktop/pytorch3d/pytorch3d/ops/cubify.py", line 227, in cubify idleverts.scatter_(0, grid_faces.flatten(), 0) RuntimeError: Expected index [60] to be smaller than self [27] apart from dimension 0 and to be smaller size than src [27] ``` Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1067 Reviewed By: nikhilaravi Differential Revision: D34893567 Pulled By: bottler fbshipit-source-id: aa95980f7319302044141f7821ef48129cfa37a6
-
- 04 4月, 2022 5 次提交
-
-
由 David Novotny 创作于
Summary: This is required to suppress a huge stdout full of warnings about overflown bins. Reviewed By: bottler Differential Revision: D35359824 fbshipit-source-id: 39214b1bdcb4a5d5debf8ed498b2ca81fa43d210
-
由 Jeremy Reizenstein 创作于
Summary: Aid reflection by adding the original declared types of replaced members of a configurable as values in _processed_members. Reviewed By: davnov134 Differential Revision: D35358422 fbshipit-source-id: 80ef3266144c51c1c2105f349e0dd3464e230429
-
由 Jeremy Reizenstein 创作于
Summary: Use logging instead of printing in the internals of implicitron. Reviewed By: davnov134 Differential Revision: D35247581 fbshipit-source-id: be5ddad5efe1409adbae0575d35ade6112b3be63
-
由 Jeremy Reizenstein 创作于
Summary: This might make the implicitron tests work better on RE. Reviewed By: davnov134 Differential Revision: D35283131 fbshipit-source-id: 4dda9684f632ab6e9cebcbf1e6e4a8243ec00c85
-
由 Jeremy Reizenstein 创作于
Summary: Optional[not_a_type] was causing errors. Reviewed By: davnov134 Differential Revision: D35355530 fbshipit-source-id: e9b52cfd6347ffae0fe688ef30523a4092ccf9fd
-
- 01 4月, 2022 1 次提交
-
-
由 Roman Shapovalov 创作于
Summary: Pyre expects Mapping for ** operator. Reviewed By: bottler Differential Revision: D35288632 fbshipit-source-id: 34d6f26ad912b3a5046f440922bb6ed2fd86f533
-
- 31 3月, 2022 1 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: ListConfig and DictConfig members of get_default_args(X) when X is a callable will contain references to a temporary dataclass and therefore be unpicklable. Avoid this in a few cases. Fixes https://github.com/facebookresearch/pytorch3d/issues/1144 Reviewed By: shapovalov Differential Revision: D35258561 fbshipit-source-id: e52186825f52accee9a899e466967a4ff71b3d25
-
- 29 3月, 2022 4 次提交
-
-
由 Roman Shapovalov 创作于
Summary: as subj Reviewed By: davnov134 Differential Revision: D35194863 fbshipit-source-id: c8e8f234083d4f0f93dca8d93e090ca0e1e1972d
-
由 janEbert 创作于
Summary: Previously, dtypes were not propagated correctly in composed transforms, resulting in errors when different dtypes were mixed. Even specifying a dtype in the constructor does not fix this. Neither does specifying the dtype for each composition function invocation (e.g. as a `kwarg` in `rotate_axis_angle`). With the change, I also had to modify the default dtype of `RotateAxisAngle`, which was `torch.float64`; it is now `torch.float32` like for all other transforms. This was required because the fix in propagation broke some tests due to dtype mismatches. This change in default dtype in turn broke two tests due to precision changes (calculations that were previously done in `torch.float64` were now done in `torch.float32`), so I changed the precision tolerances to be less strict. I chose the lowest power of ten that passed the tests here. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1141 Reviewed By: patricklabatut Differential Revision: D35192970 Pulled By: bottler fbshipit-source-id: ba0293e8b3595dfc94b3cf8048e50b7a5e5ed7cf
-
由 Jeremy Reizenstein 创作于
Summary: Allow things like `renderer:Optional[BaseRenderer]` in configurables. Reviewed By: davnov134 Differential Revision: D35118339 fbshipit-source-id: 1219321b2817ed4b26fe924c6d6f73887095c985
-
由 Jeremy Reizenstein 创作于
Summary: To ensure that tests outside implicitron/ don't use implicitron, split the test for recursive includes in to two. License header checking is not needed here any more. Reviewed By: shapovalov Differential Revision: D35077830 fbshipit-source-id: 2ebe7436a6dcc5d21a116434f6ddd08705dfab34
-
- 28 3月, 2022 1 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: Enable `pytorch3d_implicitron_runner` executable Reviewed By: shapovalov Differential Revision: D34754902 fbshipit-source-id: 213f3e9183e3f7dd7b4df16ad77d95fbc971d625
-
- 25 3月, 2022 1 次提交
-
-
由 Jeremy Reizenstein 创作于
Summary: Attempt to solve an internal issue Reviewed By: shapovalov Differential Revision: D35143263 fbshipit-source-id: b4fd9ee441d85f0a3ee08f2f1e7febd1c1ccbe86
-