File size: 18,858 Bytes
0446688
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "723b5d4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import jax\n",
    "import optax\n",
    "import flax\n",
    "import jax.numpy as jnp\n",
    "import datasets\n",
    "from flax.training import train_state\n",
    "from flax.training.common_utils import get_metrics, onehot, shard\n",
    "from datasets import load_dataset\n",
    "from tokenizers import trainers, Tokenizer, normalizers, ByteLevelBPETokenizer\n",
    "from pathlib import Path\n",
    "import numpy as np\n",
    "import transformers\n",
    "from tqdm.notebook import tqdm\n",
    "from pathlib import Path\n",
    "from transformers import AutoConfig\n",
    "from typing import Dict, List, Optional, Tuple\n",
    "from transformers import AutoTokenizer\n",
    "from transformers import PreTrainedTokenizerBase\n",
    "from transformers import FlaxAutoModelForMaskedLM\n",
    "from dataclasses import dataclass, field\n",
    "import time\n",
    "import glob\n",
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f4a5edee",
   "metadata": {},
   "outputs": [],
   "source": [
    "from transformers import AutoConfig\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "48daf2ec",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "config = AutoConfig.from_pretrained(\"google/bigbird-roberta-base\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "fc816572",
   "metadata": {},
   "outputs": [],
   "source": [
    "config.save_pretrained(\"./\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "39b9fc3d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ba855add",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "59076aa7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of files 20 after adding /data/c4_cleaned\n"
     ]
    }
   ],
   "source": [
    "#59G c4_cleaned compressed\n",
    "#937M nrc_uniq_cleaned_20210223 compressed\n",
    "#410M nu_uniq_cleaned_20210225 compressed\n",
    "#9.9G oscar_nl_cleaned compressed\n",
    "\n",
    "\n",
    "\n",
    "data_files = []\n",
    "SEED=42\n",
    "def add_jsonlines_dir(path):\n",
    "    global data_files\n",
    "    #data_files += glob.glob(f\"{path}/*47*.gz\")\n",
    "    #data_files += glob.glob(f\"{path}/*32*.gz\")\n",
    "    #data_files += glob.glob(f\"{path}/*59*.gz\")\n",
    "    data_files += glob.glob(f\"{path}/*11*.gz\")\n",
    "    print(f\"Number of files {len(data_files)} after adding {path}\")\n",
    "    \n",
    "add_jsonlines_dir(\"/data/c4_cleaned\")\n",
    "#add_jsonlines_dir(\"/data/nrc_uniq_cleaned_20210223\")\n",
    "#add_jsonlines_dir(\"/data/nu_uniq_cleaned_20210225\")\n",
    "#add_jsonlines_dir(\"/data/oscar_nl_cleaned\") This one gives an error like field url not in \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "fc9519d2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of files 209 after adding /data/oscar_nl_cleaned\n",
      "95%: 199\n",
      "Got 199 training files and 10 validation files\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using custom data configuration default-00e4c1e272015fdb\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading and preparing dataset json/default (download: Unknown size, generated: Unknown size, post-processed: Unknown size, total: Unknown size) to /home/dat/.cache/huggingface/datasets/json/default-00e4c1e272015fdb/0.0.0/f92a4de297ac644ad9781979b79064b0e222b3af766f8ea3bee32390dca23723...\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "7fc9159a741a4853abb8fa1abcb8bd4c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "0 tables [00:00, ? tables/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "db9fc4eb87094fa9aef909f8e8d41124",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "0 tables [00:00, ? tables/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset json downloaded and prepared to /home/dat/.cache/huggingface/datasets/json/default-00e4c1e272015fdb/0.0.0/f92a4de297ac644ad9781979b79064b0e222b3af766f8ea3bee32390dca23723. Subsequent calls will reuse this data.\n"
     ]
    }
   ],
   "source": [
    "#59G c4_cleaned compressed\n",
    "#937M nrc_uniq_cleaned_20210223 compressed\n",
    "#410M nu_uniq_cleaned_20210225 compressed\n",
    "#9.9G oscar_nl_cleaned compressed\n",
    "\n",
    "\n",
    "\n",
    "data_files = []\n",
    "SEED=42\n",
    "def add_jsonlines_dir(path,filespec):\n",
    "    global data_files\n",
    "    data_files += glob.glob(f\"{path}/{filespec}\")\n",
    "    print(f\"Number of files {len(data_files)} after adding {path}\")\n",
    "    \n",
    "#add_jsonlines_dir(\"/home/dat/subset_c4_cleannl\",\"*.gz\")   \n",
    "add_jsonlines_dir(\"/data/oscar_nl_cleaned\",\"*.gz\")\n",
    "#add_jsonlines_dir(\"/data/nrc_cleaned_idtextfmt\",\"*.gz\")\n",
    "#add_jsonlines_dir(\"/data/nu_cleaned_idtextfmt\",\"*.gz\")\n",
    "random.Random(SEED).shuffle(data_files)\n",
    "total = len(data_files)\n",
    "val_size = int(0.05 * total)\n",
    "train_size = total - val_size\n",
    "print(f\"95%: {train_size}\")\n",
    "train = data_files[:train_size]\n",
    "val = data_files[train_size:]\n",
    "print(f\"Got {len(train)} training files and {len(val)} validation files\")\n",
    "assert list(set(train) & set(val)) == [], \"Train overlaps with test\"\n",
    "datasets = load_dataset('json', data_files={'train': train, 'validation': val})\n",
    "\n",
    "\n",
    "assert list(set(train) & set(val)) == [], 'train overlaps with test'\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "865a9642",
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_iterator = iter(datasets['train'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "523b0fc2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Zo stel ik het me voor. Tegen iedere conventie in. Och wat heeft de burgerij gemopperd en schande gesproken. Dat was in die dagen. Nu nog steeds, maar anders. Daarover later meer. En wat zullen ze van u gehouden hebben in de kleine kring van liefhebbers.\n",
      "Jaren geleden, toen ik nog op de academie zat bestudeerde ik uw werk. Vooral de paar overgebleven foto’s van uw Merzbau in Hannover troffen mij. Zo vrij en swingend en onconventioneel.\n",
      "Ze werden opgeslagen in een afgelegen kamer in mijn geheugen, want eigentijdse choreografen en filmmakers en schilders uit de vroege renaissance vroegen om voorrang.\n",
      "Toen u het huis van uw ouders in Hannover betrok transformeerde u acht kamers tot een betoverende sculptuur. Merzbau! Kathedrale des erotischen Elend.\n",
      "In abstracte vlakken en vormen kruipen de volumes chaotisch omhoog langs de muren. Meestal wit. Er vormen zich ruimtes en grotachtige structuren. Hier en daar een typografisch detail of een herkenbaar object, dat uit zijn context geslingerd, vooral vragen oproept. Met hier en daar een antwoord of een vermoeden daarvan.\n",
      "Soms verborg u zich in het kleine orgelkamertje bovenin als er gasten kwamen, om de reactie op hun gezichten te lezen als ze uw gedichten of het karnavals-achtige nummer Du lieber Augustin door de fantastische ruimte hoorden schallen, een lied vol humor en boerse middeleeuwse wreedheid, maar ook melancholie.\n",
      "Banale liedjes laten horen in een ruimte die verschillende betekenissen kan hebben. Ik herken dat zo. Wij deden dat ook in het theater.\n",
      "Ik vraag nu toch uw hand, zo’n beetje dwars door de tijd, om een paar pirouettes te draaien of misschien beter een twist.\n",
      "Het gewicht van de tapijten of het zeil waaronder ik zowat bezwijk, de inspanning om hoog in de opstelling een klosje op te hangen… Op een gegeven moment raak ik in een staat waarin ik niet meer nadenk. Dan doe ik de ingreep die een beeld uiteindelijk af maakt. Grappig niet?\n",
      "Ik vermoed dat u dat ook heeft, dat zware fysieke werken aan Merzbau; dat dat fijn is, dat het zo echt is daardoor en dat je uiteindelijk in trance raakt.\n",
      "Daar leefde u van werken in opdracht; portretten en landschappen. Beeldschoon werk, maar u deed niet anders dan erop mopperen.\n",
      "Ondertussen begon u een nieuwe Merzbau in een schuur op het platteland. U groef er een verdieping onder en begon daar te merzen. Weer die zware fysieke arbeid. Dat beschouwde u als uw echte werk. Daar legde u ‘connecties tussen alles in uw wereld’, al uw werk ‘een levenslange ervaring’.\n",
      "Maar uw landschappen hoorden daar niet bij. Dat is nu vreemd, jammer zelfs. Tenminste, gezien vanuit mijn perspectief, vanuit het heden. Ze komen immers uit dezelfde bron. Is het omdat ze niet abstract zijn?\n",
      "Per Kirkeby is een beroemd Deens schilder en beeldhouwer, graficus en dichter. Nu tachtig jaar oud. U zou hem weten te waarderen. Ook niet binnen een -isme te vangen. Hij heeft heel mooi over zuivere en onzuivere kunst gesproken. Dit klinkt een beetje eng maar ging over zuiver in de zin van kaal en zonder betekenis en in het onzuivere zaten alle associaties en verwijzingen.\n",
      "In míjn werk houd ik van de associaties en verwijzingen. Maar we leven nu in een andere tijd. Pure abstractie wordt zeker nog gevierd door sommige kunstenaars, en zeker niet de minsten, maar de revolutie die het in uw tijd ontketende is uitgewoed.\n",
      "Ik houd ervan dat in mijn werk niks helemaal lijkt te kloppen, maar er is wel samenhang. De objecten zijn volgens een innerlijke logica gekozen. Maar het mag geen surealisme worden. Daar houd ik niet van. Het is een smalle marge waarin ze mogen bestaan.\n",
      "Het gaat vreemd genoeg volgens schilderkunstige principes, al komt er geen verf aan te pas. Ik bouw mijn opstellingen laag voor laag op. Vanuit de achtergrond. Ik doe weg, of bedek wat te makkelijk te duiden is en daarmee het beeld plat slaat, of wat ik te mooi of esthetisch vind. Soms draait het zich om, behoud ik juist wat mooi of betekenisvol is. Ik zet voortdurend voetangels en klemmen voor mijzelf. En ik geloof dat dat de kwaliteit van het werk uitmaakt.\n",
      "Ik vraag me af in hoeverre dit een wet is die voor alle kunst opgaat. Ik geloof het wel. Al gebeurt het soms alleen in het denkproces dat vooraf gaat aan de uitvoering van het werk.\n",
      "Ik ken het in ieder geval heel goed uit mijn theaterwerk. Dat schaven aan een productie tot alle puzzelstukken op hun plaats vallen.\n",
      "Ik kan mij voorstellen dat dat zelfs bij Mondriaan gebeurde. Zijn Victory Boogy Woogy heeft zo iets magisch ongrijpbaars. En toch staan alle vlakken gewoon op hun plek. Daar is zoveel jaar werk voor nodig geweest!\n",
      "In zijn vroege werken, ook landschappen en bomen, proef je wat er allemaal in zit. In die man bedoel ik en in die doeken.\n",
      "Ik wil maar zeggen, die landschappen van u zijn denk ik toch met dezelfde mentaliteit gemaakt als uw dichtwerk of Merzbau. Ze zijn in ieder geval door u gemaakt. Met uw hand, uw geest, uw afwegingen tijdens het schilderen. Dit wel, dit niet.\n",
      "Maar niet mystiek of transcendent? Ik lees in andere bronnen over Dada’s grondslag; Boeddhisme, Taoisme, vroegchristelijke mystici, en over filosofen als Bergson, Nietzsche en Descartes. Nogal tegenstrijdig allemaal.\n",
      "En dat DaDa niets is, dat wil zeggen alles, of het niet-iets, of een vogel op vier poten, of een levensverzekering of een ladder zonder sporten….\n",
      "Ik heb een leven lang studie en kijken en nog eens kijken voor me, om dit alles te doorvorsen. Maar begrijpen doe ik het al. Op m’n intuïtie.\n"
     ]
    }
   ],
   "source": [
    "print(next(dataset_iterator)['text'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "b5839c79",
   "metadata": {},
   "outputs": [
    {
     "ename": "IndentationError",
     "evalue": "unexpected indent (1021262509.py, line 15)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"/tmp/ipykernel_309684/1021262509.py\"\u001b[0;36m, line \u001b[0;32m15\u001b[0m\n\u001b[0;31m    train, val = train_val_files()\u001b[0m\n\u001b[0m    ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n"
     ]
    }
   ],
   "source": [
    "\n",
    "            add_jsonlines_dir(\"/home/dat/subset_c4_cleannl\")   \n",
    "            add_jsonlines_dir(\"/data/oscar_nl_cleaned\")\n",
    "            add_jsonlines_dir(\"/data/nrc_cleaned_idtextfmt\")\n",
    "            add_jsonlines_dir(\"/data/nu_cleaned_idtextfmt\")\n",
    "            random.Random(SEED).shuffle(data_files)\n",
    "            total = len(data_files)\n",
    "            val_size = int(0.05 * total)\n",
    "            train_size = total - val_size\n",
    "            print(f\"95%: {train_size}\")\n",
    "            train = data_files\n",
    "            val = data_files\n",
    "            print(f\"Got {len(train)} training files and {len(val)} validation files\")\n",
    "            assert list(set(train) & set(val)) == [], \"Train overlaps with test\"\n",
    "            return train, val\n",
    "        train, val = train_val_files()\n",
    "        datasets = load_dataset('json', data_files={'train': train, 'validation': val})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6685589f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from tokenizers import ByteLevelBPETokenizer\n",
    "tokenizer = ByteLevelBPETokenizer()\n",
    "\n",
    "def batch_iterator(batch_size=1000):\n",
    "    for i in range(0, len(datasets), batch_size):\n",
    "        yield datasets[\"train\"][i: i + batch_size][\"text\"]\n",
    "\n",
    "tokenizer.train_from_iterator(batch_iterator(), vocab_size=50358, min_frequency=2, special_tokens=[\n",
    "    \"<s>\",\n",
    "    \"<pad>\",\n",
    "    \"</s>\",\n",
    "    \"<unk>\",\n",
    "    \"<mask>\",\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5fed49b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "39503"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tokenizer.get_vocab_size()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "69401680",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/dat/pino-roberta-base\n"
     ]
    }
   ],
   "source": [
    "cd ~/pino-roberta-base"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "7a98d754",
   "metadata": {},
   "outputs": [],
   "source": [
    "tokenizer.save(\"tokenizer.json\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e686b9c8",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using custom data configuration nl-lang=nl\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading and preparing dataset cc100/nl (download: Unknown size, generated: Unknown size, post-processed: Unknown size, total: Unknown size) to /home/dat/.cache/huggingface/datasets/cc100/nl-lang=nl/0.0.0/b583dd47b0dd43a3c3773075abd993be12d0eee93dbd2cfe15a0e4e94d481e80...\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8bb6155775084c42841d5a786a3f014c",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/8.42G [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset1 = load_dataset(\"mc4\", \"nl\", streaming=True)\n",
    "dataset2 = load_dataset(\"oscar\", \"unshuffled_deduplicated_nl\",streaming=True)\n",
    "dataset3 = load_dataset(\"cc100\", lang=\"nl\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "1e1498d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:absl:Starting the local TPU driver.\n",
      "INFO:absl:Unable to initialize backend 'tpu_driver': Not found: Unable to find driver in registry given worker: local://\n",
      "INFO:absl:Unable to initialize backend 'gpu': Not found: Could not find registered platform with name: \"cuda\". Available platform names are: Interpreter Host TPU\n",
      "Some weights of FlaxBigBirdModel were not initialized from the model checkpoint at flax-community/pino-roberta-base and are newly initialized: {('pooler', 'kernel'), ('pooler', 'bias')}\n",
      "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
     ]
    }
   ],
   "source": [
    "from transformers import AutoTokenizer, RobertaModel\n",
    "from transformers import BigBirdForSequenceClassification,FlaxBigBirdModel,FlaxBigBirdForMaskedLM\n",
    "\n",
    "model = FlaxBigBirdModel.from_pretrained(\"flax-community/pino-roberta-base\")\n",
    "model.save_pretrained('exported_pytorch_model')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "82f2a9b7",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}