Class BinaryModelLoader

java.lang.Object
org.episteme.core.io.AbstractResourceReader<Layer<?>>
org.episteme.core.mathematics.loaders.BinaryModelLoader
All Implemented Interfaces:
ResourceIO<Layer<?>>, ResourceReader<Layer<?>>

public class BinaryModelLoader extends AbstractResourceReader<Layer<?>>
Loader/Serializer for Neural Network models using Java Binary Serialization.

Implements AbstractResourceReader for standardized access. Formerly ModelSerializer.

Since:
2.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • BinaryModelLoader

      public BinaryModelLoader()
  • Method Details

    • getInstance

      public static BinaryModelLoader getInstance()
    • loadFromSource

      protected Layer<?> loadFromSource(String id) throws Exception
      Specified by:
      loadFromSource in class AbstractResourceReader<Layer<?>>
      Throws:
      Exception
    • save

      public void save(Layer<?> model, Path path) throws IOException
      Saves a layer (or model) to a binary file.
      Parameters:
      model - the model/layer to save.
      path - the destination path.
      Throws:
      IOException - if an I/O error occurs.
    • getName

      public String getName()
      Description copied from interface: ResourceIO
      Returns the display name of this resource handler. MUST be implemented with I18N support.
      Returns:
      the display name
    • getDescription

      public String getDescription()
      Description copied from interface: ResourceIO
      Returns a short description of this resource handler. MUST be implemented with I18N support.
      Returns:
      the description
    • getCategory

      public String getCategory()
      Description copied from interface: ResourceIO
      Returns the category for grouping. MUST be implemented with I18N support.
      Returns:
      the category name
    • getResourceType

      public Class<Layer<?>> getResourceType()
      Description copied from interface: ResourceIO
      Returns the type of resource.
    • getResourcePath

      public String getResourcePath()
      Description copied from interface: ResourceIO
      Returns the base path where this resource is located.
    • getLongDescription

      public String getLongDescription()
      Description copied from interface: ResourceIO
      Returns a long description of this resource handler. MUST be implemented with I18N support.
      Returns:
      the long description
    • getSupportedVersions

      public String[] getSupportedVersions()
      Description copied from interface: ResourceIO
      Returns the supported versions of the format this reader/writer handles.

      Each implementation MUST override this method to declare which versions of the underlying format are supported. The returned array should contain version strings in the format's standard notation (e.g., "3.0", "2.1", "Level 3 Version 2").

      Examples:

      • MathML: {"3.0", "2.0"}
      • SBML: {"Level 3 Version 2", "Level 3 Version 1", "Level 2 Version 5"}
      • PhyloXML: {"1.10", "1.00"}

      Returns:
      array of supported version strings, never null (empty array if version-agnostic)