Indian Name Generator β GPT Fine-Tuned Model
This model generates Indian girl/boy baby names.
It was fine-tuned on 1.5 million unique Indian names containing both male and female names.
Model Details
Model Description
A fine-tuned version of openai-gpt from Hugging Face.
The model learns patterns in Indian names and generates unique, culturally appropriate names when prompted.
| Property | Value |
|---|---|
| Base model | openai-gpt (12-layer transformer decoder) |
| Model parameters | 116,536,320 (~116M) |
| Tokenizer vocab size | 40,480 tokens |
| Number of transformer layers | 12 |
| Task | Causal Language Modeling / Name Generation |
| Language | Primarily Indian names (Tamil, Hindi, Sanskrit, Telugu, Kannada etc.) |
| Dataset size | 1.5 million names |
| License | MIT |
Finetuning Strategy
- Base model weights from
openai-gpt - Fine-tuned with 1.5M Indian names dataset
- Low learning rate applied to most layers
- High learning rate applied to the last transformer + attention heads
Result: Model retains GPT's language understanding but learns strong name-generation bias.
Uses
Direct Use
from transformers import AutoModelForCausalLM, OpenAIGPTTokenizer
repo_name = "swami93/gpt-indian-names-generator"
tokenizer = OpenAIGPTTokenizer.from_pretrained(repo_name)
model = AutoModelForCausalLM.from_pretrained(repo_name)
model = model.to(device)
prompt = "name:"
# Controls creativity in generated names: higher % more random/creative names, lower % more predictable names
randomness_percent = 120
input_ids = tokenizer.encode(
prompt,
return_tensors="pt"
).to(device)
output = model.generate(
input_ids=input_ids,
max_length=50,
do_sample=True,
top_k=30,
top_p=0.9,
temperature=randomness_percent/100
)
generated_names = tokenizer.decode(output[0])
for line in generated_names.split(separator_token):
line = line.strip()
if line and ":" in line and len(line) >= 5:
print(line)
- Downloads last month
- 6