Spaces:
Runtime error
Runtime error
| import cv2 | |
| import torch | |
| import utils | |
| from torchvision.transforms import Compose | |
| from midas.dpt_depth import DPTDepthModel | |
| from midas.transforms import Resize, NormalizeImage, PrepareForNet | |
| def compose2(f1, f2): | |
| return lambda x: f2(f1(x)) | |
| model_params = ( | |
| {"name": "dpt_large-midas", "path": "weights/dpt_large-midas-2f21e586.pt", "backbone": "vitl16_384"}, | |
| {"name": "dpt_hybrid-midas", "path": "weights/dpt_hybrid-midas-501f0c75.pt", "backbone": "vitb_rn50_384"} | |
| ) | |
| for model_param in model_params: | |
| model_path = model_param["path"] | |
| device = torch.device("cpu") | |
| model = DPTDepthModel( | |
| path=model_path, | |
| backbone=model_param["backbone"], | |
| non_negative=True, | |
| ) | |
| net_w, net_h = 384, 384 | |
| resize_mode = "minimal" | |
| normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) | |
| resize_image = Resize( | |
| net_w, | |
| net_h, | |
| resize_target=None, | |
| keep_aspect_ratio=False, | |
| ensure_multiple_of=32, | |
| resize_method="upper_bound", | |
| image_interpolation_method=cv2.INTER_CUBIC, | |
| ) | |
| transform = Compose( | |
| [ | |
| resize_image, | |
| normalization, | |
| PrepareForNet() | |
| ] | |
| ) | |
| model.eval() | |
| img = utils.read_image("input/dog.jpg") | |
| img_input = transform({"image": img})["image"] | |
| shaped = img_input.reshape(1, 3, net_h, net_w) | |
| torch.onnx.export(model, torch.rand(1, 3, 384, 384, dtype=torch.float), "weights/" + model_param["name"] + ".onnx", | |
| export_params=True) | |