Skip to main content

Collection of utilities for AI/ML model analysis and processing

Project description

dolphin-utils

A collection of utilities for AI/ML model analysis and processing.

dolphin-summarize

This tool analyzes safetensors model files to generate a condensed summary of the model's architecture. It groups similar parameter names using range notation (e.g., model.layers.[0-39].mlp.down_proj.weight) and displays the shape and data type (precision) for each parameter group.

Key Features:

  • Remote Processing: Analyze Hugging Face models without downloading the full model files (downloads only headers - KB instead of GB)
  • Local Processing: Works with locally stored model directories
  • Efficient: Uses HTTP range requests and streaming to minimize data transfer
  • Reliable: Multiple fallback strategies ensure 100% compatibility

Dependencies

  • Python 3.7+
  • huggingface_hub - For accessing Hugging Face repositories
  • requests - For HTTP requests and remote file access
  • safetensors - For reading safetensors file headers

All dependencies are automatically installed when you install the package:

pip install dolphin-utils

Usage

After installing the package:

pip install dolphin-utils

You can use the tool in two ways:

Via CLI command:

dolphin-summarize [MODEL_PATH_OR_REPO_ID] [OPTIONS]

Via Python module:

python -m dolphin_summarize [MODEL_PATH_OR_REPO_ID] [OPTIONS]

Arguments:

  • MODEL_PATH_OR_REPO_ID:
    • Local path: Directory containing safetensors files (e.g., ~/models/my_llama_model)
    • Hugging Face repo ID: Repository identifier (e.g., microsoft/DialoGPT-medium)
    • Defaults to current directory (.) if not provided

Options:

  • --output OUTPUT, -o OUTPUT: Path to an output file where the summary will be written (optional).
  • --verbose, -v: Show verbose output during processing (optional).

Examples

Remote Processing (Hugging Face Hub):

# Process a model directly from Hugging Face without downloading
python -m dolphin_summarize microsoft/DialoGPT-medium --verbose

# Large models work too - only headers are downloaded
python -m dolphin_summarize meta-llama/Llama-2-70b-hf --verbose

Local Processing:

# Process a local model directory
python -m dolphin_summarize ~/models/my_llama_model --verbose

# Process current directory
python -m dolphin_summarize . --verbose

Output Format

The script prints the summary to the console (and optionally to a file). Each line represents a parameter or a group of parameters with a similar structure:

parameter_name,[shape],dtype

Example Output Lines:

lm_head.weight,[131072,5120],BF16
model.embed_tokens.weight,[131072,5120],BF16
model.layers.[0-39].input_layernorm.weight,[5120],BF16
model.layers.[0-39].mlp.down_proj.weight,[5120,13824],BF16
model.layers.[0-39].mlp.gate_proj.weight,[13824,5120],BF16
model.layers.[0-39].mlp.up_proj.weight,[13824,5120],BF16
model.layers.[0-39].post_attention_layernorm.weight,[5120],BF16
model.layers.[0-39].self_attn.k_proj.weight,[512,5120],BF16
model.layers.[0-39].self_attn.o_proj.weight,[5120,8192],BF16
model.layers.[0-39].self_attn.q_proj.weight,[8192,5120],BF16
model.layers.[0-39].self_attn.v_proj.weight,[512,5120],BF16
model.norm.weight,[5120],BF16

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dolphin_utils-0.4.2.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dolphin_utils-0.4.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file dolphin_utils-0.4.2.tar.gz.

File metadata

  • Download URL: dolphin_utils-0.4.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/8.5.0 pkginfo/1.12.1.2 requests/2.32.4 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.12.2

File hashes

Hashes for dolphin_utils-0.4.2.tar.gz
Algorithm Hash digest
SHA256 1901dee3d66293a0f83719c2c7cc26e0fb3e8a5e0035d66c260ceb25616e0e06
MD5 5903a1cc2a15ef9acb5188e4b703ef60
BLAKE2b-256 9a8c42355bf3b30a58f75a5adabea6dfc88d7665969bea04ea25b79e879d84d4

See more details on using hashes here.

File details

Details for the file dolphin_utils-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: dolphin_utils-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/8.5.0 pkginfo/1.12.1.2 requests/2.32.4 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.12.2

File hashes

Hashes for dolphin_utils-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 987f2eb101266d90b6e6e1b27888a1a67258518c7ac64d2845ce94ce74396ada
MD5 3ac3610e4f68a438503496bfb77af2d3
BLAKE2b-256 1a40e77d6d4ea84fd93355f1c58fd71d4638af575fc2abcab99d19e1800d2d43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page