File size: 6,931 Bytes
b922fa0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generating summaries with CzeGPT-2 summarizer\n",
    "\n",
    "The generating codes in `utils.py` are based on <a href=\"https://github.com/SKRohit/Generating_Text_Summary_With_GPT2/blob/master/utils.py\">this</a> repository and heavily improved.\n",
    "\n",
    "Download all the files from the <a href=\"https://huggingface.co/MU-NLPC/CzeGPT-2_summarizer/tree/main\">Hugging Face repository</a> and place `vocab.json` and `merges.txt` into one folder and `pytorch_model.bin` and `config.json` into another. \n",
    "\n",
    "Provide the paths to these folders later in the code."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from transformers import GPT2LMHeadModel\n",
    "from utils import add_special_tokens, generate_one_summary_fast"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# load model\n",
    "model_path = \"path/to/folder/with/model/and/config/files\"\n",
    "\n",
    "model = GPT2LMHeadModel.from_pretrained(model_path)\n",
    "\n",
    "# put model into eval mode and on device\n",
    "model.eval()\n",
    "device = 'cuda' # 'cpu' alternatively\n",
    "model.to(device)\n",
    "\n",
    "# load and set tokenizer\n",
    "tokenizer_path = \"path/to/folder/with/vocab/and/merges/files\"\n",
    "tokenizer = add_special_tokens(tokenizer_path)\n",
    "tokenizer.model_max_length = 1024"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Playing with summaries generation\n",
    "\n",
    "Here we can explore the generation with different inputs and hyperparameters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "input_seq = 'Vohradský v rámci výběrového řízení na nejvyšší post ve státním podniku dostal od výběrové komise nejvíce bodů ze všech uchazečů. Ministryně obrany Jana Černochová (ODS), pod jejíž resort lesy spadají, podle informací Novinek z dobře informovaného zdroje na doporučení komise dala. „Jsem ráda, že komise vybrala velice zkušeného člověka, který má bohaté zkušenosti nejen s lesnictvím, ale zná i Vojenské lesy a statky a je zárukou jejich dalšího rozvoje,“ uvedla ministryně obrany Jana Černochová. „Chci podnik udržet v černých číslech, důležitá je obnova lesních porostů po kůrovci a zabezpečení chodu podniku v souladu s potřebami resortu obrany,“ nastínil své priority Roman Vohradský. Vohradský se v lesnictví pohybuje dlouhá léta. Ve vojenských lesích pracoval už v letech 2002 až 2009. V témže roce pak přešel do jednoho z největších státních podniků, a to do Lesů ČR, které obhospodařují šestinu plochy Česka a zhruba polovinu všech lesů v zemi. Od roku 2015 pak opět pracuje ve VLS jako ředitel divize Mimoň. Do nejužšího výběru s Vohradským podle již dříve publikovaných informací redakce postoupili také bývalý ředitel VLS Jiří Janota, který v současnosti například zastává pozici předsedy Českomoravské myslivecké jednoty, a někdejší správní náměstek vojenských lesů Jiří Špelina. Celkem se do soutěže přihlásilo devět uchazečů. Vojenské lesy a statky ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi, hledají nového generálního ředitele poté, co na konci prosince ministryně obrany Jana Černochová (ODS) odvolala kvůli manažerským pochybením někdejšího ředitele podniku Petra Krále.'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "new_article\n",
      "\n",
      "Vohradský v rámci výběrového řízení na nejvyšší post ve státním podniku dostal od výběrové komise nejvíce bodů ze všech uchazečů. Ministryně obrany Jana Černochová (ODS), pod jejíž resort lesy spadají, podle informací Novinek z dobře informovaného zdroje na doporučení komise dala. „Jsem ráda, že komise vybrala velice zkušeného člověka, který má bohaté zkušenosti nejen s lesnictvím, ale zná i Vojenské lesy a statky a je zárukou jejich dalšího rozvoje,“ uvedla ministryně obrany Jana Černochová. „Chci podnik udržet v černých číslech, důležitá je obnova lesních porostů po kůrovci a zabezpečení chodu podniku v souladu s potřebami resortu obrany,“ nastínil své priority Roman Vohradský. Vohradský se v lesnictví pohybuje dlouhá léta. Ve vojenských lesích pracoval už v letech 2002 až 2009. V témže roce pak přešel do jednoho z největších státních podniků, a to do Lesů ČR, které obhospodařují šestinu plochy Česka a zhruba polovinu všech lesů v zemi. Od roku 2015 pak opět pracuje ve VLS jako ředitel divize Mimoň. Do nejužšího výběru s Vohradským podle již dříve publikovaných informací redakce postoupili také bývalý ředitel VLS Jiří Janota, který v současnosti například zastává pozici předsedy Českomoravské myslivecké jednoty, a někdejší správní náměstek vojenských lesů Jiří Špelina. Celkem se do soutěže přihlásilo devět uchazečů. Vojenské lesy a statky ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi, hledají nového generálního ředitele poté, co na konci prosince ministryně obrany Jana Černochová (ODS) odvolala kvůli manažerským pochybením někdejšího ředitele podniku Petra Krále.<|sep|>\n",
      "\n",
      "generated_summary\n",
      "\n",
      "Ministryně obrany doporučila výběrovou komisi, aby jmenovala nového generálního ředitele Vojenských lesů a statků ČR (VLS). Podle informací Novinek je jím současný ředitel divize Mimoň Roman Vohradský. Ten byl doposud v čele Lesů ČR, které spravují zhruba 126 tisíc hektarů lesní půdy v zemi.\n",
      "\n",
      "golden_summary\n",
      "\n",
      "Not Given\n",
      "\n",
      "CPU times: user 1.5 s, sys: 493 ms, total: 1.99 s\n",
      "Wall time: 1.99 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "generate_one_summary_fast(input_seq, tokenizer, model, num_sentences=3,\n",
    "                top_k=50, top_p=0.5, device=device, eos_stopping=False)\n",
    "\n",
    "None"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}