(encoding, input_dim=3,
multires=6,
degree=4,
num_levels=16, level_dim=2, base_resolution=16, log2_hashmap_size=19, desired_resolution=2048, align_corners=False,
**kwargs)
| 43 | return out |
| 44 | |
| 45 | def get_encoder(encoding, input_dim=3, |
| 46 | multires=6, |
| 47 | degree=4, |
| 48 | num_levels=16, level_dim=2, base_resolution=16, log2_hashmap_size=19, desired_resolution=2048, align_corners=False, |
| 49 | **kwargs): |
| 50 | |
| 51 | if encoding == 'None': |
| 52 | return lambda x, **kwargs: x, input_dim |
| 53 | |
| 54 | elif encoding == 'hashgrid': |
| 55 | from gridencoder import GridEncoder |
| 56 | encoder = GridEncoder(input_dim=input_dim, num_levels=num_levels, level_dim=level_dim, base_resolution=base_resolution, log2_hashmap_size=log2_hashmap_size, desired_resolution=desired_resolution, gridtype='hash', align_corners=align_corners) |
| 57 | |
| 58 | elif encoding == 'tiledgrid': |
| 59 | from gridencoder import GridEncoder |
| 60 | encoder = GridEncoder(input_dim=input_dim, num_levels=num_levels, level_dim=level_dim, base_resolution=base_resolution, log2_hashmap_size=log2_hashmap_size, desired_resolution=desired_resolution, gridtype='tiled', align_corners=align_corners) |
| 61 | elif encoding == 'varhashgrid': |
| 62 | from gridencoder.grid import VarGridEncoder |
| 63 | encoder = VarGridEncoder(input_dim=input_dim, num_levels=num_levels, level_dim=level_dim, base_resolution=base_resolution, log2_hashmap_size=log2_hashmap_size, desired_resolution=desired_resolution, gridtype='tiled', align_corners=align_corners, hash_entries = kwargs['hash_feat_dim']) |
| 64 | else: |
| 65 | raise NotImplementedError('Unknown encoding mode, choose from [None, frequency, sphere_harmonics, hashgrid, tiledgrid]') |
| 66 | |
| 67 | return encoder, encoder.output_dim |
no test coverage detected