import logging
import os
import pickle

import numpy as np
import h5py

from megengine.data import DataLoader
from megengine.data.dataset import Dataset
from megengine.data.sampler import RandomSampler, SequentialSampler
import megengine.distributed as dist

from dataset.transformations import fetch_transform
from common import utils

_logger = logging.getLogger(__name__)


class ModelNetNpy(Dataset):
    def __init__(self, dataset_path: str, dataset_mode: str, subset: str = "train", categories=None, transform=None):
        self._logger = logging.getLogger(self.__class__.__name__)
        self._root = dataset_path
        self._subset = subset
        self._is_master = 
dist.get_rank()