NIM Repository Layout

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

This topic describes the NIM remote repositories layout.

NIM Docker Repository Layout

The following is the NIM Repository Layout.

<repository-name>
   ├── .jfrog                         
   │   ├── caller-info.json             
   │   └── model-mapping.json           
   ├── models                      
   │   ├── org                     
   │   │   ├── nim                    
   │   │   │   ├── team                
   │   │   │   │   ├── meta            
   │   │   │   │   │   ├── <model_name>
   │   │   │   │   │   │   ├── <model_version>
   │   │   │   │   │   │   │   ├── .jfrog
   │   │   │   │   │   │   │   │   ├── checksums.blake3    
   │   │   │   │   │   │   │   │   ├── config.json          
   │   │   │   │   │   │   │   │   ├── generation_config.json
  • <repository-name>: The root folder of your Docker remote repository.

  • .jfrog: Contains JFrog internal configuration files for integration.

  • caller-info.json: JSON metadata typically includes information about API callers or services interacting with the repository.

  • model-mapping.json: A file that maps various models to their paths or specifications.

  • models: The main directory for machine learning models.

  • org: A directory that encapsulates organizational structure.

  • nim: Indicates a specific technology or model framework

  • team: Represents a specific team working within the organizational folder.

  • meta: Contains metadata and model records.

  • <model_name>: Each model is stored in its directory.

  • <model_version>: Different versions of the model (versioning is crucial for deployment).

  • .jfrog: Contains files specific to model configuration.

  • checksums.blake3: A file with checksum values for integrity verification of the model files.

  • config.json: Contains model-specific configurations

  • generation_config.json: Configuration for generation-specific settings

NIM Remote Repository Layout

<repository-name>
   ├── .jfrog                         
   │   ├── caller-info.json             
   │   └── model-mapping.json           
   ├── models                      
   │   ├── org_name                     
   │   │   ├── team_name                
   │   │   │   ├── <model_name>
   │   │   │   │   ├── <model_version>
   │   │   │   │   │   ├── .jfrog_nim_model_info.json   
   │   │   │   │   │   └── <model>
   │   │   │   │   │       ├── <FILE_1>
   │   │   │   │   │       └── <FILE_2>  
  • <repository name>: The top-level name of the repository where all models are stored. This often reflects the purpose or organization managing the models.

  • <models>: A directory that contains all the models.

  • <org_name>_<team_name> - A folder naming convention where:

    • <org_name>: represents the organization's name (for example, my_org).

    • <team_name>: represents the specific team within the organization (for example, data_science).

    Together, they are separated by an underscore (for example, my_org_data_science).

  • <model_name> - The name of the specific model (for example, image_classifier).

  • <model_version> - Version of the model, usually following semantic versioning (for example, v1.0.0).

  • _.jfrog_nim_model_info.json - A metadata file in JSON format that contains information about the model, such as its name, version, description, authorship, and any dependencies or requirements for the model.

  • <model> - A directory that contains the actual model files necessary for deployment or inference.

  • <FILE_1>, <FILE_2> - These are placeholders for specific model files, which could include:

    • The serialized model itself (for example, a .pt file for PyTorch, .h5 for Keras).

    • Configuration files.

    • Any other relevant resources