class_docstr: A concrete class representing a :class:`EncryptedDataset`.
  
  This class gives an very simple example on how to use patched `torch.load`
  to load decrypted dataset into memory and constructs an Dataset upon it. You
  can use this :class:`EncryptedDataset` if its load_data method works good with
  your dataset.  Otherwise, it would be quite simple to build your own Dataset
  class given this example
  
  .. note::
    The decryption key passed in should be the same with the key that is
    used to encrypt the dataset through torch.save(dataset, encryption_key=xxx)
code: def __len__(self):
      return len(self.data)
  
imports: import torch
  from torch.utils.data import Dataset
  import io
  import os
  import pathlib
  from cryptography.fernet import Fernet
  from typing import BinaryIO, Union, IO, Optional
  import pickle
  from bigdl.nano.utils.common import invalidInputError
label_desc: Use image node_id 3 for calling the EncryptedDataset obj's underlying member method code with example usage: obj.__len__() and returns: len