THE FILE FIELD GUIDE
.pth

PyTorch Model / Weights

AI & Machine Learning

PTH can mean PyTorch model weights/checkpoints or an unrelated Python path-configuration file. Model files may contain only weights, training-resume data or a complete serialized module. Identify the producer and saving method rather than assuming compatibility or safety from the filename.

What it is used for
Model weights/persistence, or Python path configuration
What the file contains
Producer-dependent
All sections, questions and sources

Content reviewed: · Editor:Kai

Identify first: AI model or Python configuration

Identify first: AI model or Python configuration
Origin / descriptionLikely purposeFirst check
Model release or training outputPyTorch weights/checkpointCheck model identity, architecture, serialization and app version
site-packagesPython path configurationInspect as text; do not install or run unknown configuration
Unidentified attachment/downloadNot identifiable from the suffix aloneDo not load until the producer is established

Size and readable text are clues, not definitive identification. You can inspect a copy through File → Open in a text editor; readable content is not proof of safety.

Opening steps

Choose your environment or purpose to see its steps.

PyTorch weights: use the matching architecture

Weights contain learned values. Matching architecture, input shape, preprocessing and output interpretation are still needed.

  1. Obtain the producer’s README, model definition, configuration and supported library versions; confirm whether the file is a plain state_dict.
  2. Load only trusted files in an updated compatible environment; specify CPU mapping and the appropriate restricted-loading option.
  3. Apply weights through load_state_dict, check keys and tensor shapes, switch to eval for inference, and validate the documented inputs and preprocessing.
Using an AI app: follow its model workflow

The same extension does not make weights interchangeable between model architectures or tools.

  1. Check tool identity, model family/version, installation location, required configuration and weight format in the producer’s instructions.
  2. Use a supported loading workflow rather than renaming the file to force compatibility.
Python path configuration: inspect as text

This PTH is not an AI model; it configures Python’s module search paths and related startup behavior.

  1. Identify the active interpreter and site-packages location. Read through an editor; do not copy unknown configuration into another environment.
  2. Alongside path lines, import-line behavior depends on Python version and matching .start files. Follow the package’s documented configuration workflow.

Menu labels and support vary by app, OS and version. Preserve the original before making changes.

Minimal loading example for a plain state_dict

This function is only for a trusted PTH containing a plain state_dict. Pass a model already constructed with the producer’s architecture and configuration. It neither creates an architecture nor establishes the safety of an unknown file.

import torch

def load_weights(model, path):
    state = torch.load(
        path, map_location="cpu", weights_only=True
    )
    model.load_state_dict(state, strict=True)
    model.eval()
    return model

The example is explanatory; this site does not upload or execute PTH files. eval() changes model behavior and is separate from disabling gradient tracking.

Source for these steps:PyTorch Project · Saving and Loading Models / PyTorch Project · torch.load

State dictionaries and checkpoints load differently

  • A state_dict maps parameter names to tensors and related state; it does not necessarily supply the Python model class or preprocessing.
  • A training checkpoint may also contain optimizer state, epoch or loss. Select the producer’s documented model-weight key instead of passing the whole checkpoint to load_state_dict.
  • A serialized complete model may depend on original Python classes and libraries. A restricted-loading failure is not a reason to blindly allow unknown objects.

Source for these steps:PyTorch Project · Saving and Loading Models / PyTorch Project · Serialization semantics

Troubleshooting by symptom

  • Missing/unexpected keys: check architecture, dictionary nesting and training wrappers. Verify the producer’s layout before removing prefixes such as module..
  • Size mismatch: layer width, class count or other settings differ from saved tensor shapes. strict=False is not a universal fix or a guarantee of correct inference.
  • CUDA device error: CPU mapping may help loading, but a GPU-dependent model or pipeline may still not run entirely on CPU.
  • Restricted-loading failure: establish serialization and supported versions. Do not automatically disable weights_only or allowlist unknown classes just to bypass the error.
  • ModuleNotFoundError: a saved complete model may require the original class. Verify dependencies with the trusted producer or request a weights-only release.
  • Archive error or unexpectedly small file: check for an incomplete download or an HTML error page. Compare the publisher’s size or hash when available.
  • Out of memory: required RAM/VRAM depends on architecture and inputs, not just file size. CPU mapping does not eliminate memory requirements.
  • Import failure involving a path PTH: check the active interpreter and configured locations. Model loading or ONNX conversion will not repair path configuration.

PTH → ONNX / Safetensors: identify the export purpose

  1. Establish trusted architecture, weights, preprocessing and input specifications; validate the original model first.
  2. ONNX exports model computation. Review example inputs, supported operations, dynamic shapes and destination runtime requirements.
  3. Safetensors primarily stores tensors. Select the required tensors and destination naming/layout; it does not replace the model’s complete Python implementation.
  4. Save separately and compare outputs, shapes, accuracy and performance on the same inputs. Path-configuration PTH files are not model-conversion inputs.

Renaming .pth to .onnx or .safetensors is not conversion. The initial PTH loading step also carries risk; consider a supported export supplied by the producer.

Related-format differences

Related-format differences
FormatKey distinction
.pth / .ptConventional PyTorch suffixes; serialization determines whether they contain weights, objects or checkpoints.
.safetensorsTensor storage; the destination still needs a matching architecture and parameter names.
.onnxModel interchange with computation graphs; verify operation and runtime support.
Python text PTHAn unrelated path-configuration use, not an AI model.

Handling and security

PyTorch object serialization can involve pickle-based code execution. weights_only=True restricts loading but does not guarantee protection against every risk or memory exhaustion. Verify origin, release terms, file identity and updated dependencies; do not load unknown models. Python configuration PTH can also contain import lines executed at startup, depending on the version.

Questions and answers

Will double-clicking run the AI model?

Normally not. Use a compatible app or a PyTorch environment with the model architecture.

Do weights completely reconstruct a model?

Architecture, configuration and preprocessing are needed; resuming training can require optimizer and other state too.

Does strict=False make different models compatible?

No. Review key/shape differences and which parameters actually loaded; results may differ from the intended model.

Does CPU loading make the whole pipeline work without a GPU?

Not necessarily. Weight-loading location and the model/app’s execution requirements are separate.

Does weights_only=True make unknown files safe?

No. It is not a safety guarantee or a reason to load unknown input; verify the producer and environment.

Can every AI app use any PTH?

No. Architecture, purpose, model family, serialization and app support must match.

Can I delete PTH files from site-packages?

Deleting path configuration can break imports. Distinguish it from model data and follow the package’s repair/removal instructions.

Format facts: name, steward and MIME type
Formal name
PyTorch model persistence / Python path configuration
Steward / specification
PyTorch Project / Python Software Foundation
MIME type
Depends on the producer or server; an extension alone does not establish a MIME type.

Primary and official sources

  • Project documentationSaving and Loading Models

    Distinguishes state dictionaries, complete modules and checkpoints.

    PyTorch Project · Link checked:
  • Project documentationtorch.load

    map_location, weights_only and warnings about untrusted input.

    PyTorch Project · Link checked:
  • Project documentationSerialization semantics

    Restricted loading and the limits of its security guarantees.

    PyTorch Project · Link checked:
  • Project documentationtorch.onnx

    ONNX export requirements, model definitions and example inputs.

    PyTorch Project · Link checked:
  • Project documentationsite — Site-specific configuration hook

    Path-configuration PTH files, startup processing and version differences.

    Python Software Foundation · Link checked:
  • Project documentationSafetensors

    Tensor storage and differences from PyTorch object serialization.

    Hugging Face · Link checked: