Garbage Classification Model (LargeNet)

Model Description

This is a PyTorch-based convolutional neural network trained to classify images of garbage into 7 categories:

  • Battery: Used batteries and battery waste
  • Biological: Organic and biodegradable waste
  • Cardboard: Cardboard boxes and packaging
  • Glass: Glass bottles, jars, and containers
  • Metal: Metal cans, foil, and containers
  • Paper: Paper waste, documents, and newspaper
  • Plastic: Plastic bottles, bags, and containers

The model uses a custom CNN architecture called "LargeNet" that processes 128x128 RGB images.

Model Architecture

LargeNet(
  (conv1): Conv2d(3, 5, kernel_size=5)
  (pool): MaxPool2d(kernel_size=2, stride=2)
  (conv2): Conv2d(5, 10, kernel_size=5)
  (fc1): Linear(in_features=8410, out_features=32)
  (fc2): Linear(in_features=32, out_features=7)
)

Architecture Details:

  • Input: 128x128 RGB images
  • 2 Convolutional layers with ReLU activation
  • MaxPooling after each convolution
  • 2 Fully connected layers
  • Output: 7 classes with softmax probabilities

Training Details

Training Hyperparameters:

  • Batch size: 64
  • Learning rate: 0.01
  • Optimizer: SGD
  • Loss function: CrossEntropyLoss
  • Best epoch: 61
  • Training dataset: Garbage Classification Dataset (2100 images)

Data Preprocessing:

  • Images resized to 128x128 pixels
  • Normalized with mean=[0.5, 0.5, 0.5] and std=[0.5, 0.5, 0.5]
  • Data split: 72% train, 18% validation, 10% test

Usage

Quick Start

from inference import GarbageClassifier

# Initialize the classifier
classifier = GarbageClassifier(".")

# Classify an image
result = classifier.predict("path/to/garbage_image.jpg")

print(f"Predicted class: {result['class']}")
print(f"Confidence: {result['confidence']:.2%}")
print(f"All probabilities: {result['all_probabilities']}")

Manual Usage

import torch
from PIL import Image
from torchvision import transforms
from model import load_model

# Load model
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = load_model("pytorch_model.bin", device)

# Prepare image
transform = transforms.Compose([
    transforms.Resize((128, 128)),
    transforms.ToTensor(),
    transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
])

image = Image.open("image.jpg").convert('RGB')
image_tensor = transform(image).unsqueeze(0).to(device)

# Predict
with torch.no_grad():
    outputs = model(image_tensor)
    probabilities = torch.nn.functional.softmax(outputs, dim=1)
    _, predicted = torch.max(probabilities, 1)

class_names = ["battery", "biological", "cardboard", "glass", "metal", "paper", "plastic"]
print(f"Predicted class: {class_names[predicted.item()]}")

Model Performance

The model achieved competitive performance on the garbage classification task. For detailed metrics and performance analysis, please refer to the training logs and evaluation results.

Limitations and Bias

  • The model is trained on a specific garbage dataset and may not generalize well to all types of waste
  • Performance may vary with different lighting conditions, image quality, and garbage appearances
  • The dataset may have regional or cultural biases in garbage representation
  • Works best with clear, well-lit images of individual garbage items

Intended Use

This model is intended for:

  • Educational purposes in waste management and environmental studies
  • Prototype development for waste sorting applications
  • Research in automated recycling systems
  • Environmental awareness applications

Not recommended for:

  • Production waste sorting systems without additional validation
  • Critical infrastructure without human oversight
  • Scenarios requiring 100% accuracy

Citation

If you use this model, please cite:

@misc{garbage-classifier-largenet,
  author = {Your Name},
  title = {Garbage Classification Model},
  year = {2026},
  publisher = {HuggingFace},
  url = {https://huggingface.co/your-username/garbage-classifier-largenet}
}

License

MIT License

Contact

For questions or feedback, please open an issue on the model repository.

Downloads last month
6
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support