Transformers documentation

PatchTSMixer

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

and get access to the augmented documentation experience

to get started

Bu model, 2023-06-14 tarihinde HF papers'ta yayımlandı ve 2023-12-05 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

PatchTSMixer

Genel Bakış

PatchTSMixer modeli, Vijay Ekambaram, Arindam Jati, Nam Nguyen, Phanwadee Sinthong ve Jayant Kalagnanam tarafından TSMixer: Lightweight MLP-Mixer Model for Multivariate Time Series Forecasting makalesinde önerilmiştir.

PatchTSMixer, MLP-Mixer mimarisine dayanan hafif bir zaman serisi modelleme yaklaşımıdır. Bu HuggingFace uygulamasında, PatchTSMixer’ın yeteneklerini sağlayarak çok değişkenli zaman serisi modellemesi için yamalar, kanallar ve gizli özellikler arasında etkili ve zahmetsiz karıştırmayı kolaylaştırıyoruz. Ayrıca, basit kapılı dikkat (gated attention) mekanizmasından, uygun şekilde özelleştirilebilecek daha karmaşık öz-dikkat (self-attention) bloklarına kadar çeşitli dikkat mekanizmalarını destekler. Model, önceden eğitilebilir ve ardından tahmin, sınıflandırma ve regresyon gibi çeşitli aşağı akış (downstream) görevlerinde kullanılabilir.

Makalenin özeti aşağıdaki gibidir:

TSMixer, yamalı zaman serileri üzerinde çok değişkenli tahmin ve temsil öğrenmesi için tasarlanmış, yalnızca çok katmanlı algılayıcı (MLP) modüllerinden oluşan hafif bir sinirsel mimaridir. Modelimiz, bilgisayar görüşünde MLP-Mixer modellerinin başarısından ilham alır. Zaman serileri için Vision MLP-Mixer'ın uyarlanmasındaki zorlukları gösteriyor ve doğruluğu artırmak için ampirik olarak doğrulanmış bileşenler sunuyoruz. Bu, hiyerarşi ve kanal korelasyonları gibi zaman serisi özelliklerini açıkça modellemek için MLP-Mixer omurgasına çevrimiçi uzlaştırma başlıkları ekleyen yeni bir tasarım paradigmasını içerir. Ayrıca, mevcut yama kanal karıştırma yöntemlerinde yaygın bir zorluk olan gürültülü kanal etkileşimlerini ve çeşitli veri kümeleri genelinde genelleştirmeyi etkili bir şekilde ele almak için Hibrit kanal modelleme yaklaşımı öneriyoruz. Ek olarak, önemli özelliklere öncelik vermek için omurgaya basit bir kapılı dikkat mekanizması tanıtıldı. Bu hafif bileşenleri dahil ederek, basit MLP yapılarının öğrenme yeteneğini önemli ölçüde artırıyor ve minimal hesaplama kullanımıyla karmaşık Transformer modellerinin performansını geride bırakıyoruz. Üstelik TSMixer'ın modüler tasarımı, hem denetimli hem de maskeli kendiliğinden denetimsiz öğrenme yöntemleriyle uyumluluk sağlayarak onu zaman serisi Temel Modelleri için umut verici bir yapı taşı haline getiriyor. TSMixer, tahminde en iyi MLP ve Transformer modellerini 8-60% gibi önemli bir farkla geride bırakıyor. Ayrıca, bellek ve çalışma süresinde (2-3X) önemli bir azalma sağlayarak en son güçlü Patch-Transformer model referanslarını (1-2% ile) geride bırakıyor.

Bu model ajati, vijaye12, gsinthong, namctin, wmgifford ve kashif tarafından katkıda bulunmuştur.

Kullanım örneği

Aşağıdaki kod parçası, bir PatchTSMixer modelinin rastgele nasıl başlatıldığını göstermektedir. Model, Trainer API ile uyumludur.


from transformers import PatchTSMixerConfig, PatchTSMixerForPrediction
from transformers import Trainer, TrainingArguments,


config = PatchTSMixerConfig(context_length = 512, prediction_length = 96)
model = PatchTSMixerForPrediction(config)
trainer = Trainer(model=model, args=training_args, 
            train_dataset=train_dataset,
            eval_dataset=valid_dataset)
trainer.train()
results = trainer.evaluate(test_dataset)

Kullanım ipuçları

Model, zaman serisi sınıflandırma ve zaman serisi regresyon için de kullanılabilir. İlgili PatchTSMixerForTimeSeriesClassification ve PatchTSMixerForRegression sınıflarına bakın.

Kaynaklar

  • PatchTSMixer'i derinlemesine açıklayan bir blog yazısı burada bulunabilir. Blog, Google Colab'ta da açılabilir.

PatchTSMixerConfig

sınıf transformers.PatchTSMixerConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonecontext_length: int = 32patch_length: int = 8num_input_channels: int = 1patch_stride: int = 8num_parallel_samples: int = 100d_model: int = 8expansion_factor: int = 2num_layers: int = 3dropout: float | int = 0.2mode: str = 'common_channel'gated_attn: bool = Truenorm_mlp: str = 'LayerNorm'self_attn: bool = Falseself_attn_heads: int = 1use_positional_encoding: bool = Falsepositional_encoding_type: str = 'sincos'scaling: str | bool | None = 'std'loss: str = 'mse'init_std: float = 0.02norm_eps: float = 1e-05mask_type: str = 'random'random_mask_ratio: float = 0.5num_forecast_mask_patches: list[int] | tuple[int, ...] | int | None = (2,)mask_value: int = 0masked_loss: bool = Truechannel_consistent_masking: bool = Trueunmasked_channel_indices: list[int] | None = Nonehead_dropout: float | int = 0.2distribution_output: str = 'student_t'prediction_length: int = 16prediction_channel_indices: list | None = Nonenum_targets: int = 3output_range: list | None = Nonehead_aggregation: str | None = 'max_pool' )

Parametreler

  • context_length (int, isteğe bağlı, varsayılan 32) — Girdi dizisi için bağlam/geçmiş uzunluğu.
  • patch_length (int, isteğe bağlı, varsayılan 8) — Giriş dizisi için yama uzunluğu.
  • num_input_channels (int, isteğe bağlı, varsayılan 1) — Giriş kanal sayısı.
  • patch_stride (int, isteğe bağlı, varsayılan 8) — İki ardışık yama arasındaki örtüşmeyi belirler. Örtüşmeyen yamalar isteniyorsa bu değeri patch_length (veya daha büyük bir değer) olarak ayarlayın.
  • num_parallel_samples (int, isteğe bağlı, varsayılan 100) — Olasılıksal tahmin için paralel olarak üretilecek örnek sayısı.
  • d_model (int, isteğe bağlı, varsayılan 8) — Kodlayıcı katmanlarının ve pooler katmanının boyutu.
  • expansion_factor (int, isteğe bağlı, varsayılan 2) — MLP içinde kullanılacak genişleme çarpanı. Önerilen aralık 2-5'tir. Daha büyük değerler daha karmaşık bir modele işaret eder.
  • num_layers (int, isteğe bağlı, varsayılan 3) — Transformer çözücüdeki gizli katman sayısı.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.2) — Tüm dropout katmanları için oran.
  • mode (str, isteğe bağlı, varsayılan "common_channel") — Mixer Modu. Kanalların nasıl işleneceğini belirler. İzin verilen değerler: “common_channel”, “mix_channel”. “common_channel” modunda, açık bir kanal karıştırmadan bağımsız kanal modellemesini (Channel-independent modelling) izleriz. Kanal karıştırması, kanallar arasında paylaşılan ağırlıklar aracılığıyla dolaylı bir şekilde gerçekleşir. (tercih edilen ilk yaklaşım) “mix_channel” modunda, yama (patch) ve özellik karıştırıcısının (feature mixer) yanı sıra açık kanal karıştırmayı izleriz. (kanal korelasyonlarının model için çok önemli olduğu durumlarda tercih edilen yaklaşım)
  • gated_attn (bool, isteğe bağlı, varsayılan True) — Gated Attention'ı etkinleştirir.
  • norm_mlp (str, isteğe bağlı, varsayılan "LayerNorm") — Normalizasyon katmanı (BatchNorm veya LayerNorm).
  • self_attn (bool, isteğe bağlı, varsayılan False) — Paketler arası Tiny öz-dikkati etkinleştirir. Vanilla PatchTSMixer'ın kapılı dikkat çıktısı tatmin edici olmadığında bu özellik etkinleştirilebilir. Etkinleştirildiğinde, paketler arasında açık çiftler arası dikkat ve modelleme yapılır.
  • self_attn_heads (int, isteğe bağlı, varsayılan 1) — Self-attention baş sayısı. Yalnızca self_attn True olarak ayarlandığında çalışır.
  • use_positional_encoding (bool, isteğe bağlı, varsayılan False) — Küçük öz-dikkat katmanları için konumsal gömme kullanımını etkinleştirir. Yalnızca self_attn True olarak ayarlandığında çalışır.
  • positional_encoding_type (str, isteğe bağlı, varsayılan "sincos") — Konumsal kodlamalar. "random" ve "sincos" seçenekleri desteklenir. Yalnızca use_positional_encoding True olarak ayarlandığında çalışır.
  • scaling (string veya bool, opsiyonel, varsayılan "std") — Girdi hedeflerinin “mean” ölçekleyici, “std” ölçekleyici veya None ise ölçekleyici olmadan ölçeklendirilip ölçeklendirilmeyeceğini belirtir. True ise ölçekleyici “mean” olarak ayarlanır.
  • loss (string, isteğe bağlı, varsayılan "mse") — distribution_output başlığına karşılık gelen model için kayıp fonksiyonu. Parametrik dağılımlar için negatif log olma olasılığı (“nll”), nokta tahminleri için ise ortalama kare hatadır “mse”.
  • init_std (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • norm_eps (float, isteğe bağlı, varsayılan 1e-05) — Normalizasyonun sayısal kararlılığı için paydaya eklenen değer.
  • mask_type (str, isteğe bağlı, varsayılan "random") — Masked Pretraining modu için kullanılacak maskeleme türü. İzin verilen değerler “random” ve “forecast”tir. Random maskelemede noktalar rastgele maskelenir. Forecast maskelemede ise noktalar sona doğru maskelenir.
  • random_mask_ratio (float, isteğe bağlı, varsayılan 0.5) — mask_type random olduğunda kullanılacak maskeleme oranı. Daha yüksek değer, daha fazla maskeleme anlamına gelir.
  • num_forecast_mask_patches (int veya list, opsiyonel, varsayılan [2]) — Her batch örneğinin sonunda maskelenecek yama sayısı. Tamsayı ise, batch'teki tüm örneklerde maskelenen yama sayısı aynı olacaktır. Liste ise, batch'teki örnekler, listede tanımlanan sayılarla rastgele maskelenir. Bu argüman yalnızca tahmin ön eğitimi için kullanılır.
  • mask_value (float, isteğe bağlı, varsayılan 0.0) — Kullanılacak maske değeri.
  • masked_loss (bool, isteğe bağlı, varsayılan True) — Ön eğitim kaybının yalnızca maskelenmiş bölümlerde mi yoksa tüm çıktı üzerinde mi hesaplanacağı.
  • channel_consistent_masking (bool, isteğe bağlı, varsayılan True) — Doğru olduğunda, maskeleme işlemi zaman serisinin tüm kanalları için aynı olacaktır. Aksi halde, maskeleme konumları kanallar arasında değişecektir.
  • unmasked_channel_indices (list, isteğe bağlı) — Ön eğitim sırasında maskelenmeyen kanallar.
  • head_dropout (float, isteğe bağlı, varsayılan 0.2) — PatchTSMixer başlığı için dropout olasılığı.
  • distribution_output (string, isteğe bağlı, varsayılan "student_t") — Kayıp “nll” olduğunda modelin dağılım çıkış başlığı. “student_t”, “normal” veya “negative_binomial” olabilir.
  • prediction_length (int, isteğe bağlı, varsayılan 16) — Tahmin görevi için öngörülecek zaman adımı sayısı. Forecast Horizon olarak da bilinir.
  • prediction_channel_indices (list, optional) — List of channel indices to forecast. If None, forecast all channels. Target data is expected to have all channels and we explicitly filter the channels in prediction and target before loss computation.
  • num_targets (int, isteğe bağlı, varsayılan 3) — Bir regresyon görevi için hedef sayısı (regresyon değişkeninin boyutluluğu).
  • output_range (list, isteğe bağlı) — Gerileme görevi için kısıtlamak üzere çıktı aralığı. Varsayılan değeri None'dir.
  • head_aggregation (str, isteğe bağlı, varsayılan "max_pool") — Sınıflandırma veya regresyon görevi için etkinleştirilecek birleştirme modu. İzin verilen değerler None, “use_last”, “max_pool”, “avg_pool” şeklindedir.

Bu, bir PatchTSMixerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Patchtsmixer modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, ibm/patchtsmixer-etth1-pretrain modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import PatchTSMixerConfig, PatchTSMixerModel

>>> # Initializing a default PatchTSMixer configuration
>>> configuration = PatchTSMixerConfig()

>>> # Randomly initializing a model (with random weights) from the configuration
>>> model = PatchTSMixerModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

PatchTSMixerModel

sınıf transformers.PatchTSMixerModel

< >

( config: PatchTSMixerConfigmask_input: bool = False )

Parametreler

  • config (PatchTSMixerConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
  • mask_input (bool, isteğe bağlı, varsayılan False) — Girdinin PatchTSMixerMasking modülü kullanılarak maskelenip maskelenmeyeceğini belirtir.

Zaman serisi tahmini için PatchTSMixer Modeli.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( past_values: Tensorobserved_mask: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = None**kwargs ) → PatchTSMixerModelOutput or tuple(torch.Tensor)

Parametreler

  • past_values (torch.Tensor şeklinde (batch_size, seq_length, num_input_channels)) — Zaman serisinin bağlam değerleri. Ön eğitim görevi için, maskelenmiş kısmı tahmin etmek için girdi olarak kullanılan zaman serisini ifade eder. Tahmin görevi için, geçmiş/zaman serisi değerlerini ifade eder. Benzer şekilde, sınıflandırma veya regresyon görevleri için, zaman serisinin uygun bağlam değerlerini ifade eder.

    Tek değişkenli zaman serileri için num_input_channels boyutu 1 olmalıdır. Çok değişkenli zaman serilerinde ise bu değer 1'den büyüktür.

  • observed_mask (torch.Tensor şeklinde (batch_size, sequence_length, num_input_channels), isteğe bağlı) — Hangi past_values değerlerin gözlemlendiğini, hangilerinin eksik olduğunu belirtmek için Boolean mask. Mask değerleri seçilir içinde [0, 1]:
    • gözlemlenen değerler için 1
    • eksik (yani sıfırlarla değiştirilen NaN'lar) olan değerler için 0.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.

Dönüş değeri

PatchTSMixerModelOutput veya tuple(torch.Tensor)

PatchTSMixerModelOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (PatchTSMixerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PatchTSMixerModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • last_hidden_state (torch.Tensor, şekli (batch_size, num_channels, num_patches, d_model)) — Modelin son katmanının çıktısındaki gizli durum.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı) — Modelin her katmanının çıktısındaki gizli durumları.
  • patch_input (torch.Tensor, şekli (batch_size, num_channels, num_patches, patch_length)) — Modelin girdi olarak aldığı yamalanmış (patched) veri.
  • mask (torch.Tensor, şekli (batch_size, num_channels, num_patches), isteğe bağlı) — Maskelenmiş yamalarda True, diğer durumlarda False değerini içeren Bool Tensor.
  • loc (torch.Tensor, şekli (batch_size, 1, num_channels), isteğe bağlı) — Kanal başına bağlam penceresinin ortalamasını verir. revin etkinleştirildiyse, model dışında revin denorm için kullanılır.
  • scale (torch.Tensor, şekli (batch_size, 1, num_channels), isteğe bağlı) — Kanal başına bağlam penceresinin standart sapmasını verir. revin etkinleştirilmişse, model dışında revin denorm için kullanılır.

PatchTSMixerForPrediction

sınıf transformers.PatchTSMixerForPrediction

< >

( config: PatchTSMixerConfig )

Parametreler

  • config (PatchTSMixerConfig) — Yapılandırma.

Tahmin uygulamaları için PatchTSMixer.

forward

< >

( past_values: Tensorobserved_mask: typing.Optional[torch.Tensor] = Nonefuture_values: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = Nonereturn_loss: bool = True**kwargs ) → PatchTSMixerForPredictionOutput or tuple(torch.Tensor)

Parametreler

  • past_values (torch.Tensor şeklinde (batch_size, seq_length, num_input_channels)) — Zaman serisinin bağlam değerleri. Ön eğitim görevi için, maskelenmiş kısmı tahmin etmek için girdi olarak kullanılan zaman serisini ifade eder. Tahmin görevi için, geçmiş/zaman serisi değerlerini ifade eder. Benzer şekilde, sınıflandırma veya regresyon görevleri için, zaman serisinin uygun bağlam değerlerini ifade eder.

    Tek değişkenli zaman serileri için num_input_channels boyutu 1 olmalıdır. Çok değişkenli zaman serilerinde ise bu değer 1'den büyüktür.

  • observed_mask (torch.Tensor şeklinde (batch_size, sequence_length, num_input_channels), isteğe bağlı) — Hangi past_values değerlerin gözlemlendiğini, hangilerinin eksik olduğunu belirtmek için Boolean mask. Mask değerleri seçilir içinde [0, 1]:
    • gözlemlenen değerler için 1
    • eksik (yani sıfırlarla değiştirilen NaN'lar) olan değerler için 0.
  • future_values (torch.Tensor of shape (batch_size, target_len, num_input_channels) for forecasting, — (batch_size, num_targets) for regression, or (batch_size,) for classification, optional): Target values of the time series, that serve as labels for the model. The future_values is what the Transformer needs during training to learn to output, given the past_values. Note that, this is NOT required for a pretraining task.

    Bir tahmin görevi için şekil (batch_size, target_len, num_input_channels) olmalıdır. prediction_channel_indices parametresindeki indeksleri ayarlayarak yalnızca belirli kanalları tahmin etmek istesek bile, hedef veriyi tüm kanallarla birlikte iletin; çünkü hem tahmin hem de hedef için kanal filtreleme, kayıp hesabından önce manuel olarak uygulanacaktır.

  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_loss (bool, isteğe bağlı) — forward çağrısında kaybın (loss) döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

PatchTSMixerForPredictionOutput veya tuple(torch.Tensor)

PatchTSMixerForPredictionOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (PatchTSMixerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PatchTSMixerForPrediction forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (*optional*, y sağlandığında döndürülür, torch.Tensor, şekli ()) — Toplam kayıp.
  • prediction_outputs (torch.Tensor, şekli (batch_size, prediction_length, num_input_channels)) — Tahmin başından gelen tahmin çıktısı.
  • last_hidden_state (torch.Tensor, şekli (batch_size, num_input_channels, num_patches, d_model)) — Head üzerinden geçirilmeden önceki backbone gömme değerleri.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı) — Modelin her katmanının çıktısındaki gizli durumlar ve isteğe bağlı başlangıç gömme çıktıları.
  • loc (torch.Tensor, isteğe bağlı, şekli (batch_size, 1, num_input_channels)) — Girdi ortalaması
  • scale (torch.Tensor, isteğe bağlı, şekli (batch_size, 1, num_input_channels)) — Girdi standart sapması

PatchTSMixerForTimeSeriesClassification

sınıf transformers.PatchTSMixerForTimeSeriesClassification

< >

( config: PatchTSMixerConfig )

Parametreler

  • config (PatchTSMixerConfig) — Yapılandırma.

Sınıflandırma uygulaması için PatchTSMixer.

forward

< >

( past_values: Tensortarget_values: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = Nonereturn_loss: bool = True**kwargs ) → PatchTSMixerForTimeSeriesClassificationOutput or tuple(torch.Tensor)

Parametreler

  • past_values (torch.Tensor şeklinde (batch_size, seq_length, num_input_channels)) — Zaman serisinin bağlam değerleri. Ön eğitim görevi için, maskelenmiş kısmı tahmin etmek için girdi olarak kullanılan zaman serisini ifade eder. Tahmin görevi için, geçmiş/zaman serisi değerlerini ifade eder. Benzer şekilde, sınıflandırma veya regresyon görevleri için, zaman serisinin uygun bağlam değerlerini ifade eder.

    Tek değişkenli zaman serileri için num_input_channels boyutu 1 olmalıdır. Çok değişkenli zaman serilerinde ise bu değer 1'den büyüktür.

  • target_values (torch.Tensor şeklinde (batch_size, target_len, num_input_channels) tahmin için, — (batch_size, num_targets) geri dönüşüm için veya (batch_size,) sınıflandırma için, isteğe bağlı): Zaman serisinin hedef değerleri, model için etiket görevi görür. target_values Transformer'ın eğitim sırasında öğrenmesi gereken çıktıdır, verilen past_values. Not: Bu, ön eğitim görevi için gerekli DEĞİLDİR.

    Bir tahmin görevi için şekil (batch_size, target_len, num_input_channels) olmalıdır. prediction_channel_indices parametresindeki indeksleri ayarlayarak yalnızca belirli kanalları tahmin etmek istesek bile, hedef veriyi tüm kanallarla birlikte iletin; çünkü hem tahmin hem de hedef için kanal filtreleme, kayıp hesabından önce manuel olarak uygulanacaktır.

    Bir sınıflandırma görevi için, şekli (batch_size,)'dir.

    Bir regresyon görevi için, şekli (batch_size, num_targets)'tir.

  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_loss (bool, isteğe bağlı) — forward çağrısında kaybın (loss) döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

PatchTSMixerForTimeSeriesClassificationOutput veya tuple(torch.Tensor)

PatchTSMixerForTimeSeriesClassificationOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (PatchTSMixerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PatchTSMixerForTimeSeriesClassification forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (*optional*, y sağlandığında döndürülür, torch.Tensor, şekli ()) — Toplam kayıp.
  • prediction_outputs (torch.Tensor, şekli (batch_size, num_labels)) — Sınıflandırma başlığından gelen tahmin çıktısı.
  • last_hidden_state (torch.Tensor, şekli (batch_size, num_input_channels, num_patches, d_model)) — Head üzerinden geçirilmeden önceki backbone gömme değerleri.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı) — Modelin her katmanının çıktısındaki gizli durumlar ve isteğe bağlı başlangıç gömme çıktıları.

PatchTSMixerForPretraining

sınıf transformers.PatchTSMixerForPretraining

< >

( config: PatchTSMixerConfig )

Parametreler

  • config (PatchTSMixerConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Mask ön eğitimi için PatchTSMixer.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( past_values: Tensorobserved_mask: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = Nonereturn_loss: bool = True**kwargs ) → PatchTSMixerForPreTrainingOutput or tuple(torch.Tensor)

Parametreler

  • past_values (torch.Tensor şeklinde (batch_size, seq_length, num_input_channels)) — Zaman serisinin bağlam değerleri. Ön eğitim görevi için, maskelenmiş kısmı tahmin etmek için girdi olarak kullanılan zaman serisini ifade eder. Tahmin görevi için, geçmiş/zaman serisi değerlerini ifade eder. Benzer şekilde, sınıflandırma veya regresyon görevleri için, zaman serisinin uygun bağlam değerlerini ifade eder.

    Tek değişkenli zaman serileri için num_input_channels boyutu 1 olmalıdır. Çok değişkenli zaman serilerinde ise bu değer 1'den büyüktür.

  • observed_mask (torch.Tensor şeklinde (batch_size, sequence_length, num_input_channels), isteğe bağlı) — Hangi past_values değerlerin gözlemlendiğini, hangilerinin eksik olduğunu belirtmek için Boolean mask. Mask değerleri seçilir içinde [0, 1]:
    • gözlemlenen değerler için 1
    • eksik (yani sıfırlarla değiştirilen NaN'lar) olan değerler için 0.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_loss (bool, isteğe bağlı) — forward çağrısında kaybın (loss) döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

PatchTSMixerForPreTrainingOutput veya tuple(torch.Tensor)

PatchTSMixerForPreTrainingOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (PatchTSMixerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PatchTSMixerForPretraining forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (*optional*, y sağlandığında döndürülür, torch.Tensor, şekli ()) — Toplam kayıp
  • prediction_outputs (torch.Tensor, şekli (batch_size, num_input_channels, num_patches, patch_length)) — Ön eğitim başlığından gelen tahmin çıktısı.
  • last_hidden_state (torch.Tensor, şekli (batch_size, num_input_channels, num_patches, d_model)) — Head üzerinden geçirilmeden önceki backbone gömme değerleri.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı) — Modelin her katmanının çıktısındaki gizli durumları.

PatchTSMixerForRegression

sınıf transformers.PatchTSMixerForRegression

< >

( config: PatchTSMixerConfig )

Parametreler

  • config (PatchTSMixerConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Regresyon uygulaması için PatchTSMixer.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( past_values: Tensortarget_values: typing.Optional[torch.Tensor] = Noneoutput_hidden_states: bool | None = Nonereturn_loss: bool = True**kwargs ) → PatchTSMixerForRegressionOutput or tuple(torch.Tensor)

Parametreler

  • past_values (torch.Tensor şeklinde (batch_size, seq_length, num_input_channels)) — Zaman serisinin bağlam değerleri. Ön eğitim görevi için, maskelenmiş kısmı tahmin etmek için girdi olarak kullanılan zaman serisini ifade eder. Tahmin görevi için, geçmiş/zaman serisi değerlerini ifade eder. Benzer şekilde, sınıflandırma veya regresyon görevleri için, zaman serisinin uygun bağlam değerlerini ifade eder.

    Tek değişkenli zaman serileri için num_input_channels boyutu 1 olmalıdır. Çok değişkenli zaman serilerinde ise bu değer 1'den büyüktür.

  • target_values (torch.Tensor şeklinde (batch_size, target_len, num_input_channels) tahmin için, — (batch_size, num_targets) geri dönüşüm için veya (batch_size,) sınıflandırma için, isteğe bağlı): Model için etiket olarak hizmet veren zaman serisinin hedef değerleri. target_values Transformer'ın eğitim sırasında, verilen past_values. Değerlendirme görevi için bu GEREKLİ DEĞİLDİR.

    Bir tahmin görevi için şekil (batch_size, target_len, num_input_channels) olmalıdır. prediction_channel_indices parametresindeki indeksleri ayarlayarak yalnızca belirli kanalları tahmin etmek istesek bile, hedef veriyi tüm kanallarla birlikte iletin; çünkü hem tahmin hem de hedef için kanal filtreleme, kayıp hesabından önce manuel olarak uygulanacaktır.

    Bir sınıflandırma görevi için, şekli (batch_size,)'dir.

    Bir regresyon görevi için, şekli (batch_size, num_targets)'tir.

  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_loss (bool, isteğe bağlı) — forward çağrısında kaybın (loss) döndürülüp döndürülmeyeceğini belirtir.

Dönüş değeri

PatchTSMixerForRegressionOutput veya tuple(torch.Tensor)

PatchTSMixerForRegressionOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (PatchTSMixerConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

PatchTSMixerForRegression forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (*optional*, y sağlandığında döndürülür, torch.Tensor, şekli ()) — Toplam kayıp.
  • regression_outputs (torch.Tensor, şekli (batch_size, num_targets)) — Regresyon başından gelen tahmin çıktısı.
  • last_hidden_state (torch.Tensor, şekli (batch_size, num_input_channels, num_patches, d_model)) — Head üzerinden geçirilmeden önceki backbone gömme değerleri.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı) — Modelin her katmanının çıktısındaki gizli durumlar ve isteğe bağlı başlangıç gömme çıktıları.
Update on GitHub