mllm_washed / docker
Washedashore's picture
Create docker
ed7f459 verified
from transformers import AutoModel, AutoTokenizer, AutoFeatureExtractor
import torch
# Load pre-trained text and vision models
text_model = AutoModel.from_pretrained("bert-base-uncased")
vision_model = AutoModel.from_pretrained("google/vit-base-patch16-224")
# Define a simple multimodal model
class SimpleMLLM(torch.nn.Module):
def __init__(self, text_model, vision_model):
super().__init__()
self.text_model = text_model
self.vision_model = vision_model
self.fusion = torch.nn.Linear(text_model.config.hidden_size + vision_model.config.hidden_size, 512)
def forward(self, input_ids, attention_mask, pixel_values):
text_outputs = self.text_model(input_ids=input_ids, attention_mask=attention_mask)
vision_outputs = self.vision_model(pixel_values=pixel_values)
# Simple fusion of text and vision features
fused = torch.cat([text_outputs.last_hidden_state[:, 0], vision_outputs.last_hidden_state[:, 0]], dim=1)
output = self.fusion(fused)
return output
# Initialize the model
model = SimpleMLLM(text_model, vision_model)
# You would then need to implement data loading, training loop, etc.