| @@ -3,15 +3,55 @@ | |||||
| Model | Model | ||||
| ================================ | ================================ | ||||
| A learnware is a well-performed trained model with a specification, where the model is an indispensable component of the learnware. | |||||
| In this section, we will first introduce the ``BaseModel``, which defines the standard format for models in the learnware package. | |||||
| Following that, we will introduce the ``ModelContainer``, which implements model deployment in conda virtual environments and Docker containers. | |||||
| BaseModel | BaseModel | ||||
| ====================================== | ====================================== | ||||
| The ``BaseModel`` class is a fundamental component of the learnware package and serves as a standard interface for defining machine learning models. | |||||
| This class is created to make it easier for users to submit learnwares to the market. | |||||
| It helps ensure that submitted models follow a clear set of rules and requirements. | |||||
| The model in a learnware should inherit the ``BaseModel`` class. | |||||
| Here's a more detailed explanation of key components: | |||||
| - ``input_shape``: Specify the shape of the input features your model expects. | |||||
| - ``output_shape``: Define the shape of the output predictions generated by your model. | |||||
| - ``predict``: Implement the predict method to make predictions using your model. | |||||
| - ``fit``(optional): Use the fit method for training a model with input data and labels. | |||||
| - ``finetune``(optional): Utilize the finetune method for further adjusting pre-existing models sourced from the market. | |||||
| By adhering to these standards, the compatibility and quality of submitted learnwares in the market are ensured. | |||||
| ModelContainer | ModelContainer | ||||
| ====================================== | ====================================== | ||||
| CondaContainer | |||||
| The ``ModelContainer`` class is an essential component of the learnware package, designed to facilitate the management, deployment, and execution of machine learning models within a containerized environment. | |||||
| It inherits from the ``BaseModel`` class and extends its functionality to encapsulate model deployment and execution. | |||||
| ModelCondaContainer | |||||
| --------------------- | |||||
| The ``ModelCondaContainer`` class is an extension of the ``ModelContainer`` class within the learnware package. | |||||
| Its primary purpose is to enable the management, deployment, and execution of machine learning models in a containerized environment, with a specific focus on using Conda virtual environments. | |||||
| This class inherits functionality from ``ModelContainer`` while providing additional capabilities related to Conda-based model execution. | |||||
| Specifically, the ``ModelCondaContainer`` supports the automatic creation of new Conda virtual environments based on the ``requirements.txt`` file (for pip installation) or ``environment.yaml`` file (for Conda installation) included within the learnware itself. | |||||
| It also installs the environment dependencies of the learnware, enabling it to run. | |||||
| ModelDockerContainer | |||||
| --------------------- | --------------------- | ||||
| The ``ModelDockerContainer`` class is a specialized extension of the ``ModelContainer`` class within the learnware package. | |||||
| It is designed to manage, deploy, and execute machine learning models within a containerized environment, specifically using Docker containers. | |||||
| This class inherits functionality from ``ModelContainer`` and enhances it with features related to Docker-based model execution. | |||||
| Compared to ``ModelCondaContainer``, ``ModelDockerContainer`` confines the model's execution within a Docker container. | |||||
| It installs the learnware's virtual environment inside the Docker container, isolating the learnware's execution from the host machine, thus enhancing the security of the learnware. | |||||
| DockerContainer | |||||
| --------------------- | |||||
| Similar to the ``ModelCondaContainer`` class, the ``ModelDockerContainer`` class also supports both types of environment dependency files for learnware: ``requirements.txt`` for pip-based installation and ``environment.yaml`` for conda-based installation. | |||||
| It automates the creation of Docker containers and the installation of learnware's environment dependencies within the container, enabling the learnware to run. | |||||