Closed HongLouyemeng closed 5 months ago
Hi, My obj file is only 2.9GB,but torch3d is consuming 46GB of my memory (98%) loading mesh info and no texture info. after 98% memory cost,I get a blank image after rendering with the loaded mesh via cuda
import torch from typing import List, Tuple from pytorch3d.structures import Meshes from pytorch3d.renderer import ( FoVPerspectiveCameras, Materials, RasterizationSettings, MeshRenderer, MeshRasterizer, SoftPhongShader, Textures, look_at_view_transform,SoftSilhouetteShader ) import matplotlib.pyplot as plt import torch.nn.functional as F from pytorch3d.renderer import PerspectiveCameras,TexturesAtlas from pytorch3d.io import load_obj,load_objs_as_meshes obj_path = "data.obj" device = 'cuda:0' camera = torch.load('test (1).pth') rotation_matrix = camera['Camera.001']['R'] translation_vector = camera['Camera.001']['T'] focal = camera['Camera.001']['focal'] principal = camera['Camera.001']['principal'] cameras = PerspectiveCameras(R=rotation_matrix, T=translation_vector, focal_length=focal, principal_point=principal , device=device) verts, faces_idx, aux= load_obj(obj_path,load_textures=False,device=device) faces = faces_idx.verts_idx mesh = Meshes( verts=[verts], faces=[faces] ) mesh.textures = torch.zeros_like(verts)[None] raster_settings = RasterizationSettings( image_size=(480,640), blur_radius=0.0, faces_per_pixel=1, perspective_correct=False, ) renderer = MeshRenderer( rasterizer=MeshRasterizer( cameras=cameras, raster_settings=raster_settings ), shader=SoftSilhouetteShader() ) target_images = renderer(mesh) plt.imshow(target_images[0].cpu()) plt.show() plt.imshow(target_images[0].cpu()) plt.show() plt.savefig('1.jpg')�
Hi, My obj file is only 2.9GB,but torch3d is consuming 46GB of my memory (98%) loading mesh info and no texture info. after 98% memory cost,I get a blank image after rendering with the loaded mesh via cuda