From a063925135be11a1d884ce1238ccff31ee8af90b Mon Sep 17 00:00:00 2001 From: HowToSD Date: Tue, 1 Apr 2025 01:36:11 -0700 Subject: [PATCH] Added experimental LoRA training for LLM text classification. --- __init__.py | 3 + .../images/lora_distilbert_classification.png | Bin 0 -> 185324 bytes docs/reference/node_reference.md | 1 + ...e_tune_classification_transformer_model.md | 1 - .../ptn_hf_lora_classification_model.md | 34 ++++ .../lora_distilbert_classification.json | 1 + .../ptn_hf_lora_classification_model.py | 89 +++++++++ .../ptn_hf_lora_classification_model_def.py | 175 ++++++++++++++++++ pyproject.toml | 2 +- requirements.txt | 2 + ...n_hf_lora_classification_model_def_test.py | 52 ++++++ .../ptn_hf_lora_classification_model_test.py | 77 ++++++++ 12 files changed, 435 insertions(+), 2 deletions(-) create mode 100644 docs/images/lora_distilbert_classification.png create mode 100644 docs/reference/ptn_hf_lora_classification_model.md create mode 100644 examples/workflows/lora_distilbert_classification.json create mode 100644 modules/pytorch_wrapper/ptn_hf_lora_classification_model.py create mode 100644 modules/pytorch_wrapper/ptn_hf_lora_classification_model_def.py create mode 100644 tests/pytorch_wrapper/ptn_hf_lora_classification_model_def_test.py create mode 100644 tests/pytorch_wrapper/ptn_hf_lora_classification_model_test.py diff --git a/__init__.py b/__init__.py index 0659283..717a5fc 100644 --- a/__init__.py +++ b/__init__.py @@ -166,6 +166,7 @@ from .modules.pytorch_wrapper.ptn_embedding_transformer_linear import PtnEmbeddi from .modules.pytorch_wrapper.ptn_gru import PtnGRU from .modules.pytorch_wrapper.ptn_gru_linear import PtnGRULinear from .modules.pytorch_wrapper.ptn_hf_fine_tuned_classification_model import PtnHfFineTunedClassificationModel +from .modules.pytorch_wrapper.ptn_hf_lora_classification_model import PtnHfLoraClassificationModel from .modules.pytorch_wrapper.ptn_huber_loss import PtnHuberLoss from .modules.pytorch_wrapper.ptn_instance_norm2d import PtnInstanceNorm2d from .modules.pytorch_wrapper.ptn_kl_div_loss import PtnKLDivLoss @@ -378,6 +379,7 @@ NODE_CLASS_MAPPINGS: Dict[str, Type[T]] = { "PtnGRU": PtnGRU, "PtnGRULinear": PtnGRULinear, "PtnHfFineTunedClassificationModel": PtnHfFineTunedClassificationModel, + "PtnHfLoraClassificationModel": PtnHfLoraClassificationModel, "PtnHuberLoss": PtnHuberLoss, "PtnInstanceNorm2d": PtnInstanceNorm2d, "PtnKLDivLoss": PtnKLDivLoss, @@ -590,6 +592,7 @@ NODE_DISPLAY_NAME_MAPPINGS: Dict[str, str] = { "PtnGRU": "Ptn GRU", "PtnGRULinear": "Ptn GRU Linear", "PtnHfFineTunedClassificationModel": "Ptn Hf Fine Tuned Classification Model", + "PtnHfLoraClassificationModel": "Ptn Hf Lora Classification Model", "PtnHuberLoss": "Ptn Huber Loss", "PtnInstanceNorm2d": "Ptn Instance Norm 2d", "PtnKLDivLoss": "Ptn KL Div Loss", diff --git a/docs/images/lora_distilbert_classification.png b/docs/images/lora_distilbert_classification.png new file mode 100644 index 0000000000000000000000000000000000000000..ddef5750db511d26595725e9037e4c84d3847ae6 GIT binary patch literal 185324 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 z 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 +Category: PyTorch wrapper - Model + +ComfyUI Pt Wrapper Node Reference. © 2025 Hide Inada (HowToSD.com). All rights reserved. diff --git a/examples/workflows/lora_distilbert_classification.json b/examples/workflows/lora_distilbert_classification.json new file mode 100644 index 0000000..b567fb7 --- /dev/null +++ b/examples/workflows/lora_distilbert_classification.json @@ -0,0 +1 @@ +{"last_node_id":36,"last_link_id":52,"nodes":[{"id":19,"type":"PandasShowText","pos":[3504.62841796875,1897.03662109375],"size":[302.7994079589844,112],"flags":{},"order":13,"mode":0,"inputs":[{"name":"text","type":"STRING","widget":{"name":"text"},"link":20}],"outputs":[{"name":"STRING","localized_name":"STRING","type":"STRING","shape":6,"links":null}],"properties":{"Node name for S&R":"PandasShowText"},"widgets_values":["","/container/transfer/models/distilbert_classification.pt"]},{"id":16,"type":"PtnBCEWithLogitsLoss","pos":[2668.492919921875,1800.2408447265625],"size":[315,58],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"PTLOSS","localized_name":"PTLOSS","type":"PTLOSS","links":[36],"slot_index":0}],"properties":{"Node name for S&R":"PtnBCEWithLogitsLoss"},"widgets_values":["mean"]},{"id":7,"type":"PtDataLoader","pos":[2293.7060546875,1735.56494140625],"size":[271.68658447265625,173.3039093017578],"flags":{},"order":9,"mode":0,"inputs":[{"name":"dataset","localized_name":"dataset","type":"PTVDATASET","link":24}],"outputs":[{"name":"PTDATALOADER","localized_name":"PTDATALOADER","type":"PTDATALOADER","links":[34],"slot_index":0}],"properties":{"Node name for S&R":"PtDataLoader"},"widgets_values":[32,true,"{\"num_workers\":1}"]},{"id":12,"type":"PtDataLoader","pos":[2290.658447265625,2016.2130126953125],"size":[271.68658447265625,173.3039093017578],"flags":{},"order":10,"mode":0,"inputs":[{"name":"dataset","localized_name":"dataset","type":"PTVDATASET","link":25}],"outputs":[{"name":"PTDATALOADER","localized_name":"PTDATALOADER","type":"PTDATALOADER","links":[35],"slot_index":0}],"properties":{"Node name for S&R":"PtDataLoader"},"widgets_values":[32,false,"{\"num_workers\":1}"]},{"id":21,"type":"PtvHfDatasetWithTokenEncode","pos":[1907.6329345703125,1746.281982421875],"size":[271.5191650390625,178],"flags":{},"order":6,"mode":0,"inputs":[{"name":"encode","localized_name":"encode","type":"PTCALLABLE","link":45}],"outputs":[{"name":"PTVDATASET","localized_name":"PTVDATASET","type":"PTVDATASET","links":[24],"slot_index":0}],"properties":{"Node name for S&R":"PtvHfDatasetWithTokenEncode"},"widgets_values":["imdb","train","text","label",true,true]},{"id":30,"type":"HfTokenizerEncode","pos":[1482.29150390625,1882.735595703125],"size":[315,154],"flags":{},"order":4,"mode":0,"inputs":[{"name":"model_name","type":"STRING","widget":{"name":"model_name"},"link":44}],"outputs":[{"name":"PTCALLABLE","localized_name":"PTCALLABLE","type":"PTCALLABLE","links":[45,46],"slot_index":0}],"properties":{"Node name for S&R":"HfTokenizerEncode"},"widgets_values":["",true,"max_length",true,0]},{"id":24,"type":"PtvHfDatasetWithTokenEncode","pos":[1911.3275146484375,2022.5567626953125],"size":[271.5191650390625,178],"flags":{},"order":7,"mode":0,"inputs":[{"name":"encode","localized_name":"encode","type":"PTCALLABLE","link":46}],"outputs":[{"name":"PTVDATASET","localized_name":"PTVDATASET","type":"PTVDATASET","links":[25],"slot_index":0}],"properties":{"Node name for S&R":"PtvHfDatasetWithTokenEncode"},"widgets_values":["imdb","test","text","label",true,true]},{"id":17,"type":"PtSaveModel","pos":[3495.453125,1735.56494140625],"size":[318.3275146484375,91.27499389648438],"flags":{},"order":12,"mode":0,"inputs":[{"name":"model","localized_name":"model","type":"PTMODEL","link":38}],"outputs":[{"name":"model full path","localized_name":"model full path","type":"STRING","links":[20],"slot_index":0}],"properties":{"Node name for S&R":"PtSaveModel"},"widgets_values":["/container/transfer/models/distilbert_classification.pt"]},{"id":34,"type":"MarkdownNote","pos":[1492.9459228515625,2107.386474609375],"size":[286.51580810546875,101.67364501953125],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["Set max_length to 0 to use model's max_length."],"color":"#432","bgcolor":"#653"},{"id":35,"type":"MarkdownNote","pos":[1910.301025390625,2253.2001953125],"size":[273.0867614746094,101.08975982666016],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"properties":{},"widgets_values":["Set encode_return_dict to True for Hugging Face's models."],"color":"#432","bgcolor":"#653"},{"id":31,"type":"CDAStringCreate","pos":[1494.0750732421875,1681.3331298828125],"size":[315,58],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[{"name":"STRING","localized_name":"STRING","type":"STRING","links":[44,50],"slot_index":0}],"properties":{"Node name for S&R":"CDAStringCreate"},"widgets_values":["distilbert-base-uncased"]},{"id":36,"type":"PtnHfLoraClassificationModel","pos":[2100.126708984375,1327.42138671875],"size":[284.3571472167969,186.8283233642578],"flags":{},"order":5,"mode":0,"inputs":[{"name":"model_name","type":"STRING","widget":{"name":"model_name"},"link":50}],"outputs":[{"name":"PTMODEL","localized_name":"PTMODEL","type":"PTMODEL","links":[51,52],"slot_index":0}],"properties":{"Node name for S&R":"PtnHfLoraClassificationModel"},"widgets_values":["",true,0,64,128,0.1]},{"id":29,"type":"PtoAdamW","pos":[2673.749267578125,1107.9647216796875],"size":[285.66900634765625,158.52035522460938],"flags":{},"order":8,"mode":0,"inputs":[{"name":"model","localized_name":"model","type":"PTMODEL","link":51}],"outputs":[{"name":"PTOPTIMIZER","localized_name":"PTOPTIMIZER","type":"PTOPTIMIZER","links":[42],"slot_index":0}],"properties":{"Node name for S&R":"PtoAdamW"},"widgets_values":[0.0003000000000000002,0.9,0.999,0.01,false]},{"id":27,"type":"PtTrainClassificationTransformerModel","pos":[3090.223876953125,1736.2188720703125],"size":[344.3999938964844,292.4398193359375],"flags":{},"order":11,"mode":0,"inputs":[{"name":"model","localized_name":"model","type":"PTMODEL","link":52},{"name":"train_loader","localized_name":"train_loader","type":"PTDATALOADER","link":34},{"name":"optimizer","localized_name":"optimizer","type":"PTOPTIMIZER","link":42},{"name":"loss_function","localized_name":"loss_function","type":"PTLOSS","link":36},{"name":"scheduler","localized_name":"scheduler","type":"PTLRSCHEDULER","shape":7,"link":null},{"name":"val_loader","localized_name":"val_loader","type":"PTDATALOADER","shape":7,"link":35}],"outputs":[{"name":"Model","localized_name":"Model","type":"PTMODEL","links":[38],"slot_index":0},{"name":"train loss","localized_name":"train loss","type":"TENSOR","links":null},{"name":"val loss","localized_name":"val loss","type":"TENSOR","links":null}],"properties":{"Node name for S&R":"PtTrainClassificationTransformerModel"},"widgets_values":[20,true,false,4,false,true]}],"links":[[20,17,0,19,0,"STRING"],[24,21,0,7,0,"PTVDATASET"],[25,24,0,12,0,"PTVDATASET"],[34,7,0,27,1,"PTDATALOADER"],[35,12,0,27,5,"PTDATALOADER"],[36,16,0,27,3,"PTLOSS"],[38,27,0,17,0,"PTMODEL"],[42,29,0,27,2,"PTOPTIMIZER"],[44,31,0,30,0,"STRING"],[45,30,0,21,0,"PTCALLABLE"],[46,30,0,24,0,"PTCALLABLE"],[50,31,0,36,0,"STRING"],[51,36,0,29,0,"PTMODEL"],[52,36,0,27,0,"PTMODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":1,"offset":[0,0]},"node_versions":{"data-analysis":"68dd090367adffa569c3b3993d56e422f4516d2d","pt-wrapper":"8f87db93c29f15369b8105d9c2e41649768aea05"},"ue_links":[]},"version":0.4} \ No newline at end of file diff --git a/modules/pytorch_wrapper/ptn_hf_lora_classification_model.py b/modules/pytorch_wrapper/ptn_hf_lora_classification_model.py new file mode 100644 index 0000000..6768e1f --- /dev/null +++ b/modules/pytorch_wrapper/ptn_hf_lora_classification_model.py @@ -0,0 +1,89 @@ +from typing import Any, Dict, Tuple +import torch +import torch.nn as nn + +from .ptn_hf_lora_classification_model_def import HfLoraClassificationModel + +class PtnHfLoraClassificationModel: + """ + A binary classification model containing a Hugging Face pretrained Transformer model. + + Args: + model_name (str): Name or path of the pretrained Hugging Face model. + use_mean_pooling (bool): If True, average token embeddings using the attention mask. + Otherwise, use pooler output (if available) or the CLS token. + dropout (float): Dropout rate applied before the final classification layer. + Set to 0.0 to disable dropout. Must be ≥ 0. + lora_r (int): LoRA rank parameter (dimension of the low-rank matrices). + lora_alpha (int): LoRA scaling factor. The adapted weight is added as: + (lora_alpha / lora_r) * (A @ B), where + A is a (m × r) matrix and B is a (r × n) matrix. + lora_dropout (float): Dropout applied to the input of the LoRA layers. + + category: PyTorch wrapper - Model + """ + + @classmethod + def INPUT_TYPES(cls) -> Dict[str, Any]: + """ + Defines the input types for the function. + + Returns: + Dict[str, Any]: A dictionary specifying required input types. + """ + return { + "required": { + "model_name": ("STRING", {"default": "", "multiline": False}), + "use_mean_pooling": ("BOOLEAN", {"default": True}), + "dropout": ("FLOAT", {"default": 0, "min": 0, "max": 1, "step": 0.001}), + "lora_r": ("INT", {"default": 8, "min": 1, "max": 1e6}), + "lora_alpha": ("INT", {"default": 16, "min": 1, "max": 1e6}), + "lora_dropout": ("FLOAT", {"default": 0.1, "min": 0, "max": 1, "step": 0.001}), + } + } + + RETURN_TYPES: Tuple[str] = ("PTMODEL",) + FUNCTION: str = "f" + CATEGORY: str = "Training" + + @classmethod + def IS_CHANGED(cls, **kw): + return float("NaN") + + def f(self, + model_name: str, + use_mean_pooling: bool, + dropout: float, + lora_r: int = 8, + lora_alpha: int = 16, + lora_dropout: float = 0.1 + ) -> Tuple[nn.Module]: + """ + Instantiates a binary classification model containing a Hugging Face pretrained Transformer model. + + Args: + model_name (str): Name or path of the pretrained Hugging Face model. + use_mean_pooling (bool): If True, average token embeddings using the attention mask. + Otherwise, use pooler output or CLS token embedding. + dropout (float): Dropout rate applied before the final linear layer. + Set to 0.0 to disable dropout. Must be ≥ 0. + lora_r (int): LoRA rank parameter (dimension of the low-rank matrices). + lora_alpha (int): LoRA scaling factor. The adapted weight is added as: + (lora_alpha / lora_r) * (A @ B), where + A is a (m × r) matrix and B is a (r × n) matrix. + lora_dropout (float): Dropout applied to the input of the LoRA layers. + + Returns: + Tuple[nn.Module]: A tuple containing the instantiated PyTorch model. + """ + with torch.inference_mode(False): + model = HfLoraClassificationModel( + model_name=model_name, + use_mean_pooling=use_mean_pooling, + dropout=dropout, + lora_r=lora_r, + lora_alpha=lora_alpha, + lora_dropout=lora_dropout + ) + + return (model,) diff --git a/modules/pytorch_wrapper/ptn_hf_lora_classification_model_def.py b/modules/pytorch_wrapper/ptn_hf_lora_classification_model_def.py new file mode 100644 index 0000000..4882cc1 --- /dev/null +++ b/modules/pytorch_wrapper/ptn_hf_lora_classification_model_def.py @@ -0,0 +1,175 @@ +from typing import List, Dict, Any, Tuple, Type +import torch +import torch.nn as nn +from transformers import AutoConfig, PreTrainedModel +from peft import get_peft_model, LoraConfig, TaskType +from peft.tuners.lora import Linear as LoRALinear + +class HfLoraClassificationModel(nn.Module): + """Generic transformer-based binary classification model with LoRA adaptation. + + This wrapper supports Hugging Face encoder models fine-tuned via LoRA. It supports + three pooling strategies for sequence classification: mean pooling, pooler output, + or CLS token embedding. Only LoRA-adapted attention layers and the classification + head are trainable; all base model parameters remain frozen. + + Args: + model_name (str): Name or path of the pretrained Hugging Face model. + use_mean_pooling (bool): If True, average token embeddings using the attention mask. + Otherwise, use pooler output (if available) or the CLS token. + dropout (float): Dropout rate applied before the final classification layer. + Set to 0.0 to disable dropout. Must be ≥ 0. + lora_r (int): LoRA rank parameter (dimension of the low-rank matrices). + lora_alpha (int): LoRA scaling factor. The adapted weight is added as: + (lora_alpha / lora_r) * (A @ B), where + A is a (m × r) matrix and B is a (r × n) matrix. + lora_dropout (float): Dropout applied to the input of the LoRA layers. + + pragma: skip_doc + """ + + MODEL_CLASS_PREFIXES: List[Tuple[str, str]] = [ + ("bert-base-uncased", "BertModel"), + ("roberta-base", "RobertaModel"), + ("distilbert-base-uncased", "DistilBertModel"), + ("albert-base-v2", "AlbertModel"), + ("google/electra-base-discriminator", "ElectraModel"), + ] + + + def __init__(self, + model_name: str, + use_mean_pooling: bool = False, + dropout: float = 0.1, + lora_r: int = 8, + lora_alpha: int = 16, + lora_dropout: float = 0.1): + super().__init__() + if dropout < 0.0: + raise ValueError(f"Dropout must be non-negative, got {dropout}") + + self.config = AutoConfig.from_pretrained(model_name) + model_class = self._resolve_model_class(model_name) + base_model = model_class.from_pretrained(model_name, config=self.config) + + # Apply LoRA + target_modules = [ + # BERT, RoBERTa, ALBERT, Electra + "query", "key", "value", "dense", + + # DistilBERT + "q_lin", "k_lin", "v_lin", "out_lin", + + # GPT-2 + "c_attn", "c_proj", + + # LLaMA, Ollama, Visual LLaMA + "q_proj", "k_proj", "v_proj", "o_proj", + + # CLIP (Text & Vision Transformers) + "attn.q_proj", "attn.k_proj", "attn.v_proj", "attn.out_proj", + "self_attn.q_proj", "self_attn.k_proj", "self_attn.v_proj", "self_attn.out_proj", + "proj", # common for CLIP-ViT, ViT heads + + # T5 + "q", "k", "v", "o", + "wi_0", "wi_1", "wo", + + # ViT (Hugging Face ViTModel, etc.) + "attention.query", "attention.key", "attention.value", "attention.output.dense", + "mlp.dense_in", "mlp.dense_out" + + # FFN modules + "ffn.lin1", "ffn.lin2", # DistilBERT + "intermediate.dense", "output.dense", # BERT, RoBERTa, Electra + "wi_0", "wi_1", "wo", # T5 + "mlp.dense_in", "mlp.dense_out", # ViT + "mlp.c_fc", "mlp.c_proj", # GPT-2 + "mlp.up_proj", "mlp.down_proj", "mlp.gate_proj" # LLaMA-family + ] + + peft_config = LoraConfig( + r=lora_r, + lora_alpha=lora_alpha, + # target_modules=target_modules, + target_modules="all-linear", # Inject to all linear layers + lora_dropout=lora_dropout, + bias="lora_only", # Makes the bias in base model layers trainable only if those layers have LoRA applied. + task_type=TaskType.FEATURE_EXTRACTION + ) + self.llm_model = get_peft_model(base_model, peft_config) + + self.lora_injected_layers = [] + for name, module in self.llm_model.named_modules(): + if isinstance(module, LoRALinear): + self.lora_injected_layers.append(name) + + if not self.lora_injected_layers: + raise ValueError("LoRA injected into zero modules — check target_modules.") + + # for name in self.lora_injected_layers: + # print(f"[LoRA] Injected into: {name}") + + self.hidden_size = self.config.hidden_size + self.use_mean_pooling = use_mean_pooling + self.linear = nn.Linear(self.hidden_size, 1) + + self.use_dropout = dropout > 0.0 + if self.use_dropout: + self.dropout = nn.Dropout(dropout) + + nn.init.xavier_uniform_(self.linear.weight) + if self.linear.bias is not None: + nn.init.zeros_(self.linear.bias) + + # Freeze base model weights except LoRA and linear + for param in self.llm_model.base_model.parameters(): + param.requires_grad = False + for param in self.llm_model.parameters(): + if param.requires_grad: # only LoRA params + param.requires_grad = True + for param in self.linear.parameters(): + param.requires_grad = True + + + def _resolve_model_class(self, model_name: str) -> Type[PreTrainedModel]: + for prefix, class_name in self.MODEL_CLASS_PREFIXES: + if model_name.startswith(prefix): + module = __import__("transformers", fromlist=[class_name]) + return getattr(module, class_name) + raise ValueError(f"Model '{model_name}' is not supported.") + + def forward(self, inputs:Tuple[torch.Tensor, torch.Tensor]) -> torch.Tensor: + """ + Runs a forward pass through the transformer model followed by optional dropout and a classification head. + + Args: + inputs (Tuple[torch.Tensor, torch.Tensor]): Tuple of below tensors: + input_ids (torch.Tensor): Token IDs of shape (batch_size, seq_len). + attention_mask (torch.Tensor): Attention mask of shape (batch_size, seq_len). + + Returns: + torch.Tensor: Raw classification logits of shape (batch_size, 1). + """ + input_ids, attention_mask = inputs + outputs = self.llm_model(input_ids=input_ids, attention_mask=attention_mask) + + if self.use_mean_pooling: + last_hidden = outputs.last_hidden_state + # Expand the mask across the hidden dimension + # e.g. if hidden size is 768, the (seq_len,) mask becomes (seq_len, 768) per sample. + input_mask_expanded = attention_mask.unsqueeze(-1).expand(last_hidden.size()) + sum_embeddings = torch.sum(last_hidden * input_mask_expanded, dim=1) + mask_adjusted_count = torch.clamp(input_mask_expanded.sum(1), min=1e-9) + x = sum_embeddings / mask_adjusted_count + elif hasattr(outputs, "pooler_output") and outputs.pooler_output is not None: + x = outputs.pooler_output + else: # Grab the first feature in the sequence + x = outputs.last_hidden_state[:, 0, :] + + assert x.dim() == 2 + + if self.use_dropout: + x = self.dropout(x) + x = self.linear(x) + return x diff --git a/pyproject.toml b/pyproject.toml index 323b0eb..0d90451 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "pt-wrapper" description = "PyTorch extension for ComfyUI featuring extensive PyTorch wrapper nodes for seamless tensor operations and PyTorch model training." -version = "3.5.1" +version = "3.6.0" license = {file = "LICENSE"} [project.urls] diff --git a/requirements.txt b/requirements.txt index a7203c7..382e1bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,5 @@ datasets>=3.4.1 transformers>=4.47.1 gensim==4.3.2 sentencepiece>=0.2.0 +peft>=0.15.1 +accelerate>=1.5.2 \ No newline at end of file diff --git a/tests/pytorch_wrapper/ptn_hf_lora_classification_model_def_test.py b/tests/pytorch_wrapper/ptn_hf_lora_classification_model_def_test.py new file mode 100644 index 0000000..721d3b9 --- /dev/null +++ b/tests/pytorch_wrapper/ptn_hf_lora_classification_model_def_test.py @@ -0,0 +1,52 @@ +import os +import sys +import unittest +import torch + +PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..")) +MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules") +sys.path.append(MODULE_ROOT) +from pytorch_wrapper.ptn_hf_lora_classification_model_def import HfLoraClassificationModel +from hugging_face_wrapper.hf_tokenizer_encode import HfTokenizerEncode + + +class TestHfLoraClassificationModel(unittest.TestCase): + def setUp(self): + """Setup shared test conditions.""" + self.text = [ + "I really liked the scenary.", + "I did not like the vision of the creator." + ] + self.model_names = [ + "distilbert-base-uncased", + "bert-base-uncased", + "roberta-base", + "albert-base-v2", + "google/electra-base-discriminator" + ] + + def test_all_models(self): + """Run output shape test across all supported models.""" + for model_name in self.model_names: + with self.subTest(model_name=model_name): + encode = HfTokenizerEncode().f( + model_name=model_name, + padding=True, + padding_method="max_length", + truncation=True, + max_length=0 # Use model's max length + )[0] + + model = HfLoraClassificationModel( + model_name, + use_mean_pooling=True, + dropout=0.1 + ) + + token_dict = encode(self.text) + out = model((token_dict["input_ids"], token_dict["attention_mask"])) + self.assertEqual(out.size(), torch.Size([2, 1])) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/pytorch_wrapper/ptn_hf_lora_classification_model_test.py b/tests/pytorch_wrapper/ptn_hf_lora_classification_model_test.py new file mode 100644 index 0000000..ca66fc1 --- /dev/null +++ b/tests/pytorch_wrapper/ptn_hf_lora_classification_model_test.py @@ -0,0 +1,77 @@ +import os +import sys +import unittest +import torch + +PROJECT_ROOT = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..")) +MODULE_ROOT = os.path.join(PROJECT_ROOT, "modules") +sys.path.append(MODULE_ROOT) +from pytorch_wrapper.ptn_hf_lora_classification_model import PtnHfLoraClassificationModel +from hugging_face_wrapper.hf_tokenizer_encode import HfTokenizerEncode + + +class TestPtfHfLoraClassificationModel(unittest.TestCase): + def setUp(self): + """Setup shared test conditions.""" + self.text = [ + "I really liked the scenary.", + "I did not like the vision of the creator." + ] + self.model_names = [ + "distilbert-base-uncased", + "bert-base-uncased", + "roberta-base", + "albert-base-v2", + "google/electra-base-discriminator" + ] + + def test_all_models(self): + """Run output shape test across all supported models.""" + for model_name in self.model_names: + with self.subTest(model_name=model_name): + encode = HfTokenizerEncode().f( + model_name=model_name, + padding=True, + padding_method="max_length", + truncation=True, + max_length=0 # Use model's max length + )[0] + + model = PtnHfLoraClassificationModel().f( + model_name, + use_mean_pooling=True, + dropout=0.1 + )[0] + + token_dict = encode(self.text) + out = model((token_dict["input_ids"], token_dict["attention_mask"])) + self.assertEqual(out.size(), torch.Size([2, 1])) + + def test_all_models_with_full_params(self): + """Test with full params for all supported models.""" + for model_name in self.model_names: + with self.subTest(model_name=model_name): + encode = HfTokenizerEncode().f( + model_name=model_name, + padding=True, + padding_method="max_length", + truncation=True, + max_length=0 # Use model's max length + )[0] + + model = PtnHfLoraClassificationModel().f( + model_name, + use_mean_pooling=True, + dropout=0.1, + lora_r=20, + lora_alpha=10, + lora_dropout=0.2 + )[0] + + token_dict = encode(self.text) + out = model((token_dict["input_ids"], token_dict["attention_mask"])) + self.assertEqual(out.size(), torch.Size([2, 1])) + + +if __name__ == "__main__": + unittest.main()