pytorch jax gpt2 lm-head causal-lm en transformers text-generation
.gitattributes README.md config.json flax_model.msgpack merges.txt pytorch_model.bin special_tokens_map.json tokenizer_config.json vocab.json
 ---
language: 
- en
thumbnail:
widget:
 - text: "topic climate source washington post title "
---

# GPT2-medium-topic-news

## Model description

GPT2-medium fine tuned on a largish news corpus conditioned on a topic, source, title

## Intended uses & limitations

#### How to use

To generate a news article text conditioned on a topic, source, title or some subsets, prompt model with: 
```python
f"topic {topic} source"
f"topic {topic} source {source} title"
f"topic {topic} source {source} title {title} body"
```

Try the following tags for `topic: climate, weather, vaccination`.

Zero shot generation works pretty well as long as `topic` is a single word and not too specific.

```python
device = "cuda:0"
tokenizer = AutoTokenizer.from_pretrained("ktrapeznikov/gpt2-medium-topic-small-set")
model = AutoModelWithLMHead.from_pretrained("ktrapeznikov/gpt2-medium-topic-small-set")
model.to(device)
topic = "climate"
prompt = tokenizer(f"topic {topics} source straitstimes title", return_tensors="pt")
out = model.generate(prompt["input_ids"].to(device), do_sample=True,max_length=500, early_stopping=True, top_p=.9)
print(tokenizer.decode(out[0].cpu(), skip_special_tokens=True))
```