From 322c8f2f50bb95e9d89c47126e081cb57395d116 Mon Sep 17 00:00:00 2001 From: Jeremy Reizenstein Date: Mon, 31 Oct 2022 14:44:41 -0700 Subject: [PATCH] make lpips optional Summary: So that lpips isn't needed in readthedocs Reviewed By: shapovalov Differential Revision: D40859351 fbshipit-source-id: 58933bd3b71e78e658fbce56c3663b11ee2331f6 --- pytorch3d/implicitron/evaluation/evaluator.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pytorch3d/implicitron/evaluation/evaluator.py b/pytorch3d/implicitron/evaluation/evaluator.py index ab4af53c1..d4c777155 100644 --- a/pytorch3d/implicitron/evaluation/evaluator.py +++ b/pytorch3d/implicitron/evaluation/evaluator.py @@ -5,13 +5,12 @@ # LICENSE file in the root directory of this source tree. import copy - import json import logging import os +import warnings from typing import Any, Dict, List, Optional, Tuple -import lpips import torch import tqdm @@ -89,8 +88,16 @@ def run( Returns: A dictionary of results. """ - lpips_model = lpips.LPIPS(net="vgg") - lpips_model = lpips_model.to(device) + try: + import lpips + + lpips_model = lpips.LPIPS(net="vgg") + lpips_model = lpips_model.to(device) + except ImportError: + warnings.warn( + "lpips library NOT FOUND. lpips losses will not be calculated" + ) + lpips_model = None model.eval()