Spaces:
Running
on
Zero
Running
on
Zero
""" | |
Evaluate P-IS of a batch of point clouds. | |
The point cloud batch should be saved to an npz file, where there is an | |
arr_0 key of shape [N x K x 3], where K is the dimensionality of each | |
point cloud and N is the number of clouds. | |
""" | |
import argparse | |
from point_e.evals.feature_extractor import PointNetClassifier, get_torch_devices | |
from point_e.evals.fid_is import compute_inception_score | |
from point_e.evals.npz_stream import NpzStreamer | |
def main(): | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--cache_dir", type=str, default=None) | |
parser.add_argument("batch", type=str) | |
args = parser.parse_args() | |
print("creating classifier...") | |
clf = PointNetClassifier(devices=get_torch_devices(), cache_dir=args.cache_dir) | |
print("computing batch predictions") | |
_, preds = clf.features_and_preds(NpzStreamer(args.batch)) | |
print(f"P-IS: {compute_inception_score(preds)}") | |
if __name__ == "__main__": | |
main() | |