Safetensors documentation

Torch API

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.5.0-rc.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Torch API

safetensors.torch.load_file

< >

( filename: typing.Union[str, os.PathLike]device: typing.Union[str, int] = 'cpu'backend: str = 'mmap' ) → Dict[str, torch.Tensor]

Parametreler

  • filename (str veya os.PathLike) — Tensörleri içeren dosyanın adı
  • device (Union[str, int], isteğe bağlı, varsayılan cpu) — Yükleme işleminden sonra tensörlerin bulunması gereken cihaz. Mevcut seçenekler, tüm standart torch cihaz konumlarıdır.
  • backend (str, isteğe bağlı, varsayılan "mmap") — Tensor baytlarını sunmak için kullanılan depolama arka ucu. "mmap" (varsayılan) ve "pread", tensor baytlarını okumak için pread(2) kullanır.

Dönüş değeri

Dict[str, torch.Tensor]

anahtar olarak ad, değer olarak torch.Tensor içeren sözlük

Bir safetensors dosyasını torch biçimine yükler.

Örnek:

from safetensors.torch import load_file

file_path = "./my_folder/bert.safetensors"
loaded = load_file(file_path)

safetensors.torch.load

< >

( data: bytes ) → Dict[str, torch.Tensor]

Parametreler

  • data (bytes) — Bir safetensors dosyasının içeriği

Dönüş değeri

Dict[str, torch.Tensor]

anahtar olarak ad, değer olarak cpu'da torch.Tensor içeren sözlük

Safetensors dosyasını saf baytlardan torch biçimine yükler.

Örnek:

from safetensors.torch import load

file_path = "./my_folder/bert.safetensors"
with open(file_path, "rb") as f:
    data = f.read()

loaded = load(data)

safetensors.torch.save_file

< >

( tensors: typing.Dict[str, torch.Tensor]filename: typing.Union[str, os.PathLike]metadata: typing.Optional[typing.Dict[str, str]] = None ) → None

Parametreler

  • tensors (Dict[str, torch.Tensor]) — Gelen tensörler. Tensörlerin ardışık ve yoğun (dense) olması gerekir.
  • filename (str veya os.PathLike) — Kaydedilecek dosya adı.
  • metadata (Dict[str, str], isteğe bağlı, varsayılan None) — Başlığınızda kaydetmek isteyebileceğiniz isteğe bağlı, yalnızca metin içeren metadata. Örneğin, altta yatan tensörler hakkında daha fazla bilgi belirtmek için faydalı olabilir. Bu tamamen bilgilendirme amaçlıdır ve tensör yüklemesini etkilemez.

Dönüş değeri

None

Girdi olarak verilen tensör sözlüğünü safetensors biçiminde filename dosyasına kaydeder. Bir dosya kaydı sırasında çağıran tarafın verileri değiştirmesini önleyecek bir mekanizma bulunmamaktadır; bu nedenle save_file çağrısı yapılırken tensors sözlüğünde referans verilen tensörleri eş zamanlı olarak değiştirmeye dikkat edilmelidir; bu durum bozuk dosyalara yol açabilir.

Örnek:

from safetensors.torch import save_file
import torch

tensors = {"embedding": torch.zeros((512, 1024)), "attention": torch.zeros((256, 256))}
save_file(tensors, "model.safetensors")

safetensors.torch.save

< >

( tensors: typing.Dict[str, torch.Tensor]metadata: typing.Optional[typing.Dict[str, str]] = None ) → bytes

Parametreler

  • tensors (Dict[str, torch.Tensor]) — Gelen tensörler. Tensörlerin ardışık ve yoğun (dense) olması gerekir.
  • metadata (Dict[str, str], isteğe bağlı, varsayılan None) — Başlığınızda kaydetmek isteyebileceğiniz isteğe bağlı, yalnızca metin içeren metadata. Örneğin, altta yatan tensörler hakkında daha fazla bilgi belirtmek için faydalı olabilir. Bu tamamen bilgilendirme amaçlıdır ve tensör yüklemesini etkilemez.

Dönüş değeri

bytes

Biçimi temsil eden ham baytlar

Safetensors biçiminde, tensörlerden oluşan bir sözlüğü ham baytlara kaydeder.

Örnek:

from safetensors.torch import save
import torch

tensors = {"embedding": torch.zeros((512, 1024)), "attention": torch.zeros((256, 256))}
byte_data = save(tensors)

safetensors.torch.load_model

< >

( model: Modulefilename: typing.Union[str, os.PathLike]strict: bool = Truedevice: typing.Union[str, int] = 'cpu'backend: str = 'mmap' ) → `(missing, unexpected)

Parametreler

  • model (torch.nn.Module) — Yüklenecek model.
  • filename (str veya os.PathLike) — Dosyanın yükleneceği dosya adı konumu.
  • strict (bool, isteğe bağlı, varsayılan True) — Eksik anahtarlar varsa veya beklenmeyen anahtarlar varsa hata verip vermeyeceğini belirler. False olduğunda, fonksiyon yalnızca eksik ve beklenmeyen adları döndürür.
  • device (Union[str, int], isteğe bağlı, varsayılan cpu) — Yükleme işleminden sonra tensörlerin bulunması gereken cihaz. Mevcut seçenekler, tüm standart torch cihaz konumlarıdır.
  • backend (str, isteğe bağlı, varsayılan "mmap") — Tensor baytlarını sunmak için kullanılan depolama arka ucu. "mmap" (varsayılan) ve "pread", tensor baytlarını okumak için pread(2) kullanır.

Dönüş değeri

`(eksik, beklenmeyen)

(List[str], List[str]) missingare names in the model which were not modified during loadingunexpected` are names that are on the file, but weren’t used during the load.

Belirli bir dosya adını bir torch modeline yükler. Bu yöntem, safetensors'te izin verilmeyen gerginlik paylaşımı sorunlarını önlemek amacıyla özellikle mevcuttur. Gerginlik paylaşımı hakkında daha fazla bilgi

safetensors.torch.save_model

< >

( model: Modulefilename: strmetadata: typing.Optional[typing.Dict[str, str]] = Noneforce_contiguous: bool = True )

Parametreler

  • model (torch.nn.Module) — Diskte kaydedilecek model.
  • filename (str) — Dosyanın kaydedileceği dosya adı konumu
  • metadata (Dict[str, str], isteğe bağlı) — Dosya ile birlikte kaydedilecek ek bilgiler. Her atılan tensör için bazı metadata eklenir. Bu bilgi, paylaşılan yapının tamamını kurtarmak için yeterli olmayabilir ancak konuları anlamaya yardımcı olabilir.
  • force_contiguous (boolean, isteğe bağlı, varsayılan True) — state_dict'in ardışık (contiguous) tensörler olarak kaydedilmesini zorlar. Bu, modelin doğruluğu üzerinde hiçbir etkiye sahip değildir, ancak tensörün yerleşimi bu amaçla özellikle seçildiyse performans potansiyel olarak değişebilir.

Belirtilen dosya adına verilen bir torch modelini kaydeder. Bu yöntem, safetensors'te izin verilmeyen gerginlik paylaşımı sorunlarını önlemek amacıyla özellikle mevcuttur. Gerginlik paylaşımı hakkında daha fazla bilgi

Update on GitHub