class_docstr: ModuleV1 is an old version of the PaddleHub Module format, which is no longer in use. In order to maintain
  compatibility, users can still load the corresponding Module for prediction. User should call `hub.Module`
  to initialize the corresponding object, rather than `ModuleV1`.
class_docstr_tok: ["ModuleV1","is","an","old","version","of","the","PaddleHub","Module","format",",","which","is","no","longer","in","use",".","In","order","to","maintain","compatibility",",","users","can","still","load","the","corresponding","Module","for","prediction",".","User","should","call","`","hub.Module","`","to","initialize","the","corresponding","object",",","rather","than","`","ModuleV1","`","."]
docstr: Load the infomation of Module object defined in the specified directory.
docstr_tok: ["Load","the","infomation","of","Module","object","defined","in","the","specified","directory","."]
code: def load_module_info(cls, directory: str) -> EasyDict:
      """Load the infomation of Module object defined in the specified directory."""
      desc_file = os.path.join(directory, "module_desc.pb")
      desc = module_v1_utils.convert_module_desc(desc_file)
  
      # The naming of some old versions of Module is not standardized, which format of uppercase
      # letters. This will cause the path of these modules to be incorrect after installation.
      module_info = desc.module_info
      module_info.name = module_info.name.lower()
      return module_info
  
imports: import functools
  import os
  from typing import List
  from typing import Tuple
  import paddle.io
  import paddle2onnx
  from easydict import EasyDict
  from paddlehub.compat import paddle_utils
  from paddlehub.compat.module import module_v1_utils
  from paddlehub.utils import log
  from paddlehub.utils import utils
label_desc: Use image node_id 13 for calling the ModuleV1 obj's underlying member method code with example usage: obj.load_module_info(cls, directory) and returns: module_info