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

Model ini dipublikasikan di HF papers pada 2023-06-14 dan disumbangkan ke Hugging Face Transformers pada 2023-12-05.

PatchTSMixer

Ikhtisar

Model PatchTSMixer diusulkan dalam TSMixer: Lightweight MLP-Mixer Model for Multivariate Time Series Forecasting oleh Vijay Ekambaram, Arindam Jati, Nam Nguyen, Phanwadee Sinthong, dan Jayant Kalagnanam.

PatchTSMixer adalah pendekatan pemodelan deret waktu ringan yang didasarkan pada arsitektur MLP-Mixer. Dalam implementasi HuggingFace ini, kami menyediakan kemampuan PatchTSMixer untuk memfasilitasi pencampuran ringan di antara patch, saluran, dan fitur tersembunyi secara mudah, guna pemodelan deret waktu multivariat yang efektif. Model ini juga mendukung berbagai mekanisme perhatian, mulai dari perhatian bergerbang sederhana hingga blok self-attention yang lebih kompleks, yang dapat disesuaikan sesuai kebutuhan. Model dapat dilatih terlebih dahulu (pretrained) dan kemudian digunakan untuk berbagai tugas turunan (downstream) seperti peramalan, klasifikasi, dan regresi.

Abstrak dari makalah tersebut adalah sebagai berikut:

TSMixer adalah arsitektur neural ringan yang sepenuhnya terdiri dari modul multi-layer perceptron (MLP) yang dirancang untuk peramalan multivariat dan pembelajaran representasi pada deret waktu yang di-patch. Model kami terinspirasi dari keberhasilan model MLP-Mixer dalam computer vision. Kami mendemonstrasikan tantangan yang terlibat dalam mengadaptasi Vision MLP-Mixer untuk deret waktu dan memperkenalkan komponen yang telah divalidasi secara empiris untuk meningkatkan akurasi. Ini mencakup paradigma desain baru berupa pemasangan kepala rekonsiliasi online pada backbone MLP-Mixer, untuk secara eksplisit memodelkan properti deret waktu seperti hierarki dan korelasi antar kanal. Kami juga mengusulkan pendekatan pemodelan kanal Hybrid untuk secara efektif menangani interaksi kanal yang berisik dan generalisasi di berbagai dataset, sebuah tantangan umum dalam metode pencampuran kanal berbasis patch yang ada. Selain itu, mekanisme gated attention sederhana diperkenalkan pada backbone untuk memprioritaskan fitur-fitur penting. Dengan mengintegrasikan komponen ringan ini, kami secara signifikan meningkatkan kemampuan pembelajaran struktur MLP sederhana, melampaui model Transformer yang kompleks dengan penggunaan komputasi yang minimal. Selain itu, desain modular TSMixer memungkinkan kompatibilitas dengan metode pembelajaran supervised dan self-supervised berbasis masked, menjadikannya blok bangunan yang menjanjikan untuk Foundation Models deret waktu. TSMixer melampaui model MLP dan Transformer state-of-the-art dalam peramalan dengan selisih yang cukup besar, yaitu 8-60%. TSMixer juga melampaui benchmark kuat terbaru dari model Patch-Transformer (dengan 1-2%) dengan pengurangan memori dan waktu eksekusi yang signifikan (2-3X).

Model ini disumbangkan oleh ajati, vijaye12, gsinthong, namctin, wmgifford, kashif.

Contoh penggunaan

Snippet kode di bawah ini menunjukkan cara menginisialisasi model PatchTSMixer secara acak. Model ini kompatibel dengan Trainer API.


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)

Tips penggunaan

Model ini juga dapat digunakan untuk klasifikasi deret waktu dan regresi deret waktu. Lihat kelas PatchTSMixerForTimeSeriesClassification dan PatchTSMixerForRegression yang masing-masing.

Sumber daya

  • Sebuah artikel blog yang menjelaskan PatchTSMixer secara mendalam dapat ditemukan di sini. Blog tersebut juga dapat dibuka di Google Colab.

PatchTSMixerConfig

kelas 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' )

Parameter

  • context_length (int, opsional, default 32) — Panjang konteks/riwayat untuk urutan input.
  • patch_length (int, opsional, defaultnya 8) — Panjang patch untuk urutan input.
  • num_input_channels (int, opsional, defaultnya 1) — Jumlah saluran input.
  • patch_stride (int, opsional, default 8) — Menentukan tumpang tindih antara dua patch yang berurutan. Atur nilainya ke patch_length (atau lebih besar) jika kita ingin patch yang tidak tumpang tindih.
  • num_parallel_samples (int, opsional, default 100) — Jumlah sampel yang akan dihasilkan secara paralel untuk perkiraan probabilistik.
  • d_model (int, opsional, default 8) — Ukuran lapisan encoder dan lapisan pooler.
  • expansion_factor (int, opsional, defaultnya 2) — Faktor ekspansi yang digunakan di dalam MLP. Rentang yang direkomendasikan adalah 2-5. Nilai yang lebih besar menunjukkan model yang lebih kompleks.
  • num_layers (int, opsional, default 3) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • dropout (Union[float, int], opsional, default 0.2) — Rasio untuk semua lapisan dropout.
  • mode (str, opsional, default "common_channel") — Mode Mixer. Menentukan cara memproses channel. Nilai yang diizinkan: “common_channel”, “mix_channel”. Dalam mode “common_channel”, kami mengikuti pemodelan Channel-independent tanpa pencampuran channel eksplisit. Pencampuran channel terjadi secara implisit melalui bobot yang dibagikan antar channel. (pendekatan pertama yang disarankan) Dalam mode “mix_channel”, kami mengikuti pencampuran channel eksplisit di samping patch dan feature mixer. (pendekatan yang disarankan ketika korelasi channel sangat penting untuk dimodelkan)
  • gated_attn (bool, opsional, default True) — Aktifkan Gated Attention.
  • norm_mlp (str, opsional, default "LayerNorm") — Lapisan normalisasi (BatchNorm atau LayerNorm).
  • self_attn (bool, opsional, default False) — Aktifkan Tiny self attention di antara patch. Fitur ini dapat diaktifkan ketika output dari Vanilla PatchTSMixer dengan gated attention tidak memuaskan. Mengaktifkan ini menghasilkan perhatian pairwise eksplisit dan pemodelan di antara patch.
  • self_attn_heads (int, opsional, default 1) — Jumlah kepala self-attention. Hanya berfungsi ketika self_attn diatur ke True.
  • use_positional_encoding (bool, opsional, defaultnya False) — Aktifkan penggunaan positional embedding untuk lapisan self-attention kecil. Hanya berfungsi ketika self_attn diatur ke True.
  • positional_encoding_type (str, opsional, defaultnya "sincos") — Enkoding posisi. Opsi "random" dan "sincos" didukung. Berfungsi hanya ketika use_positional_encoding diatur ke True
  • scaling (string atau bool, opsional, defaultnya "std") — Apakah akan menskalakan target input melalui scaler “mean”, scaler “std”, atau tanpa scaler jika None. Jika True, scaler diatur ke “mean”.
  • loss (string, opsional, default "mse") — Fungsi loss untuk model yang sesuai dengan head distribution_output. Untuk distribusi parametrik, ini adalah negative log likelihood (“nll”), dan untuk estimasi titik, ini adalah mean squared error “mse”.
  • init_std (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • norm_eps (float, opsional, default 1e-05) — Nilai yang ditambahkan ke penyebut untuk stabilitas numerik normalisasi.
  • mask_type (str, opsional, default "random") — Jenis masking yang digunakan untuk mode Masked Pretraining. Nilai yang diizinkan adalah “random”, “forecast”. Pada masking Random, titik-titik dimasking secara acak. Pada masking Forecast, titik-titik dimasking ke arah akhir.
  • random_mask_ratio (float, opsional, default 0.5) — Rasio masking yang digunakan ketika mask_type adalah random. Nilai yang lebih tinggi menunjukkan lebih banyak masking.
  • num_forecast_mask_patches (int atau list, opsional, default [2]) — Jumlah patch yang akan di-mask di akhir setiap sampel batch. Jika berupa bilangan bulat, semua sampel dalam batch akan memiliki jumlah patch yang di-mask sama. Jika berupa list, sampel dalam batch akan di-mask secara acak sesuai angka yang didefinisikan dalam list. Argumen ini hanya digunakan untuk pretraining forecast.
  • mask_value (float, opsional, default 0.0) — Nilai mask yang akan digunakan.
  • masked_loss (bool, opsional, default True) — Apakah menghitung loss pra-pelatihan hanya pada bagian yang dimasker, atau pada seluruh output.
  • channel_consistent_masking (bool, opsional, default True) — Jika true, masking akan sama di semua channel dari sebuah timeseries. Sebaliknya, posisi masking akan bervariasi antar channel.
  • unmasked_channel_indices (list, opsional) — Channel yang tidak di-mask selama pretraining.
  • head_dropout (float, opsional, default 0.2) — Probabilitas dropout untuk head PatchTSMixer.
  • distribution_output (string, opsional, default "student_t") — Head emisi distribusi untuk model ketika loss adalah “nll”. Bisa berupa “student_t”, “normal” atau “negative_binomial”.
  • prediction_length (int, opsional, default 16) — Jumlah langkah waktu untuk diprediksi dalam tugas peramalan. Juga dikenal sebagai Horizon Peramalan.
  • prediction_channel_indices (list, opsional) — Daftar indeks channel untuk diprediksi. Jika None, semua channel akan diprediksi. Data target diharapkan memiliki semua channel dan kami secara eksplisit memfilter channel pada prediksi dan target sebelum perhitungan loss.
  • num_targets (int, opsional, defaultnya 3) — Jumlah target (dimensi variabel yang diregresi) untuk tugas regresi.
  • output_range (list, opsional) — Rentang output untuk membatasi tugas regresi. Defaultnya None.
  • head_aggregation (str, opsional, defaultnya "max_pool") — Mode agregasi yang diaktifkan untuk tugas klasifikasi atau regresi. Nilai yang diizinkan adalah None, “use_last”, “max_pool”, “avg_pool”.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari PatchTSMixerModel. Kelas ini digunakan untuk membuat model Patchtsmixer berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari ibm/patchtsmixer-etth1-pretrain

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> 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

kelas transformers.PatchTSMixerModel

< >

( config: PatchTSMixerConfigmask_input: bool = False )

Parameter

  • config (PatchTSMixerConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
  • mask_input (bool, opsional, default False) — Apakah akan memasker input menggunakan modul PatchTSMixerMasking.

Model PatchTSMixer untuk peramalan deret waktu.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

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

Parameter

  • past_values (torch.Tensor dengan bentuk (batch_size, seq_length, num_input_channels)) — Nilai konteks dari deret waktu. Untuk tugas pra-pelatihan, ini menunjukkan deret waktu input untuk memprediksi bagian yang dimasker. Untuk tugas peramalan, ini menunjukkan nilai deret waktu historis/masa lalu. Demikian pula, untuk tugas klasifikasi atau regresi, ini menunjukkan nilai konteks yang sesuai dari deret waktu.

    Untuk deret waktu univariat, dimensi num_input_channels harus 1. Untuk deret waktu multivariat, nilainya lebih dari 1.

  • observed_mask (torch.Tensor dengan bentuk (batch_size, sequence_length, num_input_channels), opsional) — Mask boolean untuk menunjukkan nilai past_values mana yang teramati dan mana yang hilang. Nilai mask dipilih dari [0, 1]:
    • 1 untuk nilai yang diamati,
    • 0 untuk nilai yang hilang (yaitu NaN yang diganti dengan nol).
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.

Mengembalikan

PatchTSMixerModelOutput atau tuple(torch.Tensor)

PatchTSMixerModelOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PatchTSMixerConfig) dan input.

Metode forward dari PatchTSMixerModel menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, num_channels, num_patches, d_model)) — Hidden-state pada output dari lapisan terakhir model.
  • hidden_states (tuple(torch.Tensor), opsional) — Hidden-states model pada output setiap layer.
  • patch_input (torch.Tensor dengan bentuk (batch_size, num_channels, num_patches, patch_length)) — Data input yang telah dipecah menjadi patch untuk model.
  • mask (torch.Tensor dengan bentuk (batch_size, num_channels, num_patches), opsional) — Tensor Bool yang menunjukkan True pada patch yang dimasker dan False selain itu.
  • loc (torch.Tensor dengan bentuk (batch_size, 1, num_channels), opsional) — Memberikan rata-rata jendela konteks per kanal. Digunakan untuk revin denorm di luar model, jika revin diaktifkan.
  • scale (torch.Tensor dengan bentuk (batch_size, 1, num_channels), opsional) — Memberikan standar deviasi dari jendela konteks per kanal. Digunakan untuk revin denorm di luar model, jika revin diaktifkan.

PatchTSMixerForPrediction

kelas transformers.PatchTSMixerForPrediction

< >

( config: PatchTSMixerConfig )

Parameter

  • config (PatchTSMixerConfig) — Konfigurasi.

PatchTSMixer untuk aplikasi peramalan.

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)

Parameter

  • past_values (torch.Tensor dengan bentuk (batch_size, seq_length, num_input_channels)) — Nilai konteks dari deret waktu. Untuk tugas pra-pelatihan, ini menunjukkan deret waktu input untuk memprediksi bagian yang dimasker. Untuk tugas peramalan, ini menunjukkan nilai deret waktu historis/masa lalu. Demikian pula, untuk tugas klasifikasi atau regresi, ini menunjukkan nilai konteks yang sesuai dari deret waktu.

    Untuk deret waktu univariat, dimensi num_input_channels harus 1. Untuk deret waktu multivariat, nilainya lebih dari 1.

  • observed_mask (torch.Tensor dengan bentuk (batch_size, sequence_length, num_input_channels), opsional) — Mask boolean untuk menunjukkan nilai past_values mana yang teramati dan mana yang hilang. Nilai mask dipilih dari [0, 1]:
    • 1 untuk nilai yang diamati,
    • 0 untuk nilai yang hilang (yaitu NaN yang diganti dengan nol).
  • 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.

    Untuk tugas peramalan, bentuknya adalah (batch_size, target_len, num_input_channels). Bahkan jika kita ingin meramalkan hanya saluran tertentu dengan mengatur indeks pada parameter prediction_channel_indices, tetap lewati data target dengan semua saluran, karena penyaringan saluran untuk prediksi dan target akan diterapkan secara manual sebelum komputasi loss.

  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_loss (bool, opsional) — Apakah akan mengembalikan loss dalam panggilan forward.

Mengembalikan

PatchTSMixerForPredictionOutput atau tuple(torch.Tensor)

PatchTSMixerForPredictionOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PatchTSMixerConfig) dan input.

Metode forward dari PatchTSMixerForPrediction menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (*optional*, returned when y is provided, torch.Tensor of shape ()) — Total loss.
  • prediction_outputs (torch.Tensor dengan bentuk (batch_size, prediction_length, num_input_channels)) — Output prediksi dari kepala ramalan (forecast head).
  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, num_input_channels, num_patches, d_model)) — Embedding backbone sebelum melewati head.
  • hidden_states (tuple(torch.Tensor), opsional) — Hidden-states dari model pada output setiap layer ditambah output embedding awal yang opsional.
  • loc (torch.Tensor, opsional dengan bentuk (batch_size, 1, num_input_channels)) — Rata-rata input
  • scale (torch.Tensor, opsional dengan bentuk (batch_size, 1, num_input_channels)) — Deviasi standar input

PatchTSMixerForTimeSeriesClassification

kelas transformers.PatchTSMixerForTimeSeriesClassification

< >

( config: PatchTSMixerConfig )

Parameter

  • config (PatchTSMixerConfig) — Konfigurasi.

PatchTSMixer untuk aplikasi klasifikasi.

forward

< >

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

Parameter

  • past_values (torch.Tensor dengan bentuk (batch_size, seq_length, num_input_channels)) — Nilai konteks dari deret waktu. Untuk tugas pra-pelatihan, ini menunjukkan deret waktu input untuk memprediksi bagian yang dimasker. Untuk tugas peramalan, ini menunjukkan nilai deret waktu historis/masa lalu. Demikian pula, untuk tugas klasifikasi atau regresi, ini menunjukkan nilai konteks yang sesuai dari deret waktu.

    Untuk deret waktu univariat, dimensi num_input_channels harus 1. Untuk deret waktu multivariat, nilainya lebih dari 1.

  • target_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 target_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.

    Untuk tugas peramalan, bentuknya adalah (batch_size, target_len, num_input_channels). Bahkan jika kita ingin meramalkan hanya saluran tertentu dengan mengatur indeks pada parameter prediction_channel_indices, tetap lewati data target dengan semua saluran, karena penyaringan saluran untuk prediksi dan target akan diterapkan secara manual sebelum komputasi loss.

    Untuk tugas klasifikasi, bentuknya adalah (batch_size,).

    Untuk tugas regresi, bentuknya adalah (batch_size, num_targets).

  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_loss (bool, opsional) — Apakah akan mengembalikan loss dalam panggilan forward.

Mengembalikan

PatchTSMixerForTimeSeriesClassificationOutput atau tuple(torch.Tensor)

PatchTSMixerForTimeSeriesClassificationOutput atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PatchTSMixerConfig) dan input.

Metode forward dari PatchTSMixerForTimeSeriesClassification menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (*optional*, dikembalikan saat y disediakan, torch.Tensor dengan bentuk ()) — Total loss.
  • prediction_outputs (torch.Tensor dengan bentuk (batch_size, num_labels)) — Output prediksi dari kepala klasifikasi.
  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, num_input_channels, num_patches, d_model)) — Embedding backbone sebelum melewati head.
  • hidden_states (tuple(torch.Tensor), opsional) — Hidden-states dari model pada output setiap layer ditambah output embedding awal yang opsional.

PatchTSMixerForPretraining

kelas transformers.PatchTSMixerForPretraining

< >

( config: PatchTSMixerConfig )

Parameter

  • config (PatchTSMixerConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

PatchTSMixer untuk pra-pelatihan masker.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

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

Parameter

  • past_values (torch.Tensor dengan bentuk (batch_size, seq_length, num_input_channels)) — Nilai konteks dari deret waktu. Untuk tugas pra-pelatihan, ini menunjukkan deret waktu input untuk memprediksi bagian yang dimasker. Untuk tugas peramalan, ini menunjukkan nilai deret waktu historis/masa lalu. Demikian pula, untuk tugas klasifikasi atau regresi, ini menunjukkan nilai konteks yang sesuai dari deret waktu.

    Untuk deret waktu univariat, dimensi num_input_channels harus 1. Untuk deret waktu multivariat, nilainya lebih dari 1.

  • observed_mask (torch.Tensor dengan bentuk (batch_size, sequence_length, num_input_channels), opsional) — Mask boolean untuk menunjukkan nilai past_values mana yang teramati dan mana yang hilang. Nilai mask dipilih dari [0, 1]:
    • 1 untuk nilai yang diamati,
    • 0 untuk nilai yang hilang (yaitu NaN yang diganti dengan nol).
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_loss (bool, opsional) — Apakah akan mengembalikan loss dalam panggilan forward.

Mengembalikan

PatchTSMixerForPreTrainingOutput atau tuple(torch.Tensor)

PatchTSMixerForPreTrainingOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PatchTSMixerConfig) dan input.

Metode forward dari PatchTSMixerForPretraining menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (*optional*, returned when y is provided, torch.Tensor of shape ()) — Total loss
  • prediction_outputs (torch.Tensor dengan bentuk (batch_size, num_input_channels, num_patches, patch_length)) — Output prediksi dari pretrain head.
  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, num_input_channels, num_patches, d_model)) — Embedding backbone sebelum melewati head.
  • hidden_states (tuple(torch.Tensor), opsional) — Hidden-states model pada output setiap layer.

PatchTSMixerForRegression

kelas transformers.PatchTSMixerForRegression

< >

( config: PatchTSMixerConfig )

Parameter

  • config (PatchTSMixerConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

PatchTSMixer untuk aplikasi regresi.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

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

Parameter

  • past_values (torch.Tensor dengan bentuk (batch_size, seq_length, num_input_channels)) — Nilai konteks dari deret waktu. Untuk tugas pra-pelatihan, ini menunjukkan deret waktu input untuk memprediksi bagian yang dimasker. Untuk tugas peramalan, ini menunjukkan nilai deret waktu historis/masa lalu. Demikian pula, untuk tugas klasifikasi atau regresi, ini menunjukkan nilai konteks yang sesuai dari deret waktu.

    Untuk deret waktu univariat, dimensi num_input_channels harus 1. Untuk deret waktu multivariat, nilainya lebih dari 1.

  • target_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 target_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.

    Untuk tugas peramalan, bentuknya adalah (batch_size, target_len, num_input_channels). Bahkan jika kita ingin meramalkan hanya saluran tertentu dengan mengatur indeks pada parameter prediction_channel_indices, tetap lewati data target dengan semua saluran, karena penyaringan saluran untuk prediksi dan target akan diterapkan secara manual sebelum komputasi loss.

    Untuk tugas klasifikasi, bentuknya adalah (batch_size,).

    Untuk tugas regresi, bentuknya adalah (batch_size, num_targets).

  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_loss (bool, opsional) — Apakah akan mengembalikan loss dalam panggilan forward.

Mengembalikan

PatchTSMixerForRegressionOutput atau tuple(torch.Tensor)

PatchTSMixerForRegressionOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (PatchTSMixerConfig) dan input.

Metode forward dari PatchTSMixerForRegression menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (*optional*, returned when y is provided, torch.Tensor of shape ()) — Total loss.
  • regression_outputs (torch.Tensor dengan bentuk (batch_size, num_targets)) — Output prediksi dari kepala regresi.
  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, num_input_channels, num_patches, d_model)) — Embedding backbone sebelum melewati head.
  • hidden_states (tuple(torch.Tensor), opsional) — Hidden-states dari model pada output setiap layer ditambah output embedding awal yang opsional.
Update on GitHub