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.4.tar.gz (10.6 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.4-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dolphin_utils-0.4.4.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for dolphin_utils-0.4.4.tar.gz
Algorithm Hash digest
SHA256 0422a3e1604d492cd241a3abb15a7c93bf3ffe953ad409d16ec61492ede03aa7
MD5 1cd8c7bdec2dd74c92acccf51ae655b9
BLAKE2b-256 6e6e7b8eff1743ee9d6dc1727ec98f394033d6b7b1b03cecc1317ece4622899b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dolphin_utils-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for dolphin_utils-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6810d479f2bf5fcdc6b0c3f8bcc476cbac5aa4a58fc93c14e72a88ad563752e7
MD5 c9c71a51e62ee3b142d4d3cbbfa196cc
BLAKE2b-256 5572046eab2e3a4fec6943971fb714b815748c6a299da1f0838853b262659c37

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