bart-large-mnli-logged / modeling_modified.py
Boriscii's picture
Update modeling_modified.py
df53c44 verified
raw
history blame
1.48 kB
import logging
import logging
from transformers import BartForConditionalGeneration
logger = logging.getLogger("ModelLogger")
class ModifiedBartForConditionalGenerationWithHook(BartForConditionalGeneration):
def __init__(self, config):
super().__init__(config)
def forward(self, *args, **kwargs):
# Log input information
input_ids = kwargs.get('input_ids', args[0] if args else None)
logger.info(f"Forward pass initiated with input shape: {input_ids.shape if input_ids is not None else 'None'}")
# Call the parent's forward method
outputs = super().forward(*args, **kwargs)
# Log output information
logger.info(f"Forward pass completed. Output shape: {outputs.logits.shape if hasattr(outputs, 'logits') else 'N/A'}")
return outputs
def generate(self, *args, **kwargs):
if not hasattr(super(), 'generate'):
logger.warning("Generate method is not available in the parent class.")
return None
# Log input information
input_ids = kwargs.get('input_ids', args[0] if args else None)
logger.info(f"Generate method called with input shape: {input_ids.shape if input_ids is not None else 'None'}")
# Call the parent's generate method
outputs = super().generate(*args, **kwargs)
# Log output information
logger.info(f"Generate method completed. Output shape: {outputs.shape}")
return outputs