提交 4e4297df 编写于 作者: W wuzewu

support init module with key

上级 32ff186b
......@@ -37,3 +37,4 @@ from .finetune.config import FinetuneConfig
from .finetune.task import Task
from .reader import BERTTokenizeReader
from .reader.cv_reader import ImageClassificationReader
......@@ -15,3 +15,5 @@
from .dataset import InputExample, HubDataset
from .chnsenticorp import ChnSentiCorp
from .msra_ner import MSRA_NER
from .dogcat import DogCatDataset as DogCat
from .flowers import FlowersDataset as Flowers
......@@ -21,12 +21,13 @@ import shutil
from paddle_hub.common import utils
from paddle_hub.common.downloader import default_downloader
from paddle_hub.common.dir import MODULE_HOME
import paddle_hub as hub
class LocalModuleManager:
def __init__(self, module_home=None):
self.local_modules_dir = module_home if module_home else hub.MODULE_HOME
self.local_modules_dir = module_home if module_home else MODULE_HOME
self.modules_dict = {}
if not os.path.exists(self.local_modules_dir):
utils.mkdir(self.local_modules_dir)
......@@ -77,7 +78,11 @@ class LocalModuleManager:
save_name=module_name,
replace=True)
result, tips, module_dir = default_downloader.uncompress(
file=module_zip_file, dirname=hub.MODULE_HOME, delete_file=True)
file=module_zip_file, dirname=MODULE_HOME, delete_file=True)
save_path = os.path.join(MODULE_HOME, module_name)
shutil.move(module_dir, save_path)
module_dir = save_path
if module_dir:
tips = "Successfully installed %s" % module_name
......
......@@ -15,24 +15,28 @@
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os
import time
import sys
import functools
from shutil import copyfile
import paddle
import paddle.fluid as fluid
from paddle_hub.common import utils
from paddle_hub.common import paddle_helper
from paddle_hub.common.logger import logger
from paddle_hub.common.downloader import default_downloader
from paddle_hub.common import paddle_helper
from paddle_hub.module import module_desc_pb2
from paddle_hub.module import check_info_pb2
from paddle_hub.module.signature import Signature, create_signature
from paddle_hub.module.checker import ModuleChecker
from paddle_hub.module.manager import default_module_manager
from paddle_hub.module.base_processor import BaseProcessor
from paddle_hub.io.reader import yaml_reader
from paddle_hub import version
from paddle_hub.module.base_processor import BaseProcessor
from shutil import copyfile
import os
import time
import sys
import functools
import paddle
import paddle.fluid as fluid
__all__ = ['Module', 'create_module']
......@@ -89,6 +93,7 @@ class ModuleHelper(object):
class Module(object):
def __init__(self,
key=None,
url=None,
module_dir=None,
signatures=None,
......@@ -105,7 +110,9 @@ class Module(object):
self.processor = None
self.name = "temp"
# TODO(wuzewu): print more module loading info log
if url:
if key:
self._init_with_key(key=key)
elif url:
self._init_with_url(url=url)
elif module_dir:
self._init_with_module_file(module_dir=module_dir)
......@@ -124,10 +131,23 @@ class Module(object):
else:
raise "Error! HubModule can't init with nothing"
def _init_with_key(self, key):
logger.info("Try installing module %s" % key)
result, tips, module_dir = default_module_manager.install_module(
module_name=key)
if not result:
logger.error(tips)
exit(1)
logger.info(tips)
self._init_with_module_file(module_dir)
def _init_with_url(self, url):
utils.check_url(url)
result, _, module_dir = default_downloader.download_file_and_uncompress(
result, tips, module_dir = default_downloader.download_file_and_uncompress(
url, save_path=".")
if not result:
logger.error(tips)
exit(1)
self._init_with_module_file(module_dir)
def _dump_processor(self):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册