vggt icon indicating copy to clipboard operation
vggt copied to clipboard

Ran out of memory

Open ML-learner79 opened this issue 7 months ago • 2 comments

I am new here and find the work interesting I have around 40 images, and I am running out of memory when try to make this prediction as below

from vggt.utils.pose_enc import pose_encoding_to_extri_intri from vggt.utils.geometry import unproject_depth_map_to_point_map

with torch.no_grad(): with torch.cuda.amp.autocast(dtype=dtype): images = images[None] # add batch dimension aggregated_tokens_list, ps_idx = model.aggregator(images) I am using Tesla T4 GPU. When I use only a few images, it's working. Also How can I save the prediction from here to the prediction dictionary such that I can use predictions_to_glb to generate glb output.

Thank you

ML-learner79 avatar May 09 '25 21:05 ML-learner79

哈哈哈,我用的3090能处理540P的44帧~~

stone100010 avatar May 15 '25 13:05 stone100010

Hi,

Please check here, you can simply save the prediction dictionary as:

with torch.no_grad():
    predictions = run_model(target_dir, model)

# Save predictions
prediction_save_path = os.path.join(target_dir, "predictions.npz")
np.savez(prediction_save_path, **predictions)

# Handle None frame_filter
if frame_filter is None:
    frame_filter = "All"

# Build a GLB file name
glbfile = os.path.join(
    target_dir,
    f"glbscene_{conf_thres}_{frame_filter.replace('.', '_').replace(':', '').replace(' ', '_')}_maskb{mask_black_bg}_maskw{mask_white_bg}_cam{show_cam}_sky{mask_sky}_pred{prediction_mode.replace(' ', '_')}.glb",
)

# Convert predictions to GLB
glbscene = predictions_to_glb(
    predictions,
    conf_thres=conf_thres,
    filter_by_frames=frame_filter,
    mask_black_bg=mask_black_bg,
    mask_white_bg=mask_white_bg,
    show_cam=show_cam,
    mask_sky=mask_sky,
    target_dir=target_dir,
    prediction_mode=prediction_mode,
)
glbscene.export(file_obj=glbfile)

jytime avatar May 16 '25 06:05 jytime