nlpctx's picture
Upload folder using huggingface_hub
91c1980 verified

CodeT5-small Java Optimization Model

A fine-tuned Salesforce/codet5-small model for Java code optimization tasks.

Overview

This repository contains a fine-tuned CodeT5-small model specifically trained for Java code optimization. The model takes verbose or inefficient Java code and generates more optimal versions.

Model Information

  • Base Model: Salesforce/codet5-small
  • Training Dataset: nlpctx/java_optimisation
  • Framework: HuggingFace Transformers with Seq2SeqTrainer
  • Training Setup: Dual-GPU DataParallel (Kaggle T4×2)
  • Dataset Size: ~6K training / 680 validation Java optimization pairs
  • Optimization Focus: Java code refactoring and performance improvements

Files

  • config.json - Model configuration
  • generation_config.json - Generation parameters
  • model.safetensors - Model weights (safetensors format)
  • merges.txt - BPE merges file
  • special_tokens_map.json - Special tokens mapping
  • tokenizer_config.json - Tokenizer configuration
  • vocab.json - Vocabulary file

Usage

from transformers import T5ForConditionalGeneration, T5Tokenizer
import torch

# Load model and tokenizer
model = T5ForConditionalGeneration.from_pretrained("model_directory")
tokenizer = T5Tokenizer.from_pretrained("model_directory")

# Prepare input Java code
java_code = "your Java code here"
input_ids = tokenizer(java_code, return_tensors="pt").input_ids

# Generate optimized code
with torch.no_grad():
    outputs = model.generate(
        input_ids,
        max_length=512,
        num_beams=4,
        early_stopping=True
    )

optimized_code = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(optimized_code)

Example Optimizations

The model has been trained to recognize and optimize common Java patterns:

  • Switch Expressions: Converting verbose switch statements to switch expressions
  • Collection Operations: Replacing manual iterator removal with removeIf()
  • String Handling: Optimizing string concatenation with StringBuilder
  • Loop Optimizations: Improving iterative constructs
  • And more...

Training Details

The model was fine-tuned using:

  • Base Model: Salesforce/codet5-small
  • Dataset: nlpctx/java_optimisation from Hugging Face
  • Training Framework: Seq2SeqTrainer with DataParallel
  • Hardware: Kaggle T4×2 (dual GPU)
  • Approach: Standard supervised fine-tuning on Java optimization pairs

License

This model is provided for educational and demonstration purposes.

Acknowledgements

  • Model based on Salesforce/codet5-small
  • Training data from nlpctx/java_optimisation dataset
  • Built with HuggingFace Transformers