Пример #1
0
 def transform_predictions(probs, dp):
     i = np.argmax(probs)
     b = bs[i]
     if n_samples is not None:
         b = sample_points(b, n_samples)
     points = np.matmul(b, ps[i] + dp[i])
     return dict(cloud=points, attrs=dict(template_id=example_ids[i]))
Пример #2
0
def get_cloud_dataset(cat_id, n_samples, n_resamples):
    from shapenet.core.point_clouds import PointCloudAutoSavingManager
    from util3d.point_cloud import sample_points
    manager = PointCloudAutoSavingManager(cat_id, n_samples)
    if not os.path.isfile(manager.path):
        manager.save_all()
    dataset = manager.get_saving_dataset(mode='r')
    # get_saved_dataset seems to give issues because we don't close properly
    # dataset = manager.get_saved_dataset()
    return dataset.map(lambda x: sample_points(np.array(x), n_resamples))
Пример #3
0
def get_cloud_dataset(cat_ids, example_ids, n_samples=16384, n_resamples=1024):
    import os
    from shapenet.core.point_clouds import PointCloudAutoSavingManager
    from util3d.point_cloud import sample_points
    from dids.core import BiKeyDataset
    if isinstance(cat_ids, str):
        cat_ids = [cat_ids]
        example_ids = [example_ids]
    datasets = {}
    for cat_id, e_ids in zip(cat_ids, example_ids):
        manager = PointCloudAutoSavingManager(cat_id, n_samples)
        if not os.path.isfile(manager.path):
            manager.save_all()
        datasets[cat_id] = manager.get_saving_dataset(
            mode='r').subset(e_ids)
    return BiKeyDataset(datasets).map(
        lambda x: sample_points(np.array(x, dtype=np.float32), n_resamples))
Пример #4
0
 def map_np(self, example_id):
     points = np.array(self._dataset[example_id], dtype=np.float32)
     return sample_points(points, self._n_resamples, axis=0)
Пример #5
0
 def sample_fn(cloud):
     return sample_points(np.array(cloud), self._n_samples)
Пример #6
0
 def sample_fn(cloud):
     return sample_points(np.array(cloud), self._n_samples)
Пример #7
0
 def map_np(self, example_id):
     points = np.array(self._dataset[example_id], dtype=np.float32)
     return sample_points(points, self._n_resamples, axis=0)