Transformers documentation
PatchTSMixer
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
< source >( 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ılan1) — 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ılan8) — 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ılan3) — Transformer çözücüdeki gizli katman sayısı. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.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ılanTrue) — 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ılanFalse) — 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ızcaself_attnTrueolarak ayarlandığında çalışır. - use_positional_encoding (
bool, isteğe bağlı, varsayılanFalse) — Küçük öz-dikkat katmanları için konumsal gömme kullanımını etkinleştirir. Yalnızcaself_attnTrueolarak ayarlandığında çalışır. - positional_encoding_type (
str, isteğe bağlı, varsayılan"sincos") — Konumsal kodlamalar."random"ve"sincos"seçenekleri desteklenir. Yalnızcause_positional_encodingTrueolarak ayarlandığında çalışır. - scaling (
stringveyabool, opsiyonel, varsayılan"std") — Girdi hedeflerinin “mean” ölçekleyici, “std” ölçekleyici veyaNoneise ölçekleyici olmadan ölçeklendirilip ölçeklendirilmeyeceğini belirtir.Trueise ölçekleyici “mean” olarak ayarlanır. - loss (
string, isteğe bağlı, varsayılan"mse") —distribution_outputbaş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ılan0.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_typerandomolduğunda kullanılacak maskeleme oranı. Daha yüksek değer, daha fazla maskeleme anlamına gelir. - num_forecast_mask_patches (
intveyalist, 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ılan0.0) — Kullanılacak maske değeri. - masked_loss (
bool, isteğe bağlı, varsayılanTrue) — Ö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ılanTrue) — 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) —PatchTSMixerbaş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ğerlerNone, “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.configPatchTSMixerModel
sınıf transformers.PatchTSMixerModel
< source >( 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ılanFalse) — GirdininPatchTSMixerMaskingmodü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
< source >( 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_channelsboyutu 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ı) — Hangipast_valuesdeğ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ındakihidden_statesbö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
< source >( config: PatchTSMixerConfig )
Tahmin uygulamaları için PatchTSMixer.
forward
< source >( 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_channelsboyutu 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ı) — Hangipast_valuesdeğ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.Tensorof 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. Thefuture_valuesis what the Transformer needs during training to learn to output, given thepast_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_indicesparametresindeki 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ındakihidden_statesbö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*,ysağ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
< source >( config: PatchTSMixerConfig )
Sınıflandırma uygulaması için PatchTSMixer.
forward
< source >( 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_channelsboyutu 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_valuesTransformer'ın eğitim sırasında öğrenmesi gereken çıktıdır, verilenpast_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_indicesparametresindeki 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ındakihidden_statesbö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*,ysağ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
< source >( 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
< source >( 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_channelsboyutu 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ı) — Hangipast_valuesdeğ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ındakihidden_statesbö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*,ysağ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
< source >( 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
< source >( 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_channelsboyutu 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_valuesTransformer'ın eğitim sırasında, verilenpast_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_indicesparametresindeki 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ındakihidden_statesbö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*,ysağ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ı.