Package ai.djl.repository.zoo
Class ModelZoo
- java.lang.Object
-
- ai.djl.repository.zoo.ModelZoo
-
- Direct Known Subclasses:
DefaultModelZoo
public abstract class ModelZoo extends java.lang.Object
An interface represents a collection of models.
-
-
Constructor Summary
Constructors Constructor Description ModelZoo()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.String
getGroupId()
Returns the global unique identifier of theModelZoo
.ModelLoader
getModelLoader(java.lang.String name)
Returns theModelLoader
based on the model name.abstract java.util.List<ModelLoader>
getModelLoaders()
Lists the available model families in the ModelZoo.static ModelZoo
getModelZoo(java.lang.String groupId)
Returns theModelZoo
with thegroupId
.abstract java.util.Set<java.lang.String>
getSupportedEngines()
Returns all supported engine names.static boolean
hasModelZoo(java.lang.String groupId)
Returns whether a model zoo with the group id is available.static java.util.Map<Application,java.util.List<Artifact>>
listModels()
Returns the availableApplication
and their model artifact metadata.static java.util.Map<Application,java.util.List<Artifact>>
listModels(Criteria<?,?> criteria)
Returns the availableApplication
and their model artifact metadata.static java.util.Collection<ModelZoo>
listModelZoo()
Returns available model zoos.static <I,O>
ZooModel<I,O>loadModel(Criteria<I,O> criteria)
Load theZooModel
that matches this criteria.static void
registerModelZoo(ZooProvider provider)
Refreshes model zoo.
-
-
-
Method Detail
-
getGroupId
public abstract java.lang.String getGroupId()
Returns the global unique identifier of theModelZoo
.We recommend to use reverse DNS name as your model zoo group ID to make sure it's not conflict with other ModelZoos.
- Returns:
- the global unique identifier of the
ModelZoo
-
getModelLoaders
public abstract java.util.List<ModelLoader> getModelLoaders()
Lists the available model families in the ModelZoo.- Returns:
- the list of all available model families
-
getModelLoader
public ModelLoader getModelLoader(java.lang.String name)
Returns theModelLoader
based on the model name.- Parameters:
name
- the name of the model- Returns:
- the
ModelLoader
of the model
-
getSupportedEngines
public abstract java.util.Set<java.lang.String> getSupportedEngines()
Returns all supported engine names.- Returns:
- all supported engine names
-
registerModelZoo
public static void registerModelZoo(ZooProvider provider)
Refreshes model zoo.- Parameters:
provider
- theZooProvider
-
listModelZoo
public static java.util.Collection<ModelZoo> listModelZoo()
Returns available model zoos.- Returns:
- a list of model zoo
-
getModelZoo
public static ModelZoo getModelZoo(java.lang.String groupId)
Returns theModelZoo
with thegroupId
.- Parameters:
groupId
- the model zoo group id to check for- Returns:
- the
ModelZoo
with thegroupId
-
hasModelZoo
public static boolean hasModelZoo(java.lang.String groupId)
Returns whether a model zoo with the group id is available.- Parameters:
groupId
- the model zoo group id to check for- Returns:
- whether a model zoo with the group id is available
-
loadModel
public static <I,O> ZooModel<I,O> loadModel(Criteria<I,O> criteria) throws java.io.IOException, ModelNotFoundException, MalformedModelException
Load theZooModel
that matches this criteria.- Type Parameters:
I
- the input data type for preprocessingO
- the output data type after postprocessing- Parameters:
criteria
- the requirements for the model- Returns:
- the model that matches the criteria
- Throws:
java.io.IOException
- for various exceptions loading data from the repositoryModelNotFoundException
- if no model with the specified criteria is foundMalformedModelException
- if the model data is malformed
-
listModels
public static java.util.Map<Application,java.util.List<Artifact>> listModels() throws java.io.IOException, ModelNotFoundException
Returns the availableApplication
and their model artifact metadata.- Returns:
- the available
Application
and their model artifact metadata - Throws:
java.io.IOException
- if failed to download to repository metadataModelNotFoundException
- if failed to parse repository metadata
-
listModels
public static java.util.Map<Application,java.util.List<Artifact>> listModels(Criteria<?,?> criteria) throws java.io.IOException, ModelNotFoundException
Returns the availableApplication
and their model artifact metadata.- Parameters:
criteria
- the requirements for the model- Returns:
- the available
Application
and their model artifact metadata - Throws:
java.io.IOException
- if failed to download to repository metadataModelNotFoundException
- if failed to parse repository metadata
-
-