brain_tumor_det / pipeline.py
pavankm96's picture
Update pipeline.py
ee26137 verified
raw
history blame
903 Bytes
from transformers import Pipeline
import numpy as np
import tensorflow as tf
from PIL import Image
class BrainTumorDetectionPipeline(Pipeline):
def __init__(self, model_path: str, *args, **kwargs):
super().__init__(*args, **kwargs)
self.model = tf.keras.models.load_model(model_path)
def preprocess(self, images: list):
processed_images = []
for image in images:
image = Image.open(image).resize((128, 128)) # Resize to model input size
image = np.array(image) / 255.0 # Normalize the image
processed_images.append(np.expand_dims(image, axis=0)) # Add batch dimension
return np.vstack(processed_images) # Stack for batch processing
def forward(self, images: list):
preprocessed_images = self.preprocess(images)
predictions = self.model.predict(preprocessed_images)
return predictions