FloorplanValidator

This model distinguishes between floorplan images and non-floorplan images in real estate listings.

Model Details

  • Model type: ResNet50 fine-tuned for binary classification
  • Task: Binary image classification
  • Training data: Custom dataset of floorplan and non-floorplan images
  • Class labels: 0 (floorplan), 1 (no_image)

Intended Use

  • Identify valid floorplan images in real estate listings
  • Filter out non-floorplan images

Usage

import torch
import torch.nn as nn
from torchvision import transforms, models
from huggingface_hub import hf_hub_download
from PIL import Image

# Define the model architecture
class RealEstateClassifier(nn.Module):
    def __init__(self):
        super().__init__()
        # Load ResNet50
        self.model = models.resnet50(pretrained=False)
        # Modify final layer for binary classification
        num_ftrs = self.model.fc.in_features
        self.model.fc = nn.Linear(num_ftrs, 2)  # 2 classes: floorplan and no_image
    
    def forward(self, x):
        return self.model(x)

# Load the state dict
model_path = hf_hub_download("acd20000/FloorplanValidator", "best_floorplan_classifier.pt")
state_dict = torch.load(model_path, map_location=torch.device('cpu'))

# Create model and load weights
model = RealEstateClassifier()
model.load_state_dict(state_dict)
model.eval()

# Define transformation
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])

# Make a prediction
image = Image.open("your_image.jpg").convert('RGB')
input_tensor = transform(image).unsqueeze(0)

with torch.no_grad():
    output = model(input_tensor)
    probs = torch.softmax(output, dim=1)
    pred_class = torch.argmax(probs, dim=1).item()
    confidence = probs[0][pred_class].item()
    
    result = {
        'class': "floorplan" if pred_class == 0 else "non-floorplan",
        'confidence': confidence
    }
    print(result)
Downloads last month
1
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support