├── OpenMusenet3
├── src
│ ├── OpenMusenet3
│ │ ├── __init__.py
│ │ ├── test2.mid
│ │ ├── __pycache__
│ │ │ ├── ai.cpython-312.pyc
│ │ │ ├── midi.cpython-312.pyc
│ │ │ ├── utils.cpython-312.pyc
│ │ │ └── __init__.cpython-312.pyc
│ │ ├── instrument_guesser.py
│ │ ├── pyproject.toml
│ │ ├── utils.py
│ │ ├── ai.py
│ │ └── midi.py
│ └── tests
│ │ ├── test.mid
│ │ ├── test2.mid
│ │ ├── AIPiece0.mid
│ │ └── run_basic.py
├── .idea
│ ├── .gitignore
│ ├── vcs.xml
│ ├── inspectionProfiles
│ │ └── profiles_settings.xml
│ ├── modules.xml
│ ├── misc.xml
│ └── OpenMusenet3.iml
└── OpenMusenet_3_notebook.ipynb
├── README.md
└── OpenMusenet2
├── README.md
└── Notebooks
└── Converters
└── midiFormater.ipynb
/OpenMusenet3/src/OpenMusenet3/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "0.1.0"
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/tests/test.mid:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/tests/test.mid
--------------------------------------------------------------------------------
/OpenMusenet3/src/tests/test2.mid:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/tests/test2.mid
--------------------------------------------------------------------------------
/OpenMusenet3/src/tests/AIPiece0.mid:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/tests/AIPiece0.mid
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/test2.mid:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/OpenMusenet3/test2.mid
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/__pycache__/ai.cpython-312.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/OpenMusenet3/__pycache__/ai.cpython-312.pyc
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/__pycache__/midi.cpython-312.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/OpenMusenet3/__pycache__/midi.cpython-312.pyc
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/__pycache__/utils.cpython-312.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/OpenMusenet3/__pycache__/utils.cpython-312.pyc
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/__pycache__/__init__.cpython-312.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hidude562/OpenMusenet2/HEAD/OpenMusenet3/src/OpenMusenet3/__pycache__/__init__.cpython-312.pyc
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/instrument_guesser.py:
--------------------------------------------------------------------------------
1 | # TODO: The model labels the relative tracks and assigns them a guess of the instrument
2 |
3 | from transformers import pipeline
4 |
5 | class InstrumentGuesser:
6 | def __init__(self, model="hidude562/openmusenet-tracks-to-instruments"):
7 | self._model = pipeline(model=model, device="auto")
8 |
9 |
--------------------------------------------------------------------------------
/OpenMusenet3/.idea/OpenMusenet3.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/tests/run_basic.py:
--------------------------------------------------------------------------------
1 | from src.OpenMusenet3.ai import AI
2 | from src.OpenMusenet3.ai import MIDI
3 |
4 |
5 | ai = AI("kobimusic/esecutore-4-0619", device='cpu') # Change to 'cuda' if you have access to a gpu
6 | mid = MIDI() # Pass in midi file, like "test2.mid"
7 |
8 | # Default amount is 2000 new tokens
9 | generations = ai.continueMusic("classical", mid, new_tokens=2000)
10 | for i, generation in enumerate(generations):
11 | generation.save(f"AIPiece{i}.mid")
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["transformers", "mido"]
3 |
4 | [project]
5 | name = "OpenMusenet3"
6 | version = "0.0.1"
7 | description = "An AI MIDI (Music) generator."
8 | readme = "README.md"
9 | license = { file = "LICENSE" }
10 | classifiers = [
11 | "License :: OSI Approved :: MIT License",
12 | "Programming Language :: Python",
13 | "Programming Language :: Python :: 3",
14 | ]
15 | keywords = ["AI midi", "musenet", "AI Music"]
16 | requires-python = ">=3.9"
17 |
18 | [project.urls]
19 | Homepage = "https://github.com/hidude562/OpenMusenet2"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Announcing... OpenMusenet3!
2 | An expanded and enhanced version of OpenAI's MuseNet, with modern architecure and (suspected to be) larger. Compared to musenet, At least to me, it is noticably more coherent, and its signicantly more creative.
3 |
4 | ## Samples (Alla Turca)
5 |
6 | https://github.com/user-attachments/assets/b57798f9-b89d-446f-a359-43ccd5989410
7 |
8 | https://github.com/user-attachments/assets/47bff3d5-7b34-40a4-b141-8cedcb654072
9 |
10 | 3 Hours of music from scratch: https://www.youtube.com/watch?v=p6JX07dAwFw&t=6815s
11 |
12 | # Interactive notebook:
13 | https://colab.research.google.com/drive/1R3SpV9sajWafITdToC2NOzTw8tkZYWZl?usp=sharing
14 |
15 | ## Library (WIP)
16 | In OpenMusenet3 folder, there is a work in progress library in the works. If you want to use it right now, download it and navigate to examples and you can run the scripts. A notebook will be released eventually
17 |
18 | ## Architecture
19 | - Trained for 4096 context tokens (Model is able to support up to 32k)
20 | - 12 instruments (Unlike Musenet, the instruments aren't categorized by section, its basically part numbers)
21 | - 4 dynamics
22 | - Qwen-2 model, but with GPT-2 tokenizer?? (Works weirdly well)
23 |
24 | ## TODO:
25 | - Notebook for interference
26 | - Library
27 |
28 | # OpenMusenet2 (Legacy)
29 | Open source WIP recreation of OpenAi's musenet. This supports many of the features of the original Musenet by OpenAI such as multiple track support (altough not guided to specific instrument), 4 levels of dynamics, as well as the note start, length, and note. You can find more info in the OpenMusenet2 folder
30 |
--------------------------------------------------------------------------------
/OpenMusenet2/README.md:
--------------------------------------------------------------------------------
1 | # OpenMusenet2
2 | Open source WIP recreation of OpenAi's musenet. This supports many of the features of the original Musenet by OpenAI such as multiple track support (altough not guided to specific instrument), 4 levels of dynamics, as well as the note start, length, and note.
3 |
4 | # Generating
5 | Here is the Google Colab notebook for generating.
6 |
7 | # Samples
8 |
9 | Fur Elise
10 | https://github.com/hidude562/OpenMusenet2/assets/82677882/692dd270-8ffd-4967-9af7-d4aa612fbaf8
11 |
12 | Allca turra
13 | https://github.com/hidude562/OpenMusenet2/assets/82677882/6010b13e-1597-4604-8489-1156b0362cf6
14 |
15 | # Technical things
16 | The current model as of writing this is "OpenMusenet2.1", which is a finetuned version of gpt-2 medium on ~10,000 songs (Around 20kb per song). I don't remember where i got the dataset from (I had actually downloaded it the year prior), but it is ~169,000 midi files of types 0 and 1 with multiple tracks, tempo changes, etc. (although tempo changes and stuff are ignored)
17 |
18 | # Training your own model/dataset
19 | Go to "Notebooks" -> "Converters" -> "midiFormater.ipynb" and you can open that with Google Colab (or whatever notebook editor you use). The process from there should be relatively simple.
20 |
21 | Once you've downloaded your data the process there will vary depending on what notebook you are using to train so i can't really ellaborate on that.
22 |
23 | # Improvement ideas
24 |
25 | Finetune interference params for model (top_k, temperature...) (you can help too!)
26 | Train gpt-2 774m or model of large context size
27 | Large version of model
28 | Some midis are 10x the playback speed of what it should be (AI emulates this behavior)
29 |
30 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/utils.py:
--------------------------------------------------------------------------------
1 | def toMIDIChannel(inputStr: str):
2 | channelMap = {
3 | "%": 0,
4 | "^": 1,
5 | "&": 2,
6 | "*": 3,
7 | ";": 4,
8 | ":": 5,
9 | "'": 6,
10 | '"': 7,
11 | ")": 9,
12 | "{": 10,
13 | "}": 11,
14 | "[": 12,
15 | "]": 13,
16 | "(": 14
17 | }
18 |
19 | return channelMap.get(inputStr)
20 |
21 | def toAIChannel(inputNum: int):
22 | channelMap = {
23 | 0: "%",
24 | 1: "^",
25 | 2: "&",
26 | 3: "*",
27 | 4: ";",
28 | 5: ":",
29 | 6: "'",
30 | 7: '"',
31 | 9: ")",
32 | 10: "{",
33 | 11: "}",
34 | 12: "[",
35 | 13: "]",
36 | 14: "(",
37 | }
38 | return channelMap.get(inputNum, "(")
39 |
40 | def toAIVelocity(inputNum: int):
41 | velocityMap = {
42 | 48: "!",
43 | 60: "@",
44 | 100: "#",
45 | }
46 | for i in velocityMap.keys():
47 | if inputNum <= i:
48 | return velocityMap[i]
49 | return "$"
50 |
51 | def toMidiVelocity(inputNum: str):
52 | velocityMap = {
53 | "!": 48,
54 | "@": 60,
55 | "#": 100,
56 | "$": 127
57 | }
58 | return velocityMap[inputNum]
59 |
60 | return 127
61 |
62 | def parseNote(note: str):
63 | # Numbers are used to delimit symbols
64 | delimitedNote = []
65 | strBuilder = ""
66 |
67 | # Add a space to force adding if last token is number
68 | note += " "
69 |
70 | for token in note:
71 | if(token.isnumeric()):
72 | strBuilder += token
73 | else:
74 | if(strBuilder != ""):
75 | delimitedNote.append(strBuilder)
76 | strBuilder = ""
77 | if(token != " "):
78 | delimitedNote.append(token)
79 | return {"start": int(delimitedNote[0]), "velocity": toMidiVelocity(delimitedNote[1]), "length": int(delimitedNote[2]), "track": toMIDIChannel(delimitedNote[3]), "note": int(delimitedNote[4])}
80 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/ai.py:
--------------------------------------------------------------------------------
1 | import torch
2 | from transformers import AutoModelForCausalLM, AutoTokenizer
3 | import copy
4 |
5 | from midi import MIDI
6 |
7 | class AI:
8 | def __init__(self, modelName, device='cuda'):
9 | self.modelName = modelName
10 | self.tokenizer = AutoTokenizer.from_pretrained(self.modelName)
11 | self.model = AutoModelForCausalLM.from_pretrained(self.modelName)
12 |
13 | self.device = device
14 | self.model.to(self.device)
15 |
16 | def _generateRawNoStream(self, txt: str, batch_size=1, new_tokens=2000, temperature=0.86) -> str:
17 | inputs = torch.tensor(self.tokenizer.encode(txt)).unsqueeze(0)
18 | inputs = inputs.to(self.device)
19 | gen_length = len(inputs[0])
20 |
21 | print(txt)
22 |
23 | output = self.model.generate(
24 | inputs,
25 | max_length=gen_length + new_tokens,
26 | do_sample=True,
27 | temperature=temperature,
28 | top_p=1.0,
29 | repetition_penalty=1.0,
30 | top_k=20,
31 | num_return_sequences=batch_size,
32 | )
33 | decoded = self.tokenizer.batch_decode(output[:, inputs.shape[1]:])
34 | return decoded
35 |
36 | def _abridgeInputs(self, inputStr):
37 | parts = inputStr.split('|')
38 | textBeforeFirstPipe = parts[0].lower() + "|"
39 | parts = parts[1:]
40 | textBeforeLastPipe = '|'.join(parts[-200:])
41 | return textBeforeFirstPipe + textBeforeLastPipe
42 |
43 | def _formatMidiAndPrompt(self, prompt: str, midi: MIDI) -> str:
44 | formatted = f". {prompt} |{midi._getAIFormat()}"
45 | return formatted
46 |
47 | def continueMusic(self, prompt: str, midi: MIDI, batch_size=1, new_tokens=2000, temperature=0.86) -> list[MIDI]:
48 | formatted = self._formatMidiAndPrompt(prompt, midi)
49 | formatted = self._abridgeInputs(formatted)
50 | generations = self._generateRawNoStream(formatted, batch_size, new_tokens, temperature)
51 | midiConvertedGenerations = []
52 | for generation in generations:
53 | generation = generation[:generation.rfind("|")]
54 | midiAddedGeneration = copy.deepcopy(midi)
55 | midiAddedGeneration._appendAIToSelf(generation)
56 | midiConvertedGenerations.append(midiAddedGeneration)
57 | return midiConvertedGenerations
58 |
--------------------------------------------------------------------------------
/OpenMusenet3/src/OpenMusenet3/midi.py:
--------------------------------------------------------------------------------
1 | import mido
2 | import utils
3 | import copy
4 |
5 | # Mido objects, but with extra capibility added for OpenMusenet things
6 | class MIDI(mido.MidiFile):
7 | def __init__(self, filePath=""):
8 | if(filePath != ""):
9 | super().__init__(filePath)
10 | else:
11 | super().__init__()
12 | track = mido.MidiTrack()
13 | self.tracks.append(track)
14 | self._changeToTicksPerBeat(480)
15 |
16 | def _changeToTicksPerBeat(self, newTPB):
17 | for i, track in enumerate(self.tracks):
18 | for msg in track:
19 | msg.time = round(msg.time * (float(newTPB) / float(self.ticks_per_beat)))
20 | self.ticks_per_beat = newTPB
21 |
22 | """
23 | Get the MIDI in the format that the AI (OpenMusenet3) can understand
24 | """
25 | def _getAIFormat(self):
26 | class _Note:
27 | def __init__(self, msgOn, msgOff):
28 | self.note = msgOn.note
29 | self.length = msgOff.time - msgOn.time
30 | self.start = msgOn.time
31 | self.velocity = msgOn.velocity
32 | self.channel = msgOn.channel
33 | self.markedDuplicate = False
34 |
35 | def getChannelStrChar(self):
36 | return utils.toAIChannel(self.channel)
37 |
38 | def getDynamicsStrChar(self):
39 | return utils.toAIVelocity(self.velocity)
40 |
41 | class Notes:
42 | def __init__(self):
43 | self.notes = []
44 |
45 | def add(self, note):
46 | self.notes.append(note)
47 | """
48 | Convert to the AI's format,
49 | Also removes duplicate notes here (Notes with same channel that happen at the same time)
50 | """
51 | def toAIformat(self):
52 | aiStr = ""
53 | self.sort_notes()
54 | previousNoteStart = 0
55 | currentTimeNotes = []
56 | previousStartTimeGreaterThan0 = 0
57 | notesLen = len(self.notes)
58 | for noteIndex in range(notesLen):
59 | note = self.notes[noteIndex]
60 | for otherNote in currentTimeNotes:
61 | if otherNote.note == note.note and round(otherNote.start) == round(note.start) and (
62 | otherNote.channel == note.channel or (note.channel > 13 and otherNote.channel > 13)): #
63 | if (not otherNote.markedDuplicate):
64 | if (otherNote.length > note.length):
65 | note.markedDuplicate = True
66 | else:
67 | otherNote.markedDuplicate = True
68 |
69 | if note.start == previousNoteStart:
70 | currentTimeNotes.append(note)
71 | if note.start != previousNoteStart or noteIndex == notesLen - 1:
72 | currentTimeNoteTimeKeeper = previousStartTimeGreaterThan0
73 | for currentTimeNote in currentTimeNotes:
74 | if (not currentTimeNote.markedDuplicate):
75 | noteStr = \
76 | (str(round(currentTimeNote.start - currentTimeNoteTimeKeeper)) + str(
77 | currentTimeNote.getDynamicsStrChar()) + str(
78 | round(currentTimeNote.length)) + str(currentTimeNote.getChannelStrChar()) + str(
79 | currentTimeNote.note))
80 | currentTimeNoteTimeKeeper = currentTimeNote.start
81 | aiStr += noteStr + "|"
82 | currentTimeNotes = [note]
83 | # When the time increases from the previous note more than 0, like 240, it will reset the currentTimeNotes to just the current note since it is the start
84 | previousStartTimeGreaterThan0 = previousNoteStart
85 | previousNoteStart = note.start
86 | return aiStr
87 |
88 | def sort_notes(self):
89 | self.notes = sorted(self.notes, key=lambda note: note.start)
90 |
91 | tracksCopy = copy.deepcopy(self.tracks)
92 | notesOnCount = 0
93 | tempo = 0
94 | tickMultiplier = 480 / self.ticks_per_beat
95 | absoluteTime = 0
96 | notesOn = []
97 | notesIntermediateFormat = Notes()
98 |
99 |
100 |
101 | for i, track in enumerate(self.tracks):
102 | for msg in track:
103 | if str(type(msg)) == "":
104 | if msg.type == "note_off" or getattr(msg, "velocity", None) == 0:
105 | msg.time = msg.time * tickMultiplier
106 | absoluteTime += msg.time
107 | msg.time = absoluteTime
108 | for noteOn in range(len(notesOn) - 1, -1, -1):
109 | if notesOn[noteOn].channel == msg.channel:
110 | if notesOn[noteOn].note == msg.note:
111 | note = _Note(notesOn[noteOn], msg)
112 | notesIntermediateFormat.add(note)
113 | notesOn.pop(noteOn)
114 | break
115 | notesOnCount -= 1
116 | elif msg.type == "note_on":
117 | msg.time = msg.time * tickMultiplier
118 | absoluteTime += msg.time
119 | msg.time = absoluteTime
120 | notesOn.append(msg)
121 | notesOnCount += 1
122 | elif msg.type == "program_change":
123 | absoluteTime += msg.time * tickMultiplier
124 | else:
125 | try:
126 | absoluteTime += msg.time * tickMultiplier
127 | except:
128 | pass
129 | else:
130 | if msg.type == "track_name":
131 | absoluteTime = msg.time * tickMultiplier
132 | elif msg.type == "end_of_track":
133 | absoluteTime = 0
134 | else:
135 | try:
136 | absoluteTime += msg.time * tickMultiplier
137 | except:
138 | pass
139 | self.tracks = tracksCopy
140 | return notesIntermediateFormat.toAIformat()
141 | """
142 | Convert string of notes by AI into MIDO messages
143 | """
144 |
145 | def _getMostRecentNoteOnEventTick(self):
146 | mostRecentTick = 0
147 | for i, track in enumerate(self.tracks):
148 | for msg in track:
149 | if(msg.type == "note_on"):
150 | if msg.time > mostRecentTick:
151 | mostRecentTick = msg.time
152 | return mostRecentTick
153 |
154 | def createTrackIfNotExist(self, index):
155 | if len(self.tracks) <= index:
156 | for i in range(index - len(self.tracks) + 1):
157 | track = mido.MidiTrack()
158 | track.append(mido.MetaMessage('track_name', name='Test', time=0))
159 | #track.append(mido.MetaMessage('end_of_track', time=0))
160 | self.tracks.append(track)
161 |
162 | """
163 | Pretends all events are absolute
164 | """
165 | def _convertAllToAbsoluteTicks(self):
166 | absoluteTime = 0
167 | for i, track in enumerate(self.tracks):
168 | for msg in track:
169 | if msg.type == "track_name":
170 | absoluteTime = msg.time
171 | msg.time = absoluteTime
172 | elif msg.type == "end_of_track":
173 | absoluteTime = 0
174 | else:
175 | absoluteTime += msg.time
176 | msg.time = absoluteTime
177 |
178 | """
179 | Assuming events are all absolute, convert them to the normal mido delta time
180 | """
181 |
182 | def _convertAllToDeltaTicks(self):
183 | relativeTime = 0
184 | previousTime = 0
185 | for i, track in enumerate(self.tracks):
186 | for msg in track:
187 | if msg.type == "track_name":
188 | relativeTime = msg.time
189 | elif msg.type == "end_of_track":
190 | relativeTime = msg.time
191 | else:
192 | relativeTime = msg.time - previousTime
193 | previousTime = msg.time
194 | msg.time = relativeTime
195 |
196 | def _castTimesToInts(self):
197 | for track in self.tracks:
198 | for msg in track:
199 | msg.time = int(msg.time)
200 |
201 | def _appendAIToSelf(self, aiNotes):
202 | def _AIToMessage(aiNote: str):
203 | delimited = utils.parseNote(aiNote)
204 | return [
205 | mido.Message('note_on', note=delimited["note"], channel=delimited["track"],
206 | velocity=delimited["velocity"], time=0),
207 | mido.Message('note_off', note=delimited["note"], channel=delimited["track"], velocity=0,
208 | time=delimited["length"])
209 | ]
210 |
211 | self._convertAllToAbsoluteTicks()
212 |
213 | splitAINotes = aiNotes.split("|")
214 | events = []
215 | current_time = self._getMostRecentNoteOnEventTick()
216 |
217 | for aiNote in splitAINotes:
218 | if aiNote != "":
219 | note_events = _AIToMessage(aiNote)
220 | delimited = utils.parseNote(aiNote)
221 |
222 | # Adjust timing for note_on
223 | note_events[0].time = delimited["start"] + current_time
224 | note_events[1].time = delimited["start"] + delimited["length"] + current_time
225 | current_time += delimited["start"]
226 |
227 | # Add note_on event
228 | events.append(note_events[0])
229 |
230 | # Add note_off event
231 | events.append(note_events[1])
232 |
233 | # Sort events by time
234 | events.sort(key=lambda x: x.time)
235 |
236 | # Add events to the MIDI file
237 | for event in events:
238 | self.createTrackIfNotExist(event.channel)
239 |
240 | i = -1
241 | if(len(self.tracks[event.channel]) != 0):
242 | while self.tracks[event.channel][i].time > event.time or self.tracks[event.channel][i].type == "end_of_track":
243 | i-=1
244 | if(i == -1):
245 | self.tracks[event.channel].append(event)
246 | else:
247 | self.tracks[event.channel].insert(i+1, event)
248 |
249 | self._convertAllToDeltaTicks()
250 |
--------------------------------------------------------------------------------
/OpenMusenet2/Notebooks/Converters/midiFormater.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "id": "dh6dxXUkVfr_"
7 | },
8 | "source": [
9 | "**This program will parse your data of midi files into data readable by the ai**\n",
10 | "\n",
11 | "Note that before running this, make sure you have a dataset of midi files, I would recomend atleast ~10,000 for decent results, but that is assumming they are all imported correctly, so probably more like 80,000.\n",
12 | "\n",
13 | "For finetuning, you need signifigantly less. Probably 100-1000?"
14 | ]
15 | },
16 | {
17 | "cell_type": "markdown",
18 | "metadata": {
19 | "id": "aQIi8aKuVdjn"
20 | },
21 | "source": [
22 | "Import"
23 | ]
24 | },
25 | {
26 | "cell_type": "code",
27 | "execution_count": null,
28 | "metadata": {
29 | "id": "b7cUICfDnRTT"
30 | },
31 | "outputs": [],
32 | "source": [
33 | "!pip install py_midicsv\n",
34 | "!pip install mido"
35 | ]
36 | },
37 | {
38 | "cell_type": "code",
39 | "execution_count": null,
40 | "metadata": {
41 | "id": "GwWh05-S0Zks"
42 | },
43 | "outputs": [],
44 | "source": [
45 | "!rm -rf /content/music/"
46 | ]
47 | },
48 | {
49 | "cell_type": "markdown",
50 | "metadata": {
51 | "id": "5OZMYmT0VNh0"
52 | },
53 | "source": [
54 | "**Upload your zip file of midi files (all in root of zip) and rename to music.zip also create a folder under the same name in the content folder**\n",
55 | "Make sure that any midi files arent in a folder of a folder, they wont be found"
56 | ]
57 | },
58 | {
59 | "cell_type": "code",
60 | "execution_count": null,
61 | "metadata": {
62 | "id": "wPa9rdFktIBz"
63 | },
64 | "outputs": [],
65 | "source": [
66 | "!unzip /content/music.zip -d /content/music/"
67 | ]
68 | },
69 | {
70 | "cell_type": "code",
71 | "execution_count": null,
72 | "metadata": {
73 | "colab": {
74 | "base_uri": "https://localhost:8080/"
75 | },
76 | "id": "ixoo-HsrmfNX",
77 | "outputId": "bc76bbcb-d0e8-4fa9-e589-7ecbae84cb47"
78 | },
79 | "outputs": [
80 | {
81 | "name": "stdout",
82 | "output_type": "stream",
83 | "text": [
84 | "total 8.0K\n",
85 | "drwx------ 5 root root 4.0K Sep 3 12:46 drive\n",
86 | "drwxr-xr-x 1 root root 4.0K Aug 31 13:25 sample_data\n"
87 | ]
88 | }
89 | ],
90 | "source": [
91 | "!ls -lh"
92 | ]
93 | },
94 | {
95 | "cell_type": "code",
96 | "execution_count": null,
97 | "metadata": {
98 | "id": "zZihkXXWxYoo"
99 | },
100 | "outputs": [],
101 | "source": [
102 | "#@title # **Convert the dataset and make sure to change midi dir if you changed it above** *Also* you may get errors but its probably ok\n",
103 | "# Fogor to scan MID\n",
104 | "import py_midicsv as pm\n",
105 | "import os\n",
106 | "import re\n",
107 | "\n",
108 | "\n",
109 | "midi_dir = \"/content/MIDI/\" #@param {type:\"string\"}\n",
110 | "midi_files = [f for f in os.listdir(midi_dir) if f.endswith(('.mid', '.MID'))]\n",
111 | "csv_string = []\n",
112 | "\n",
113 | "def get_note_event(start, note, instrument, length, velocity):\n",
114 | " out_instrument = \"%\"\n",
115 | " match instrument:\n",
116 | " case 2:\n",
117 | " out_instrument = \"%\"\n",
118 | " case 3:\n",
119 | " out_instrument = \"^\"\n",
120 | " case 4:\n",
121 | " out_instrument = \"&\"\n",
122 | " case 5:\n",
123 | " out_instrument = \"*\"\n",
124 | " case 6:\n",
125 | " out_instrument = \"(\"\n",
126 | " case _:\n",
127 | " out_instrument = \"(\"\n",
128 | "\n",
129 | " if(int(instrument) in tracksThatAreDrums):\n",
130 | " out_instrument = \")\"\n",
131 | "\n",
132 | " dynamic = \"$\"\n",
133 | " if(velocity > 108):\n",
134 | " dynamic = \"$\"\n",
135 | " elif velocity > 74:\n",
136 | " dynamic = \"#\"\n",
137 | " elif velocity > 40:\n",
138 | " dynamic = \"@\"\n",
139 | " else:\n",
140 | " dynamic = \"!\"\n",
141 | "\n",
142 | " return [start, dynamic, length, out_instrument, note]\n",
143 | "\n",
144 | "def parse_split_csv_item(item):\n",
145 | " try:\n",
146 | " item[2] = item[2].replace(' ', '')\n",
147 | " item[0] = int(item[0])\n",
148 | " item[1] = int(item[1])\n",
149 | " item[3] = int(item[3])\n",
150 | " item[4] = int(item[4])\n",
151 | " item[5] = int(item[5])\n",
152 | " except:\n",
153 | " pass;\n",
154 | " return item\n",
155 | "\n",
156 | "# Load the MIDI file and parse it into CSV format\n",
157 | "numNotesInCsv = 0\n",
158 | "num_filesSoFar = 0\n",
159 | "current_is_mid_1 = True\n",
160 | "for midi_file in midi_files:\n",
161 | " csv_parsed = []\n",
162 | " midiSubdivision = 1\n",
163 | " try:\n",
164 | " lastNoteStart = 0\n",
165 | " csv_unparsed = pm.midi_to_csv(midi_dir + midi_file)\n",
166 | " notesPlaying = []\n",
167 | " tracksThatAreDrums = []\n",
168 | "\n",
169 | " for csv_item in csv_unparsed:\n",
170 | " split_csv_item = csv_item.split(',')\n",
171 | " split_csv_item = parse_split_csv_item(split_csv_item);\n",
172 | " match(split_csv_item[2]):\n",
173 | " case \"Control_c\":\n",
174 | " if(current_is_mid_1):\n",
175 | " # if 9th channel, then it is drums according to midi\n",
176 | " if(int(split_csv_item[3] )== 9):\n",
177 | " if(not (int(split_csv_item[0]) in tracksThatAreDrums)):\n",
178 | " tracksThatAreDrums.append(int(split_csv_item[0]))\n",
179 | " case \"Program_c\":\n",
180 | " if(not current_is_mid_1):\n",
181 | " if(int(split_csv_item[4] )== 127 or int(split_csv_item[4] )== 0):\n",
182 | " if(not (int(split_csv_item[3]) in tracksThatAreDrums)):\n",
183 | " tracksThatAreDrums.append(int(split_csv_item[3]))\n",
184 | "\n",
185 | " case \"Note_on_c\":\n",
186 | " toAdd = True\n",
187 | " for i in notesPlaying:\n",
188 | " if(i[4] == split_csv_item[4]):\n",
189 | " toAdd = False\n",
190 | " if toAdd:\n",
191 | " notesPlaying.append(split_csv_item)\n",
192 | " case \"Note_off_c\":\n",
193 | " # Find note that turning off\n",
194 | " i = 0\n",
195 | " while i < len(notesPlaying):\n",
196 | " if(current_is_mid_1):\n",
197 | " if(notesPlaying[i][4] == split_csv_item[4]):\n",
198 | " temp = get_note_event(int(notesPlaying[i][1] * midiSubdivision), split_csv_item[4], split_csv_item[0], int((split_csv_item[1] * midiSubdivision) - (notesPlaying[i][1] * midiSubdivision)), notesPlaying[i][5])\n",
199 | " csv_parsed.append(temp)\n",
200 | " lastNoteStart = notesPlaying[i][1] * midiSubdivision\n",
201 | " notesPlaying.pop(i)\n",
202 | " i-=1\n",
203 | " i+=1\n",
204 | " else:\n",
205 | " if(notesPlaying[i][4] == split_csv_item[4]):\n",
206 | " temp = get_note_event(int(notesPlaying[i][1] * midiSubdivision), split_csv_item[4], split_csv_item[3], int((split_csv_item[1] * midiSubdivision) - (notesPlaying[i][1] * midiSubdivision)), notesPlaying[i][5])\n",
207 | " csv_parsed.append(temp)\n",
208 | " lastNoteStart = notesPlaying[i][1] * midiSubdivision\n",
209 | " notesPlaying.pop(i)\n",
210 | " i-=1\n",
211 | " i+=1\n",
212 | " case \"Header\":\n",
213 | " if(int(split_csv_item[3]) == 0):\n",
214 | " current_is_mid_1 = False\n",
215 | " else:\n",
216 | " current_is_mid_1 = True\n",
217 | " midiSubdivision = 480 / float(split_csv_item[5])\n",
218 | "\n",
219 | " except Exception as e:\n",
220 | " print(e)\n",
221 | "\n",
222 | " # Change to be delta time instead of abs and sort time\n",
223 | " csv_parsed = sorted(csv_parsed, key=lambda x: x[0])\n",
224 | " for i in range(len(csv_parsed) - 1):\n",
225 | " csv_item_copy = csv_parsed[i].copy()\n",
226 | " if(i != 0):\n",
227 | " csv_item_copy[0] = csv_parsed[i][0] - csv_parsed[i - 1][0]\n",
228 | "\n",
229 | " # Also concat to csv_parsed\n",
230 | " for j in csv_item_copy:\n",
231 | " csv_string += str(j)\n",
232 | " csv_string += \"|\"\n",
233 | " numNotesInCsv+=1\n",
234 | " if(numNotesInCsv % 4000 == 0):\n",
235 | " csv_string += \"\\n\"\n",
236 | " csv_string += \"\\n\"\n",
237 | " num_filesSoFar+=1\n",
238 | " if(num_filesSoFar % 20000 == 0):\n",
239 | " with open(\"convertedData\"+str(num_filesSoFar)+\".txt\", \"w\") as f:\n",
240 | " f.writelines(csv_string)\n",
241 | " if(num_filesSoFar % 50 == 0):\n",
242 | " print(num_filesSoFar)\n",
243 | "\n",
244 | "#for i in range(0, len(csv_string), 1800):\n",
245 | "# csv_string[i] = \"\\n\"\n",
246 | "\n",
247 | "with open(\"convertedData.txt\", \"w\") as f:\n",
248 | " f.writelines(csv_string)\n",
249 | "\n",
250 | "with open(\"/content/drive/MyDrive/bignicedata.txt\", \"w\") as f:\n",
251 | " f.writelines(csv_string)"
252 | ]
253 | },
254 | {
255 | "cell_type": "markdown",
256 | "source": [
257 | "# Copy the generated data to your google drive"
258 | ],
259 | "metadata": {
260 | "id": "OFK92poUnYHN"
261 | }
262 | },
263 | {
264 | "cell_type": "code",
265 | "execution_count": null,
266 | "metadata": {
267 | "id": "xDvwh8WGmrjh"
268 | },
269 | "outputs": [],
270 | "source": [
271 | "!cp /content/convertedData.txt /content/drive/MyDrive/"
272 | ]
273 | }
274 | ],
275 | "metadata": {
276 | "colab": {
277 | "provenance": []
278 | },
279 | "gpuClass": "standard",
280 | "kernelspec": {
281 | "display_name": "Python 3",
282 | "name": "python3"
283 | },
284 | "language_info": {
285 | "name": "python"
286 | }
287 | },
288 | "nbformat": 4,
289 | "nbformat_minor": 0
290 | }
--------------------------------------------------------------------------------
/OpenMusenet3/OpenMusenet_3_notebook.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "provenance": [],
7 | "gpuType": "T4",
8 | "collapsed_sections": [
9 | "RGvk06H5QQyg",
10 | "HoiW2VxyaCCX",
11 | "FuOxFis7PsYX"
12 | ]
13 | },
14 | "kernelspec": {
15 | "name": "python3",
16 | "display_name": "Python 3"
17 | },
18 | "language_info": {
19 | "name": "python"
20 | },
21 | "accelerator": "GPU",
22 | "widgets": {
23 | "application/vnd.jupyter.widget-state+json": {
24 | "e8d3c13cb61e48ccabcb333854ac0f02": {
25 | "model_module": "@jupyter-widgets/controls",
26 | "model_name": "HBoxModel",
27 | "model_module_version": "1.5.0",
28 | "state": {
29 | "_dom_classes": [],
30 | "_model_module": "@jupyter-widgets/controls",
31 | "_model_module_version": "1.5.0",
32 | "_model_name": "HBoxModel",
33 | "_view_count": null,
34 | "_view_module": "@jupyter-widgets/controls",
35 | "_view_module_version": "1.5.0",
36 | "_view_name": "HBoxView",
37 | "box_style": "",
38 | "children": [
39 | "IPY_MODEL_12e8fdea3cad434a9cd1c1a65143de8d",
40 | "IPY_MODEL_8616c450dfbb44808823e554267c4363",
41 | "IPY_MODEL_7755709dc0e2426ca580797f0250f4ec"
42 | ],
43 | "layout": "IPY_MODEL_168573fe82f941acabaedfaf3eeae38a"
44 | }
45 | },
46 | "12e8fdea3cad434a9cd1c1a65143de8d": {
47 | "model_module": "@jupyter-widgets/controls",
48 | "model_name": "HTMLModel",
49 | "model_module_version": "1.5.0",
50 | "state": {
51 | "_dom_classes": [],
52 | "_model_module": "@jupyter-widgets/controls",
53 | "_model_module_version": "1.5.0",
54 | "_model_name": "HTMLModel",
55 | "_view_count": null,
56 | "_view_module": "@jupyter-widgets/controls",
57 | "_view_module_version": "1.5.0",
58 | "_view_name": "HTMLView",
59 | "description": "",
60 | "description_tooltip": null,
61 | "layout": "IPY_MODEL_dbc84ed6ccf147658500e4ad2048de36",
62 | "placeholder": "",
63 | "style": "IPY_MODEL_f7076582ee924a1281cf7756aad96419",
64 | "value": "tokenizer_config.json: 100%"
65 | }
66 | },
67 | "8616c450dfbb44808823e554267c4363": {
68 | "model_module": "@jupyter-widgets/controls",
69 | "model_name": "FloatProgressModel",
70 | "model_module_version": "1.5.0",
71 | "state": {
72 | "_dom_classes": [],
73 | "_model_module": "@jupyter-widgets/controls",
74 | "_model_module_version": "1.5.0",
75 | "_model_name": "FloatProgressModel",
76 | "_view_count": null,
77 | "_view_module": "@jupyter-widgets/controls",
78 | "_view_module_version": "1.5.0",
79 | "_view_name": "ProgressView",
80 | "bar_style": "success",
81 | "description": "",
82 | "description_tooltip": null,
83 | "layout": "IPY_MODEL_1ab1734fbb61468a9bcfaacfbd5f1a90",
84 | "max": 525,
85 | "min": 0,
86 | "orientation": "horizontal",
87 | "style": "IPY_MODEL_c917814187964ac0b003c1d700839ab8",
88 | "value": 525
89 | }
90 | },
91 | "7755709dc0e2426ca580797f0250f4ec": {
92 | "model_module": "@jupyter-widgets/controls",
93 | "model_name": "HTMLModel",
94 | "model_module_version": "1.5.0",
95 | "state": {
96 | "_dom_classes": [],
97 | "_model_module": "@jupyter-widgets/controls",
98 | "_model_module_version": "1.5.0",
99 | "_model_name": "HTMLModel",
100 | "_view_count": null,
101 | "_view_module": "@jupyter-widgets/controls",
102 | "_view_module_version": "1.5.0",
103 | "_view_name": "HTMLView",
104 | "description": "",
105 | "description_tooltip": null,
106 | "layout": "IPY_MODEL_306c2fd8b4d74972b29700917013cb86",
107 | "placeholder": "",
108 | "style": "IPY_MODEL_ffe6765abe424c4b8d3cdf697c8e797f",
109 | "value": " 525/525 [00:00<00:00, 56.0kB/s]"
110 | }
111 | },
112 | "168573fe82f941acabaedfaf3eeae38a": {
113 | "model_module": "@jupyter-widgets/base",
114 | "model_name": "LayoutModel",
115 | "model_module_version": "1.2.0",
116 | "state": {
117 | "_model_module": "@jupyter-widgets/base",
118 | "_model_module_version": "1.2.0",
119 | "_model_name": "LayoutModel",
120 | "_view_count": null,
121 | "_view_module": "@jupyter-widgets/base",
122 | "_view_module_version": "1.2.0",
123 | "_view_name": "LayoutView",
124 | "align_content": null,
125 | "align_items": null,
126 | "align_self": null,
127 | "border": null,
128 | "bottom": null,
129 | "display": null,
130 | "flex": null,
131 | "flex_flow": null,
132 | "grid_area": null,
133 | "grid_auto_columns": null,
134 | "grid_auto_flow": null,
135 | "grid_auto_rows": null,
136 | "grid_column": null,
137 | "grid_gap": null,
138 | "grid_row": null,
139 | "grid_template_areas": null,
140 | "grid_template_columns": null,
141 | "grid_template_rows": null,
142 | "height": null,
143 | "justify_content": null,
144 | "justify_items": null,
145 | "left": null,
146 | "margin": null,
147 | "max_height": null,
148 | "max_width": null,
149 | "min_height": null,
150 | "min_width": null,
151 | "object_fit": null,
152 | "object_position": null,
153 | "order": null,
154 | "overflow": null,
155 | "overflow_x": null,
156 | "overflow_y": null,
157 | "padding": null,
158 | "right": null,
159 | "top": null,
160 | "visibility": null,
161 | "width": null
162 | }
163 | },
164 | "dbc84ed6ccf147658500e4ad2048de36": {
165 | "model_module": "@jupyter-widgets/base",
166 | "model_name": "LayoutModel",
167 | "model_module_version": "1.2.0",
168 | "state": {
169 | "_model_module": "@jupyter-widgets/base",
170 | "_model_module_version": "1.2.0",
171 | "_model_name": "LayoutModel",
172 | "_view_count": null,
173 | "_view_module": "@jupyter-widgets/base",
174 | "_view_module_version": "1.2.0",
175 | "_view_name": "LayoutView",
176 | "align_content": null,
177 | "align_items": null,
178 | "align_self": null,
179 | "border": null,
180 | "bottom": null,
181 | "display": null,
182 | "flex": null,
183 | "flex_flow": null,
184 | "grid_area": null,
185 | "grid_auto_columns": null,
186 | "grid_auto_flow": null,
187 | "grid_auto_rows": null,
188 | "grid_column": null,
189 | "grid_gap": null,
190 | "grid_row": null,
191 | "grid_template_areas": null,
192 | "grid_template_columns": null,
193 | "grid_template_rows": null,
194 | "height": null,
195 | "justify_content": null,
196 | "justify_items": null,
197 | "left": null,
198 | "margin": null,
199 | "max_height": null,
200 | "max_width": null,
201 | "min_height": null,
202 | "min_width": null,
203 | "object_fit": null,
204 | "object_position": null,
205 | "order": null,
206 | "overflow": null,
207 | "overflow_x": null,
208 | "overflow_y": null,
209 | "padding": null,
210 | "right": null,
211 | "top": null,
212 | "visibility": null,
213 | "width": null
214 | }
215 | },
216 | "f7076582ee924a1281cf7756aad96419": {
217 | "model_module": "@jupyter-widgets/controls",
218 | "model_name": "DescriptionStyleModel",
219 | "model_module_version": "1.5.0",
220 | "state": {
221 | "_model_module": "@jupyter-widgets/controls",
222 | "_model_module_version": "1.5.0",
223 | "_model_name": "DescriptionStyleModel",
224 | "_view_count": null,
225 | "_view_module": "@jupyter-widgets/base",
226 | "_view_module_version": "1.2.0",
227 | "_view_name": "StyleView",
228 | "description_width": ""
229 | }
230 | },
231 | "1ab1734fbb61468a9bcfaacfbd5f1a90": {
232 | "model_module": "@jupyter-widgets/base",
233 | "model_name": "LayoutModel",
234 | "model_module_version": "1.2.0",
235 | "state": {
236 | "_model_module": "@jupyter-widgets/base",
237 | "_model_module_version": "1.2.0",
238 | "_model_name": "LayoutModel",
239 | "_view_count": null,
240 | "_view_module": "@jupyter-widgets/base",
241 | "_view_module_version": "1.2.0",
242 | "_view_name": "LayoutView",
243 | "align_content": null,
244 | "align_items": null,
245 | "align_self": null,
246 | "border": null,
247 | "bottom": null,
248 | "display": null,
249 | "flex": null,
250 | "flex_flow": null,
251 | "grid_area": null,
252 | "grid_auto_columns": null,
253 | "grid_auto_flow": null,
254 | "grid_auto_rows": null,
255 | "grid_column": null,
256 | "grid_gap": null,
257 | "grid_row": null,
258 | "grid_template_areas": null,
259 | "grid_template_columns": null,
260 | "grid_template_rows": null,
261 | "height": null,
262 | "justify_content": null,
263 | "justify_items": null,
264 | "left": null,
265 | "margin": null,
266 | "max_height": null,
267 | "max_width": null,
268 | "min_height": null,
269 | "min_width": null,
270 | "object_fit": null,
271 | "object_position": null,
272 | "order": null,
273 | "overflow": null,
274 | "overflow_x": null,
275 | "overflow_y": null,
276 | "padding": null,
277 | "right": null,
278 | "top": null,
279 | "visibility": null,
280 | "width": null
281 | }
282 | },
283 | "c917814187964ac0b003c1d700839ab8": {
284 | "model_module": "@jupyter-widgets/controls",
285 | "model_name": "ProgressStyleModel",
286 | "model_module_version": "1.5.0",
287 | "state": {
288 | "_model_module": "@jupyter-widgets/controls",
289 | "_model_module_version": "1.5.0",
290 | "_model_name": "ProgressStyleModel",
291 | "_view_count": null,
292 | "_view_module": "@jupyter-widgets/base",
293 | "_view_module_version": "1.2.0",
294 | "_view_name": "StyleView",
295 | "bar_color": null,
296 | "description_width": ""
297 | }
298 | },
299 | "306c2fd8b4d74972b29700917013cb86": {
300 | "model_module": "@jupyter-widgets/base",
301 | "model_name": "LayoutModel",
302 | "model_module_version": "1.2.0",
303 | "state": {
304 | "_model_module": "@jupyter-widgets/base",
305 | "_model_module_version": "1.2.0",
306 | "_model_name": "LayoutModel",
307 | "_view_count": null,
308 | "_view_module": "@jupyter-widgets/base",
309 | "_view_module_version": "1.2.0",
310 | "_view_name": "LayoutView",
311 | "align_content": null,
312 | "align_items": null,
313 | "align_self": null,
314 | "border": null,
315 | "bottom": null,
316 | "display": null,
317 | "flex": null,
318 | "flex_flow": null,
319 | "grid_area": null,
320 | "grid_auto_columns": null,
321 | "grid_auto_flow": null,
322 | "grid_auto_rows": null,
323 | "grid_column": null,
324 | "grid_gap": null,
325 | "grid_row": null,
326 | "grid_template_areas": null,
327 | "grid_template_columns": null,
328 | "grid_template_rows": null,
329 | "height": null,
330 | "justify_content": null,
331 | "justify_items": null,
332 | "left": null,
333 | "margin": null,
334 | "max_height": null,
335 | "max_width": null,
336 | "min_height": null,
337 | "min_width": null,
338 | "object_fit": null,
339 | "object_position": null,
340 | "order": null,
341 | "overflow": null,
342 | "overflow_x": null,
343 | "overflow_y": null,
344 | "padding": null,
345 | "right": null,
346 | "top": null,
347 | "visibility": null,
348 | "width": null
349 | }
350 | },
351 | "ffe6765abe424c4b8d3cdf697c8e797f": {
352 | "model_module": "@jupyter-widgets/controls",
353 | "model_name": "DescriptionStyleModel",
354 | "model_module_version": "1.5.0",
355 | "state": {
356 | "_model_module": "@jupyter-widgets/controls",
357 | "_model_module_version": "1.5.0",
358 | "_model_name": "DescriptionStyleModel",
359 | "_view_count": null,
360 | "_view_module": "@jupyter-widgets/base",
361 | "_view_module_version": "1.2.0",
362 | "_view_name": "StyleView",
363 | "description_width": ""
364 | }
365 | },
366 | "79232d638c2744798d39fe139bdd3752": {
367 | "model_module": "@jupyter-widgets/controls",
368 | "model_name": "HBoxModel",
369 | "model_module_version": "1.5.0",
370 | "state": {
371 | "_dom_classes": [],
372 | "_model_module": "@jupyter-widgets/controls",
373 | "_model_module_version": "1.5.0",
374 | "_model_name": "HBoxModel",
375 | "_view_count": null,
376 | "_view_module": "@jupyter-widgets/controls",
377 | "_view_module_version": "1.5.0",
378 | "_view_name": "HBoxView",
379 | "box_style": "",
380 | "children": [
381 | "IPY_MODEL_4c31b99a99a941e48b5cc790e055b59a",
382 | "IPY_MODEL_f1412c286a9648debd2b33576aaa6f62",
383 | "IPY_MODEL_c625cf48beee4230a5fc0b38cde1de6b"
384 | ],
385 | "layout": "IPY_MODEL_51983ce5278543dfba7ff4a954a7896d"
386 | }
387 | },
388 | "4c31b99a99a941e48b5cc790e055b59a": {
389 | "model_module": "@jupyter-widgets/controls",
390 | "model_name": "HTMLModel",
391 | "model_module_version": "1.5.0",
392 | "state": {
393 | "_dom_classes": [],
394 | "_model_module": "@jupyter-widgets/controls",
395 | "_model_module_version": "1.5.0",
396 | "_model_name": "HTMLModel",
397 | "_view_count": null,
398 | "_view_module": "@jupyter-widgets/controls",
399 | "_view_module_version": "1.5.0",
400 | "_view_name": "HTMLView",
401 | "description": "",
402 | "description_tooltip": null,
403 | "layout": "IPY_MODEL_2741ceebee32454386a10f7919173859",
404 | "placeholder": "",
405 | "style": "IPY_MODEL_c9e3f9db2ac64a38b73ded85506901ec",
406 | "value": "vocab.json: 100%"
407 | }
408 | },
409 | "f1412c286a9648debd2b33576aaa6f62": {
410 | "model_module": "@jupyter-widgets/controls",
411 | "model_name": "FloatProgressModel",
412 | "model_module_version": "1.5.0",
413 | "state": {
414 | "_dom_classes": [],
415 | "_model_module": "@jupyter-widgets/controls",
416 | "_model_module_version": "1.5.0",
417 | "_model_name": "FloatProgressModel",
418 | "_view_count": null,
419 | "_view_module": "@jupyter-widgets/controls",
420 | "_view_module_version": "1.5.0",
421 | "_view_name": "ProgressView",
422 | "bar_style": "success",
423 | "description": "",
424 | "description_tooltip": null,
425 | "layout": "IPY_MODEL_80071bfa1ffc4a6babd1bf2f0039108f",
426 | "max": 999186,
427 | "min": 0,
428 | "orientation": "horizontal",
429 | "style": "IPY_MODEL_8b02a148839e45889f76644f4e503bb3",
430 | "value": 999186
431 | }
432 | },
433 | "c625cf48beee4230a5fc0b38cde1de6b": {
434 | "model_module": "@jupyter-widgets/controls",
435 | "model_name": "HTMLModel",
436 | "model_module_version": "1.5.0",
437 | "state": {
438 | "_dom_classes": [],
439 | "_model_module": "@jupyter-widgets/controls",
440 | "_model_module_version": "1.5.0",
441 | "_model_name": "HTMLModel",
442 | "_view_count": null,
443 | "_view_module": "@jupyter-widgets/controls",
444 | "_view_module_version": "1.5.0",
445 | "_view_name": "HTMLView",
446 | "description": "",
447 | "description_tooltip": null,
448 | "layout": "IPY_MODEL_b49f7f62f4014374ad079bb966116884",
449 | "placeholder": "",
450 | "style": "IPY_MODEL_433389a888c2428191ab6cd0800d2e2f",
451 | "value": " 999k/999k [00:00<00:00, 3.95MB/s]"
452 | }
453 | },
454 | "51983ce5278543dfba7ff4a954a7896d": {
455 | "model_module": "@jupyter-widgets/base",
456 | "model_name": "LayoutModel",
457 | "model_module_version": "1.2.0",
458 | "state": {
459 | "_model_module": "@jupyter-widgets/base",
460 | "_model_module_version": "1.2.0",
461 | "_model_name": "LayoutModel",
462 | "_view_count": null,
463 | "_view_module": "@jupyter-widgets/base",
464 | "_view_module_version": "1.2.0",
465 | "_view_name": "LayoutView",
466 | "align_content": null,
467 | "align_items": null,
468 | "align_self": null,
469 | "border": null,
470 | "bottom": null,
471 | "display": null,
472 | "flex": null,
473 | "flex_flow": null,
474 | "grid_area": null,
475 | "grid_auto_columns": null,
476 | "grid_auto_flow": null,
477 | "grid_auto_rows": null,
478 | "grid_column": null,
479 | "grid_gap": null,
480 | "grid_row": null,
481 | "grid_template_areas": null,
482 | "grid_template_columns": null,
483 | "grid_template_rows": null,
484 | "height": null,
485 | "justify_content": null,
486 | "justify_items": null,
487 | "left": null,
488 | "margin": null,
489 | "max_height": null,
490 | "max_width": null,
491 | "min_height": null,
492 | "min_width": null,
493 | "object_fit": null,
494 | "object_position": null,
495 | "order": null,
496 | "overflow": null,
497 | "overflow_x": null,
498 | "overflow_y": null,
499 | "padding": null,
500 | "right": null,
501 | "top": null,
502 | "visibility": null,
503 | "width": null
504 | }
505 | },
506 | "2741ceebee32454386a10f7919173859": {
507 | "model_module": "@jupyter-widgets/base",
508 | "model_name": "LayoutModel",
509 | "model_module_version": "1.2.0",
510 | "state": {
511 | "_model_module": "@jupyter-widgets/base",
512 | "_model_module_version": "1.2.0",
513 | "_model_name": "LayoutModel",
514 | "_view_count": null,
515 | "_view_module": "@jupyter-widgets/base",
516 | "_view_module_version": "1.2.0",
517 | "_view_name": "LayoutView",
518 | "align_content": null,
519 | "align_items": null,
520 | "align_self": null,
521 | "border": null,
522 | "bottom": null,
523 | "display": null,
524 | "flex": null,
525 | "flex_flow": null,
526 | "grid_area": null,
527 | "grid_auto_columns": null,
528 | "grid_auto_flow": null,
529 | "grid_auto_rows": null,
530 | "grid_column": null,
531 | "grid_gap": null,
532 | "grid_row": null,
533 | "grid_template_areas": null,
534 | "grid_template_columns": null,
535 | "grid_template_rows": null,
536 | "height": null,
537 | "justify_content": null,
538 | "justify_items": null,
539 | "left": null,
540 | "margin": null,
541 | "max_height": null,
542 | "max_width": null,
543 | "min_height": null,
544 | "min_width": null,
545 | "object_fit": null,
546 | "object_position": null,
547 | "order": null,
548 | "overflow": null,
549 | "overflow_x": null,
550 | "overflow_y": null,
551 | "padding": null,
552 | "right": null,
553 | "top": null,
554 | "visibility": null,
555 | "width": null
556 | }
557 | },
558 | "c9e3f9db2ac64a38b73ded85506901ec": {
559 | "model_module": "@jupyter-widgets/controls",
560 | "model_name": "DescriptionStyleModel",
561 | "model_module_version": "1.5.0",
562 | "state": {
563 | "_model_module": "@jupyter-widgets/controls",
564 | "_model_module_version": "1.5.0",
565 | "_model_name": "DescriptionStyleModel",
566 | "_view_count": null,
567 | "_view_module": "@jupyter-widgets/base",
568 | "_view_module_version": "1.2.0",
569 | "_view_name": "StyleView",
570 | "description_width": ""
571 | }
572 | },
573 | "80071bfa1ffc4a6babd1bf2f0039108f": {
574 | "model_module": "@jupyter-widgets/base",
575 | "model_name": "LayoutModel",
576 | "model_module_version": "1.2.0",
577 | "state": {
578 | "_model_module": "@jupyter-widgets/base",
579 | "_model_module_version": "1.2.0",
580 | "_model_name": "LayoutModel",
581 | "_view_count": null,
582 | "_view_module": "@jupyter-widgets/base",
583 | "_view_module_version": "1.2.0",
584 | "_view_name": "LayoutView",
585 | "align_content": null,
586 | "align_items": null,
587 | "align_self": null,
588 | "border": null,
589 | "bottom": null,
590 | "display": null,
591 | "flex": null,
592 | "flex_flow": null,
593 | "grid_area": null,
594 | "grid_auto_columns": null,
595 | "grid_auto_flow": null,
596 | "grid_auto_rows": null,
597 | "grid_column": null,
598 | "grid_gap": null,
599 | "grid_row": null,
600 | "grid_template_areas": null,
601 | "grid_template_columns": null,
602 | "grid_template_rows": null,
603 | "height": null,
604 | "justify_content": null,
605 | "justify_items": null,
606 | "left": null,
607 | "margin": null,
608 | "max_height": null,
609 | "max_width": null,
610 | "min_height": null,
611 | "min_width": null,
612 | "object_fit": null,
613 | "object_position": null,
614 | "order": null,
615 | "overflow": null,
616 | "overflow_x": null,
617 | "overflow_y": null,
618 | "padding": null,
619 | "right": null,
620 | "top": null,
621 | "visibility": null,
622 | "width": null
623 | }
624 | },
625 | "8b02a148839e45889f76644f4e503bb3": {
626 | "model_module": "@jupyter-widgets/controls",
627 | "model_name": "ProgressStyleModel",
628 | "model_module_version": "1.5.0",
629 | "state": {
630 | "_model_module": "@jupyter-widgets/controls",
631 | "_model_module_version": "1.5.0",
632 | "_model_name": "ProgressStyleModel",
633 | "_view_count": null,
634 | "_view_module": "@jupyter-widgets/base",
635 | "_view_module_version": "1.2.0",
636 | "_view_name": "StyleView",
637 | "bar_color": null,
638 | "description_width": ""
639 | }
640 | },
641 | "b49f7f62f4014374ad079bb966116884": {
642 | "model_module": "@jupyter-widgets/base",
643 | "model_name": "LayoutModel",
644 | "model_module_version": "1.2.0",
645 | "state": {
646 | "_model_module": "@jupyter-widgets/base",
647 | "_model_module_version": "1.2.0",
648 | "_model_name": "LayoutModel",
649 | "_view_count": null,
650 | "_view_module": "@jupyter-widgets/base",
651 | "_view_module_version": "1.2.0",
652 | "_view_name": "LayoutView",
653 | "align_content": null,
654 | "align_items": null,
655 | "align_self": null,
656 | "border": null,
657 | "bottom": null,
658 | "display": null,
659 | "flex": null,
660 | "flex_flow": null,
661 | "grid_area": null,
662 | "grid_auto_columns": null,
663 | "grid_auto_flow": null,
664 | "grid_auto_rows": null,
665 | "grid_column": null,
666 | "grid_gap": null,
667 | "grid_row": null,
668 | "grid_template_areas": null,
669 | "grid_template_columns": null,
670 | "grid_template_rows": null,
671 | "height": null,
672 | "justify_content": null,
673 | "justify_items": null,
674 | "left": null,
675 | "margin": null,
676 | "max_height": null,
677 | "max_width": null,
678 | "min_height": null,
679 | "min_width": null,
680 | "object_fit": null,
681 | "object_position": null,
682 | "order": null,
683 | "overflow": null,
684 | "overflow_x": null,
685 | "overflow_y": null,
686 | "padding": null,
687 | "right": null,
688 | "top": null,
689 | "visibility": null,
690 | "width": null
691 | }
692 | },
693 | "433389a888c2428191ab6cd0800d2e2f": {
694 | "model_module": "@jupyter-widgets/controls",
695 | "model_name": "DescriptionStyleModel",
696 | "model_module_version": "1.5.0",
697 | "state": {
698 | "_model_module": "@jupyter-widgets/controls",
699 | "_model_module_version": "1.5.0",
700 | "_model_name": "DescriptionStyleModel",
701 | "_view_count": null,
702 | "_view_module": "@jupyter-widgets/base",
703 | "_view_module_version": "1.2.0",
704 | "_view_name": "StyleView",
705 | "description_width": ""
706 | }
707 | },
708 | "b19b79cb5c5d48c9bf4da1a56eb0498d": {
709 | "model_module": "@jupyter-widgets/controls",
710 | "model_name": "HBoxModel",
711 | "model_module_version": "1.5.0",
712 | "state": {
713 | "_dom_classes": [],
714 | "_model_module": "@jupyter-widgets/controls",
715 | "_model_module_version": "1.5.0",
716 | "_model_name": "HBoxModel",
717 | "_view_count": null,
718 | "_view_module": "@jupyter-widgets/controls",
719 | "_view_module_version": "1.5.0",
720 | "_view_name": "HBoxView",
721 | "box_style": "",
722 | "children": [
723 | "IPY_MODEL_f90978bd4b744ed092ebad23c5eff5d0",
724 | "IPY_MODEL_d6349bb74c5c41a0a1c6bb1eae1ee6c2",
725 | "IPY_MODEL_54340e1dca7242d6b6d40347288e44bf"
726 | ],
727 | "layout": "IPY_MODEL_e4b9f34bfead41f48eadd4525828c5d8"
728 | }
729 | },
730 | "f90978bd4b744ed092ebad23c5eff5d0": {
731 | "model_module": "@jupyter-widgets/controls",
732 | "model_name": "HTMLModel",
733 | "model_module_version": "1.5.0",
734 | "state": {
735 | "_dom_classes": [],
736 | "_model_module": "@jupyter-widgets/controls",
737 | "_model_module_version": "1.5.0",
738 | "_model_name": "HTMLModel",
739 | "_view_count": null,
740 | "_view_module": "@jupyter-widgets/controls",
741 | "_view_module_version": "1.5.0",
742 | "_view_name": "HTMLView",
743 | "description": "",
744 | "description_tooltip": null,
745 | "layout": "IPY_MODEL_a95e7cb77c6a4e64932482dda4247568",
746 | "placeholder": "",
747 | "style": "IPY_MODEL_87c115c6ce2e4cae828430d9f9f2dd68",
748 | "value": "merges.txt: 100%"
749 | }
750 | },
751 | "d6349bb74c5c41a0a1c6bb1eae1ee6c2": {
752 | "model_module": "@jupyter-widgets/controls",
753 | "model_name": "FloatProgressModel",
754 | "model_module_version": "1.5.0",
755 | "state": {
756 | "_dom_classes": [],
757 | "_model_module": "@jupyter-widgets/controls",
758 | "_model_module_version": "1.5.0",
759 | "_model_name": "FloatProgressModel",
760 | "_view_count": null,
761 | "_view_module": "@jupyter-widgets/controls",
762 | "_view_module_version": "1.5.0",
763 | "_view_name": "ProgressView",
764 | "bar_style": "success",
765 | "description": "",
766 | "description_tooltip": null,
767 | "layout": "IPY_MODEL_7d57fac54fa241e5b18e906ad19187d1",
768 | "max": 456318,
769 | "min": 0,
770 | "orientation": "horizontal",
771 | "style": "IPY_MODEL_179e98a15f074be29badddcbf5c57154",
772 | "value": 456318
773 | }
774 | },
775 | "54340e1dca7242d6b6d40347288e44bf": {
776 | "model_module": "@jupyter-widgets/controls",
777 | "model_name": "HTMLModel",
778 | "model_module_version": "1.5.0",
779 | "state": {
780 | "_dom_classes": [],
781 | "_model_module": "@jupyter-widgets/controls",
782 | "_model_module_version": "1.5.0",
783 | "_model_name": "HTMLModel",
784 | "_view_count": null,
785 | "_view_module": "@jupyter-widgets/controls",
786 | "_view_module_version": "1.5.0",
787 | "_view_name": "HTMLView",
788 | "description": "",
789 | "description_tooltip": null,
790 | "layout": "IPY_MODEL_5be8c7b6d69246c98eca5e92d1ea8ceb",
791 | "placeholder": "",
792 | "style": "IPY_MODEL_ef03cee926e6444d8a839b74523efe77",
793 | "value": " 456k/456k [00:00<00:00, 3.20MB/s]"
794 | }
795 | },
796 | "e4b9f34bfead41f48eadd4525828c5d8": {
797 | "model_module": "@jupyter-widgets/base",
798 | "model_name": "LayoutModel",
799 | "model_module_version": "1.2.0",
800 | "state": {
801 | "_model_module": "@jupyter-widgets/base",
802 | "_model_module_version": "1.2.0",
803 | "_model_name": "LayoutModel",
804 | "_view_count": null,
805 | "_view_module": "@jupyter-widgets/base",
806 | "_view_module_version": "1.2.0",
807 | "_view_name": "LayoutView",
808 | "align_content": null,
809 | "align_items": null,
810 | "align_self": null,
811 | "border": null,
812 | "bottom": null,
813 | "display": null,
814 | "flex": null,
815 | "flex_flow": null,
816 | "grid_area": null,
817 | "grid_auto_columns": null,
818 | "grid_auto_flow": null,
819 | "grid_auto_rows": null,
820 | "grid_column": null,
821 | "grid_gap": null,
822 | "grid_row": null,
823 | "grid_template_areas": null,
824 | "grid_template_columns": null,
825 | "grid_template_rows": null,
826 | "height": null,
827 | "justify_content": null,
828 | "justify_items": null,
829 | "left": null,
830 | "margin": null,
831 | "max_height": null,
832 | "max_width": null,
833 | "min_height": null,
834 | "min_width": null,
835 | "object_fit": null,
836 | "object_position": null,
837 | "order": null,
838 | "overflow": null,
839 | "overflow_x": null,
840 | "overflow_y": null,
841 | "padding": null,
842 | "right": null,
843 | "top": null,
844 | "visibility": null,
845 | "width": null
846 | }
847 | },
848 | "a95e7cb77c6a4e64932482dda4247568": {
849 | "model_module": "@jupyter-widgets/base",
850 | "model_name": "LayoutModel",
851 | "model_module_version": "1.2.0",
852 | "state": {
853 | "_model_module": "@jupyter-widgets/base",
854 | "_model_module_version": "1.2.0",
855 | "_model_name": "LayoutModel",
856 | "_view_count": null,
857 | "_view_module": "@jupyter-widgets/base",
858 | "_view_module_version": "1.2.0",
859 | "_view_name": "LayoutView",
860 | "align_content": null,
861 | "align_items": null,
862 | "align_self": null,
863 | "border": null,
864 | "bottom": null,
865 | "display": null,
866 | "flex": null,
867 | "flex_flow": null,
868 | "grid_area": null,
869 | "grid_auto_columns": null,
870 | "grid_auto_flow": null,
871 | "grid_auto_rows": null,
872 | "grid_column": null,
873 | "grid_gap": null,
874 | "grid_row": null,
875 | "grid_template_areas": null,
876 | "grid_template_columns": null,
877 | "grid_template_rows": null,
878 | "height": null,
879 | "justify_content": null,
880 | "justify_items": null,
881 | "left": null,
882 | "margin": null,
883 | "max_height": null,
884 | "max_width": null,
885 | "min_height": null,
886 | "min_width": null,
887 | "object_fit": null,
888 | "object_position": null,
889 | "order": null,
890 | "overflow": null,
891 | "overflow_x": null,
892 | "overflow_y": null,
893 | "padding": null,
894 | "right": null,
895 | "top": null,
896 | "visibility": null,
897 | "width": null
898 | }
899 | },
900 | "87c115c6ce2e4cae828430d9f9f2dd68": {
901 | "model_module": "@jupyter-widgets/controls",
902 | "model_name": "DescriptionStyleModel",
903 | "model_module_version": "1.5.0",
904 | "state": {
905 | "_model_module": "@jupyter-widgets/controls",
906 | "_model_module_version": "1.5.0",
907 | "_model_name": "DescriptionStyleModel",
908 | "_view_count": null,
909 | "_view_module": "@jupyter-widgets/base",
910 | "_view_module_version": "1.2.0",
911 | "_view_name": "StyleView",
912 | "description_width": ""
913 | }
914 | },
915 | "7d57fac54fa241e5b18e906ad19187d1": {
916 | "model_module": "@jupyter-widgets/base",
917 | "model_name": "LayoutModel",
918 | "model_module_version": "1.2.0",
919 | "state": {
920 | "_model_module": "@jupyter-widgets/base",
921 | "_model_module_version": "1.2.0",
922 | "_model_name": "LayoutModel",
923 | "_view_count": null,
924 | "_view_module": "@jupyter-widgets/base",
925 | "_view_module_version": "1.2.0",
926 | "_view_name": "LayoutView",
927 | "align_content": null,
928 | "align_items": null,
929 | "align_self": null,
930 | "border": null,
931 | "bottom": null,
932 | "display": null,
933 | "flex": null,
934 | "flex_flow": null,
935 | "grid_area": null,
936 | "grid_auto_columns": null,
937 | "grid_auto_flow": null,
938 | "grid_auto_rows": null,
939 | "grid_column": null,
940 | "grid_gap": null,
941 | "grid_row": null,
942 | "grid_template_areas": null,
943 | "grid_template_columns": null,
944 | "grid_template_rows": null,
945 | "height": null,
946 | "justify_content": null,
947 | "justify_items": null,
948 | "left": null,
949 | "margin": null,
950 | "max_height": null,
951 | "max_width": null,
952 | "min_height": null,
953 | "min_width": null,
954 | "object_fit": null,
955 | "object_position": null,
956 | "order": null,
957 | "overflow": null,
958 | "overflow_x": null,
959 | "overflow_y": null,
960 | "padding": null,
961 | "right": null,
962 | "top": null,
963 | "visibility": null,
964 | "width": null
965 | }
966 | },
967 | "179e98a15f074be29badddcbf5c57154": {
968 | "model_module": "@jupyter-widgets/controls",
969 | "model_name": "ProgressStyleModel",
970 | "model_module_version": "1.5.0",
971 | "state": {
972 | "_model_module": "@jupyter-widgets/controls",
973 | "_model_module_version": "1.5.0",
974 | "_model_name": "ProgressStyleModel",
975 | "_view_count": null,
976 | "_view_module": "@jupyter-widgets/base",
977 | "_view_module_version": "1.2.0",
978 | "_view_name": "StyleView",
979 | "bar_color": null,
980 | "description_width": ""
981 | }
982 | },
983 | "5be8c7b6d69246c98eca5e92d1ea8ceb": {
984 | "model_module": "@jupyter-widgets/base",
985 | "model_name": "LayoutModel",
986 | "model_module_version": "1.2.0",
987 | "state": {
988 | "_model_module": "@jupyter-widgets/base",
989 | "_model_module_version": "1.2.0",
990 | "_model_name": "LayoutModel",
991 | "_view_count": null,
992 | "_view_module": "@jupyter-widgets/base",
993 | "_view_module_version": "1.2.0",
994 | "_view_name": "LayoutView",
995 | "align_content": null,
996 | "align_items": null,
997 | "align_self": null,
998 | "border": null,
999 | "bottom": null,
1000 | "display": null,
1001 | "flex": null,
1002 | "flex_flow": null,
1003 | "grid_area": null,
1004 | "grid_auto_columns": null,
1005 | "grid_auto_flow": null,
1006 | "grid_auto_rows": null,
1007 | "grid_column": null,
1008 | "grid_gap": null,
1009 | "grid_row": null,
1010 | "grid_template_areas": null,
1011 | "grid_template_columns": null,
1012 | "grid_template_rows": null,
1013 | "height": null,
1014 | "justify_content": null,
1015 | "justify_items": null,
1016 | "left": null,
1017 | "margin": null,
1018 | "max_height": null,
1019 | "max_width": null,
1020 | "min_height": null,
1021 | "min_width": null,
1022 | "object_fit": null,
1023 | "object_position": null,
1024 | "order": null,
1025 | "overflow": null,
1026 | "overflow_x": null,
1027 | "overflow_y": null,
1028 | "padding": null,
1029 | "right": null,
1030 | "top": null,
1031 | "visibility": null,
1032 | "width": null
1033 | }
1034 | },
1035 | "ef03cee926e6444d8a839b74523efe77": {
1036 | "model_module": "@jupyter-widgets/controls",
1037 | "model_name": "DescriptionStyleModel",
1038 | "model_module_version": "1.5.0",
1039 | "state": {
1040 | "_model_module": "@jupyter-widgets/controls",
1041 | "_model_module_version": "1.5.0",
1042 | "_model_name": "DescriptionStyleModel",
1043 | "_view_count": null,
1044 | "_view_module": "@jupyter-widgets/base",
1045 | "_view_module_version": "1.2.0",
1046 | "_view_name": "StyleView",
1047 | "description_width": ""
1048 | }
1049 | },
1050 | "2fd828ea964b45629572d948b2c3aec9": {
1051 | "model_module": "@jupyter-widgets/controls",
1052 | "model_name": "HBoxModel",
1053 | "model_module_version": "1.5.0",
1054 | "state": {
1055 | "_dom_classes": [],
1056 | "_model_module": "@jupyter-widgets/controls",
1057 | "_model_module_version": "1.5.0",
1058 | "_model_name": "HBoxModel",
1059 | "_view_count": null,
1060 | "_view_module": "@jupyter-widgets/controls",
1061 | "_view_module_version": "1.5.0",
1062 | "_view_name": "HBoxView",
1063 | "box_style": "",
1064 | "children": [
1065 | "IPY_MODEL_c9a1f2db19ae4b5a93c6fb10cb5d36d2",
1066 | "IPY_MODEL_5181701448f041a597007cfe001b21db",
1067 | "IPY_MODEL_f852f2e1e11b4a009ea9fcfc0f30c882"
1068 | ],
1069 | "layout": "IPY_MODEL_73da1cab7da84a77885084b29bb58bee"
1070 | }
1071 | },
1072 | "c9a1f2db19ae4b5a93c6fb10cb5d36d2": {
1073 | "model_module": "@jupyter-widgets/controls",
1074 | "model_name": "HTMLModel",
1075 | "model_module_version": "1.5.0",
1076 | "state": {
1077 | "_dom_classes": [],
1078 | "_model_module": "@jupyter-widgets/controls",
1079 | "_model_module_version": "1.5.0",
1080 | "_model_name": "HTMLModel",
1081 | "_view_count": null,
1082 | "_view_module": "@jupyter-widgets/controls",
1083 | "_view_module_version": "1.5.0",
1084 | "_view_name": "HTMLView",
1085 | "description": "",
1086 | "description_tooltip": null,
1087 | "layout": "IPY_MODEL_7ab761927505446f8e3968cd64e1d080",
1088 | "placeholder": "",
1089 | "style": "IPY_MODEL_3deebc5eb3034154a566e5ded28c0182",
1090 | "value": "special_tokens_map.json: 100%"
1091 | }
1092 | },
1093 | "5181701448f041a597007cfe001b21db": {
1094 | "model_module": "@jupyter-widgets/controls",
1095 | "model_name": "FloatProgressModel",
1096 | "model_module_version": "1.5.0",
1097 | "state": {
1098 | "_dom_classes": [],
1099 | "_model_module": "@jupyter-widgets/controls",
1100 | "_model_module_version": "1.5.0",
1101 | "_model_name": "FloatProgressModel",
1102 | "_view_count": null,
1103 | "_view_module": "@jupyter-widgets/controls",
1104 | "_view_module_version": "1.5.0",
1105 | "_view_name": "ProgressView",
1106 | "bar_style": "success",
1107 | "description": "",
1108 | "description_tooltip": null,
1109 | "layout": "IPY_MODEL_b93bd5cda1764354be05347d650e80ff",
1110 | "max": 470,
1111 | "min": 0,
1112 | "orientation": "horizontal",
1113 | "style": "IPY_MODEL_ce6864e8518f404b95e2911e90ecad60",
1114 | "value": 470
1115 | }
1116 | },
1117 | "f852f2e1e11b4a009ea9fcfc0f30c882": {
1118 | "model_module": "@jupyter-widgets/controls",
1119 | "model_name": "HTMLModel",
1120 | "model_module_version": "1.5.0",
1121 | "state": {
1122 | "_dom_classes": [],
1123 | "_model_module": "@jupyter-widgets/controls",
1124 | "_model_module_version": "1.5.0",
1125 | "_model_name": "HTMLModel",
1126 | "_view_count": null,
1127 | "_view_module": "@jupyter-widgets/controls",
1128 | "_view_module_version": "1.5.0",
1129 | "_view_name": "HTMLView",
1130 | "description": "",
1131 | "description_tooltip": null,
1132 | "layout": "IPY_MODEL_d385f73685514b8e83d6eb67b90d86e4",
1133 | "placeholder": "",
1134 | "style": "IPY_MODEL_dbc5f84db10d42d4b5f524787be4a304",
1135 | "value": " 470/470 [00:00<00:00, 33.2kB/s]"
1136 | }
1137 | },
1138 | "73da1cab7da84a77885084b29bb58bee": {
1139 | "model_module": "@jupyter-widgets/base",
1140 | "model_name": "LayoutModel",
1141 | "model_module_version": "1.2.0",
1142 | "state": {
1143 | "_model_module": "@jupyter-widgets/base",
1144 | "_model_module_version": "1.2.0",
1145 | "_model_name": "LayoutModel",
1146 | "_view_count": null,
1147 | "_view_module": "@jupyter-widgets/base",
1148 | "_view_module_version": "1.2.0",
1149 | "_view_name": "LayoutView",
1150 | "align_content": null,
1151 | "align_items": null,
1152 | "align_self": null,
1153 | "border": null,
1154 | "bottom": null,
1155 | "display": null,
1156 | "flex": null,
1157 | "flex_flow": null,
1158 | "grid_area": null,
1159 | "grid_auto_columns": null,
1160 | "grid_auto_flow": null,
1161 | "grid_auto_rows": null,
1162 | "grid_column": null,
1163 | "grid_gap": null,
1164 | "grid_row": null,
1165 | "grid_template_areas": null,
1166 | "grid_template_columns": null,
1167 | "grid_template_rows": null,
1168 | "height": null,
1169 | "justify_content": null,
1170 | "justify_items": null,
1171 | "left": null,
1172 | "margin": null,
1173 | "max_height": null,
1174 | "max_width": null,
1175 | "min_height": null,
1176 | "min_width": null,
1177 | "object_fit": null,
1178 | "object_position": null,
1179 | "order": null,
1180 | "overflow": null,
1181 | "overflow_x": null,
1182 | "overflow_y": null,
1183 | "padding": null,
1184 | "right": null,
1185 | "top": null,
1186 | "visibility": null,
1187 | "width": null
1188 | }
1189 | },
1190 | "7ab761927505446f8e3968cd64e1d080": {
1191 | "model_module": "@jupyter-widgets/base",
1192 | "model_name": "LayoutModel",
1193 | "model_module_version": "1.2.0",
1194 | "state": {
1195 | "_model_module": "@jupyter-widgets/base",
1196 | "_model_module_version": "1.2.0",
1197 | "_model_name": "LayoutModel",
1198 | "_view_count": null,
1199 | "_view_module": "@jupyter-widgets/base",
1200 | "_view_module_version": "1.2.0",
1201 | "_view_name": "LayoutView",
1202 | "align_content": null,
1203 | "align_items": null,
1204 | "align_self": null,
1205 | "border": null,
1206 | "bottom": null,
1207 | "display": null,
1208 | "flex": null,
1209 | "flex_flow": null,
1210 | "grid_area": null,
1211 | "grid_auto_columns": null,
1212 | "grid_auto_flow": null,
1213 | "grid_auto_rows": null,
1214 | "grid_column": null,
1215 | "grid_gap": null,
1216 | "grid_row": null,
1217 | "grid_template_areas": null,
1218 | "grid_template_columns": null,
1219 | "grid_template_rows": null,
1220 | "height": null,
1221 | "justify_content": null,
1222 | "justify_items": null,
1223 | "left": null,
1224 | "margin": null,
1225 | "max_height": null,
1226 | "max_width": null,
1227 | "min_height": null,
1228 | "min_width": null,
1229 | "object_fit": null,
1230 | "object_position": null,
1231 | "order": null,
1232 | "overflow": null,
1233 | "overflow_x": null,
1234 | "overflow_y": null,
1235 | "padding": null,
1236 | "right": null,
1237 | "top": null,
1238 | "visibility": null,
1239 | "width": null
1240 | }
1241 | },
1242 | "3deebc5eb3034154a566e5ded28c0182": {
1243 | "model_module": "@jupyter-widgets/controls",
1244 | "model_name": "DescriptionStyleModel",
1245 | "model_module_version": "1.5.0",
1246 | "state": {
1247 | "_model_module": "@jupyter-widgets/controls",
1248 | "_model_module_version": "1.5.0",
1249 | "_model_name": "DescriptionStyleModel",
1250 | "_view_count": null,
1251 | "_view_module": "@jupyter-widgets/base",
1252 | "_view_module_version": "1.2.0",
1253 | "_view_name": "StyleView",
1254 | "description_width": ""
1255 | }
1256 | },
1257 | "b93bd5cda1764354be05347d650e80ff": {
1258 | "model_module": "@jupyter-widgets/base",
1259 | "model_name": "LayoutModel",
1260 | "model_module_version": "1.2.0",
1261 | "state": {
1262 | "_model_module": "@jupyter-widgets/base",
1263 | "_model_module_version": "1.2.0",
1264 | "_model_name": "LayoutModel",
1265 | "_view_count": null,
1266 | "_view_module": "@jupyter-widgets/base",
1267 | "_view_module_version": "1.2.0",
1268 | "_view_name": "LayoutView",
1269 | "align_content": null,
1270 | "align_items": null,
1271 | "align_self": null,
1272 | "border": null,
1273 | "bottom": null,
1274 | "display": null,
1275 | "flex": null,
1276 | "flex_flow": null,
1277 | "grid_area": null,
1278 | "grid_auto_columns": null,
1279 | "grid_auto_flow": null,
1280 | "grid_auto_rows": null,
1281 | "grid_column": null,
1282 | "grid_gap": null,
1283 | "grid_row": null,
1284 | "grid_template_areas": null,
1285 | "grid_template_columns": null,
1286 | "grid_template_rows": null,
1287 | "height": null,
1288 | "justify_content": null,
1289 | "justify_items": null,
1290 | "left": null,
1291 | "margin": null,
1292 | "max_height": null,
1293 | "max_width": null,
1294 | "min_height": null,
1295 | "min_width": null,
1296 | "object_fit": null,
1297 | "object_position": null,
1298 | "order": null,
1299 | "overflow": null,
1300 | "overflow_x": null,
1301 | "overflow_y": null,
1302 | "padding": null,
1303 | "right": null,
1304 | "top": null,
1305 | "visibility": null,
1306 | "width": null
1307 | }
1308 | },
1309 | "ce6864e8518f404b95e2911e90ecad60": {
1310 | "model_module": "@jupyter-widgets/controls",
1311 | "model_name": "ProgressStyleModel",
1312 | "model_module_version": "1.5.0",
1313 | "state": {
1314 | "_model_module": "@jupyter-widgets/controls",
1315 | "_model_module_version": "1.5.0",
1316 | "_model_name": "ProgressStyleModel",
1317 | "_view_count": null,
1318 | "_view_module": "@jupyter-widgets/base",
1319 | "_view_module_version": "1.2.0",
1320 | "_view_name": "StyleView",
1321 | "bar_color": null,
1322 | "description_width": ""
1323 | }
1324 | },
1325 | "d385f73685514b8e83d6eb67b90d86e4": {
1326 | "model_module": "@jupyter-widgets/base",
1327 | "model_name": "LayoutModel",
1328 | "model_module_version": "1.2.0",
1329 | "state": {
1330 | "_model_module": "@jupyter-widgets/base",
1331 | "_model_module_version": "1.2.0",
1332 | "_model_name": "LayoutModel",
1333 | "_view_count": null,
1334 | "_view_module": "@jupyter-widgets/base",
1335 | "_view_module_version": "1.2.0",
1336 | "_view_name": "LayoutView",
1337 | "align_content": null,
1338 | "align_items": null,
1339 | "align_self": null,
1340 | "border": null,
1341 | "bottom": null,
1342 | "display": null,
1343 | "flex": null,
1344 | "flex_flow": null,
1345 | "grid_area": null,
1346 | "grid_auto_columns": null,
1347 | "grid_auto_flow": null,
1348 | "grid_auto_rows": null,
1349 | "grid_column": null,
1350 | "grid_gap": null,
1351 | "grid_row": null,
1352 | "grid_template_areas": null,
1353 | "grid_template_columns": null,
1354 | "grid_template_rows": null,
1355 | "height": null,
1356 | "justify_content": null,
1357 | "justify_items": null,
1358 | "left": null,
1359 | "margin": null,
1360 | "max_height": null,
1361 | "max_width": null,
1362 | "min_height": null,
1363 | "min_width": null,
1364 | "object_fit": null,
1365 | "object_position": null,
1366 | "order": null,
1367 | "overflow": null,
1368 | "overflow_x": null,
1369 | "overflow_y": null,
1370 | "padding": null,
1371 | "right": null,
1372 | "top": null,
1373 | "visibility": null,
1374 | "width": null
1375 | }
1376 | },
1377 | "dbc5f84db10d42d4b5f524787be4a304": {
1378 | "model_module": "@jupyter-widgets/controls",
1379 | "model_name": "DescriptionStyleModel",
1380 | "model_module_version": "1.5.0",
1381 | "state": {
1382 | "_model_module": "@jupyter-widgets/controls",
1383 | "_model_module_version": "1.5.0",
1384 | "_model_name": "DescriptionStyleModel",
1385 | "_view_count": null,
1386 | "_view_module": "@jupyter-widgets/base",
1387 | "_view_module_version": "1.2.0",
1388 | "_view_name": "StyleView",
1389 | "description_width": ""
1390 | }
1391 | },
1392 | "3423a4637b184d1b8460e924916c1d4a": {
1393 | "model_module": "@jupyter-widgets/controls",
1394 | "model_name": "HBoxModel",
1395 | "model_module_version": "1.5.0",
1396 | "state": {
1397 | "_dom_classes": [],
1398 | "_model_module": "@jupyter-widgets/controls",
1399 | "_model_module_version": "1.5.0",
1400 | "_model_name": "HBoxModel",
1401 | "_view_count": null,
1402 | "_view_module": "@jupyter-widgets/controls",
1403 | "_view_module_version": "1.5.0",
1404 | "_view_name": "HBoxView",
1405 | "box_style": "",
1406 | "children": [
1407 | "IPY_MODEL_7c60751c930348bd9288021a4cb23681",
1408 | "IPY_MODEL_94f5a2e220054ee4b74e8959fa91e29b",
1409 | "IPY_MODEL_13ac32d5870246bf8da2c2877c699a42"
1410 | ],
1411 | "layout": "IPY_MODEL_16e847d72f37494d88e6d578df1e525d"
1412 | }
1413 | },
1414 | "7c60751c930348bd9288021a4cb23681": {
1415 | "model_module": "@jupyter-widgets/controls",
1416 | "model_name": "HTMLModel",
1417 | "model_module_version": "1.5.0",
1418 | "state": {
1419 | "_dom_classes": [],
1420 | "_model_module": "@jupyter-widgets/controls",
1421 | "_model_module_version": "1.5.0",
1422 | "_model_name": "HTMLModel",
1423 | "_view_count": null,
1424 | "_view_module": "@jupyter-widgets/controls",
1425 | "_view_module_version": "1.5.0",
1426 | "_view_name": "HTMLView",
1427 | "description": "",
1428 | "description_tooltip": null,
1429 | "layout": "IPY_MODEL_c1adb36f732f4d2687dddbeab457e05d",
1430 | "placeholder": "",
1431 | "style": "IPY_MODEL_8111df1211a2453fadf29d0f141fe34c",
1432 | "value": "config.json: 100%"
1433 | }
1434 | },
1435 | "94f5a2e220054ee4b74e8959fa91e29b": {
1436 | "model_module": "@jupyter-widgets/controls",
1437 | "model_name": "FloatProgressModel",
1438 | "model_module_version": "1.5.0",
1439 | "state": {
1440 | "_dom_classes": [],
1441 | "_model_module": "@jupyter-widgets/controls",
1442 | "_model_module_version": "1.5.0",
1443 | "_model_name": "FloatProgressModel",
1444 | "_view_count": null,
1445 | "_view_module": "@jupyter-widgets/controls",
1446 | "_view_module_version": "1.5.0",
1447 | "_view_name": "ProgressView",
1448 | "bar_style": "success",
1449 | "description": "",
1450 | "description_tooltip": null,
1451 | "layout": "IPY_MODEL_ed98324211a9472a9172dd1a226e8ba9",
1452 | "max": 704,
1453 | "min": 0,
1454 | "orientation": "horizontal",
1455 | "style": "IPY_MODEL_1d8a0683975d4a0ebcf94716eb7237de",
1456 | "value": 704
1457 | }
1458 | },
1459 | "13ac32d5870246bf8da2c2877c699a42": {
1460 | "model_module": "@jupyter-widgets/controls",
1461 | "model_name": "HTMLModel",
1462 | "model_module_version": "1.5.0",
1463 | "state": {
1464 | "_dom_classes": [],
1465 | "_model_module": "@jupyter-widgets/controls",
1466 | "_model_module_version": "1.5.0",
1467 | "_model_name": "HTMLModel",
1468 | "_view_count": null,
1469 | "_view_module": "@jupyter-widgets/controls",
1470 | "_view_module_version": "1.5.0",
1471 | "_view_name": "HTMLView",
1472 | "description": "",
1473 | "description_tooltip": null,
1474 | "layout": "IPY_MODEL_2a239bd882af4900b6bbf40a4897af9b",
1475 | "placeholder": "",
1476 | "style": "IPY_MODEL_d27ab1bf071642ec9d5488b03ed00e25",
1477 | "value": " 704/704 [00:00<00:00, 44.4kB/s]"
1478 | }
1479 | },
1480 | "16e847d72f37494d88e6d578df1e525d": {
1481 | "model_module": "@jupyter-widgets/base",
1482 | "model_name": "LayoutModel",
1483 | "model_module_version": "1.2.0",
1484 | "state": {
1485 | "_model_module": "@jupyter-widgets/base",
1486 | "_model_module_version": "1.2.0",
1487 | "_model_name": "LayoutModel",
1488 | "_view_count": null,
1489 | "_view_module": "@jupyter-widgets/base",
1490 | "_view_module_version": "1.2.0",
1491 | "_view_name": "LayoutView",
1492 | "align_content": null,
1493 | "align_items": null,
1494 | "align_self": null,
1495 | "border": null,
1496 | "bottom": null,
1497 | "display": null,
1498 | "flex": null,
1499 | "flex_flow": null,
1500 | "grid_area": null,
1501 | "grid_auto_columns": null,
1502 | "grid_auto_flow": null,
1503 | "grid_auto_rows": null,
1504 | "grid_column": null,
1505 | "grid_gap": null,
1506 | "grid_row": null,
1507 | "grid_template_areas": null,
1508 | "grid_template_columns": null,
1509 | "grid_template_rows": null,
1510 | "height": null,
1511 | "justify_content": null,
1512 | "justify_items": null,
1513 | "left": null,
1514 | "margin": null,
1515 | "max_height": null,
1516 | "max_width": null,
1517 | "min_height": null,
1518 | "min_width": null,
1519 | "object_fit": null,
1520 | "object_position": null,
1521 | "order": null,
1522 | "overflow": null,
1523 | "overflow_x": null,
1524 | "overflow_y": null,
1525 | "padding": null,
1526 | "right": null,
1527 | "top": null,
1528 | "visibility": null,
1529 | "width": null
1530 | }
1531 | },
1532 | "c1adb36f732f4d2687dddbeab457e05d": {
1533 | "model_module": "@jupyter-widgets/base",
1534 | "model_name": "LayoutModel",
1535 | "model_module_version": "1.2.0",
1536 | "state": {
1537 | "_model_module": "@jupyter-widgets/base",
1538 | "_model_module_version": "1.2.0",
1539 | "_model_name": "LayoutModel",
1540 | "_view_count": null,
1541 | "_view_module": "@jupyter-widgets/base",
1542 | "_view_module_version": "1.2.0",
1543 | "_view_name": "LayoutView",
1544 | "align_content": null,
1545 | "align_items": null,
1546 | "align_self": null,
1547 | "border": null,
1548 | "bottom": null,
1549 | "display": null,
1550 | "flex": null,
1551 | "flex_flow": null,
1552 | "grid_area": null,
1553 | "grid_auto_columns": null,
1554 | "grid_auto_flow": null,
1555 | "grid_auto_rows": null,
1556 | "grid_column": null,
1557 | "grid_gap": null,
1558 | "grid_row": null,
1559 | "grid_template_areas": null,
1560 | "grid_template_columns": null,
1561 | "grid_template_rows": null,
1562 | "height": null,
1563 | "justify_content": null,
1564 | "justify_items": null,
1565 | "left": null,
1566 | "margin": null,
1567 | "max_height": null,
1568 | "max_width": null,
1569 | "min_height": null,
1570 | "min_width": null,
1571 | "object_fit": null,
1572 | "object_position": null,
1573 | "order": null,
1574 | "overflow": null,
1575 | "overflow_x": null,
1576 | "overflow_y": null,
1577 | "padding": null,
1578 | "right": null,
1579 | "top": null,
1580 | "visibility": null,
1581 | "width": null
1582 | }
1583 | },
1584 | "8111df1211a2453fadf29d0f141fe34c": {
1585 | "model_module": "@jupyter-widgets/controls",
1586 | "model_name": "DescriptionStyleModel",
1587 | "model_module_version": "1.5.0",
1588 | "state": {
1589 | "_model_module": "@jupyter-widgets/controls",
1590 | "_model_module_version": "1.5.0",
1591 | "_model_name": "DescriptionStyleModel",
1592 | "_view_count": null,
1593 | "_view_module": "@jupyter-widgets/base",
1594 | "_view_module_version": "1.2.0",
1595 | "_view_name": "StyleView",
1596 | "description_width": ""
1597 | }
1598 | },
1599 | "ed98324211a9472a9172dd1a226e8ba9": {
1600 | "model_module": "@jupyter-widgets/base",
1601 | "model_name": "LayoutModel",
1602 | "model_module_version": "1.2.0",
1603 | "state": {
1604 | "_model_module": "@jupyter-widgets/base",
1605 | "_model_module_version": "1.2.0",
1606 | "_model_name": "LayoutModel",
1607 | "_view_count": null,
1608 | "_view_module": "@jupyter-widgets/base",
1609 | "_view_module_version": "1.2.0",
1610 | "_view_name": "LayoutView",
1611 | "align_content": null,
1612 | "align_items": null,
1613 | "align_self": null,
1614 | "border": null,
1615 | "bottom": null,
1616 | "display": null,
1617 | "flex": null,
1618 | "flex_flow": null,
1619 | "grid_area": null,
1620 | "grid_auto_columns": null,
1621 | "grid_auto_flow": null,
1622 | "grid_auto_rows": null,
1623 | "grid_column": null,
1624 | "grid_gap": null,
1625 | "grid_row": null,
1626 | "grid_template_areas": null,
1627 | "grid_template_columns": null,
1628 | "grid_template_rows": null,
1629 | "height": null,
1630 | "justify_content": null,
1631 | "justify_items": null,
1632 | "left": null,
1633 | "margin": null,
1634 | "max_height": null,
1635 | "max_width": null,
1636 | "min_height": null,
1637 | "min_width": null,
1638 | "object_fit": null,
1639 | "object_position": null,
1640 | "order": null,
1641 | "overflow": null,
1642 | "overflow_x": null,
1643 | "overflow_y": null,
1644 | "padding": null,
1645 | "right": null,
1646 | "top": null,
1647 | "visibility": null,
1648 | "width": null
1649 | }
1650 | },
1651 | "1d8a0683975d4a0ebcf94716eb7237de": {
1652 | "model_module": "@jupyter-widgets/controls",
1653 | "model_name": "ProgressStyleModel",
1654 | "model_module_version": "1.5.0",
1655 | "state": {
1656 | "_model_module": "@jupyter-widgets/controls",
1657 | "_model_module_version": "1.5.0",
1658 | "_model_name": "ProgressStyleModel",
1659 | "_view_count": null,
1660 | "_view_module": "@jupyter-widgets/base",
1661 | "_view_module_version": "1.2.0",
1662 | "_view_name": "StyleView",
1663 | "bar_color": null,
1664 | "description_width": ""
1665 | }
1666 | },
1667 | "2a239bd882af4900b6bbf40a4897af9b": {
1668 | "model_module": "@jupyter-widgets/base",
1669 | "model_name": "LayoutModel",
1670 | "model_module_version": "1.2.0",
1671 | "state": {
1672 | "_model_module": "@jupyter-widgets/base",
1673 | "_model_module_version": "1.2.0",
1674 | "_model_name": "LayoutModel",
1675 | "_view_count": null,
1676 | "_view_module": "@jupyter-widgets/base",
1677 | "_view_module_version": "1.2.0",
1678 | "_view_name": "LayoutView",
1679 | "align_content": null,
1680 | "align_items": null,
1681 | "align_self": null,
1682 | "border": null,
1683 | "bottom": null,
1684 | "display": null,
1685 | "flex": null,
1686 | "flex_flow": null,
1687 | "grid_area": null,
1688 | "grid_auto_columns": null,
1689 | "grid_auto_flow": null,
1690 | "grid_auto_rows": null,
1691 | "grid_column": null,
1692 | "grid_gap": null,
1693 | "grid_row": null,
1694 | "grid_template_areas": null,
1695 | "grid_template_columns": null,
1696 | "grid_template_rows": null,
1697 | "height": null,
1698 | "justify_content": null,
1699 | "justify_items": null,
1700 | "left": null,
1701 | "margin": null,
1702 | "max_height": null,
1703 | "max_width": null,
1704 | "min_height": null,
1705 | "min_width": null,
1706 | "object_fit": null,
1707 | "object_position": null,
1708 | "order": null,
1709 | "overflow": null,
1710 | "overflow_x": null,
1711 | "overflow_y": null,
1712 | "padding": null,
1713 | "right": null,
1714 | "top": null,
1715 | "visibility": null,
1716 | "width": null
1717 | }
1718 | },
1719 | "d27ab1bf071642ec9d5488b03ed00e25": {
1720 | "model_module": "@jupyter-widgets/controls",
1721 | "model_name": "DescriptionStyleModel",
1722 | "model_module_version": "1.5.0",
1723 | "state": {
1724 | "_model_module": "@jupyter-widgets/controls",
1725 | "_model_module_version": "1.5.0",
1726 | "_model_name": "DescriptionStyleModel",
1727 | "_view_count": null,
1728 | "_view_module": "@jupyter-widgets/base",
1729 | "_view_module_version": "1.2.0",
1730 | "_view_name": "StyleView",
1731 | "description_width": ""
1732 | }
1733 | },
1734 | "b057f1bfaafb4bc09b585a7d65c9b24a": {
1735 | "model_module": "@jupyter-widgets/controls",
1736 | "model_name": "HBoxModel",
1737 | "model_module_version": "1.5.0",
1738 | "state": {
1739 | "_dom_classes": [],
1740 | "_model_module": "@jupyter-widgets/controls",
1741 | "_model_module_version": "1.5.0",
1742 | "_model_name": "HBoxModel",
1743 | "_view_count": null,
1744 | "_view_module": "@jupyter-widgets/controls",
1745 | "_view_module_version": "1.5.0",
1746 | "_view_name": "HBoxView",
1747 | "box_style": "",
1748 | "children": [
1749 | "IPY_MODEL_ad7433298ca04f8fb71eeedbd3c1a84f",
1750 | "IPY_MODEL_a77b3f5dab424f1a92bd0a16242a4008",
1751 | "IPY_MODEL_155a0d1a9fdd47f9abb3c05f160c36d9"
1752 | ],
1753 | "layout": "IPY_MODEL_d282d6b2de8c43c594469bdc961c463e"
1754 | }
1755 | },
1756 | "ad7433298ca04f8fb71eeedbd3c1a84f": {
1757 | "model_module": "@jupyter-widgets/controls",
1758 | "model_name": "HTMLModel",
1759 | "model_module_version": "1.5.0",
1760 | "state": {
1761 | "_dom_classes": [],
1762 | "_model_module": "@jupyter-widgets/controls",
1763 | "_model_module_version": "1.5.0",
1764 | "_model_name": "HTMLModel",
1765 | "_view_count": null,
1766 | "_view_module": "@jupyter-widgets/controls",
1767 | "_view_module_version": "1.5.0",
1768 | "_view_name": "HTMLView",
1769 | "description": "",
1770 | "description_tooltip": null,
1771 | "layout": "IPY_MODEL_62f7f6b3a3a54cf79c786eef3359b7ce",
1772 | "placeholder": "",
1773 | "style": "IPY_MODEL_9cc2abea9e2c46bf97a7b5aecc098f5e",
1774 | "value": "model.safetensors: 100%"
1775 | }
1776 | },
1777 | "a77b3f5dab424f1a92bd0a16242a4008": {
1778 | "model_module": "@jupyter-widgets/controls",
1779 | "model_name": "FloatProgressModel",
1780 | "model_module_version": "1.5.0",
1781 | "state": {
1782 | "_dom_classes": [],
1783 | "_model_module": "@jupyter-widgets/controls",
1784 | "_model_module_version": "1.5.0",
1785 | "_model_name": "FloatProgressModel",
1786 | "_view_count": null,
1787 | "_view_module": "@jupyter-widgets/controls",
1788 | "_view_module_version": "1.5.0",
1789 | "_view_name": "ProgressView",
1790 | "bar_style": "success",
1791 | "description": "",
1792 | "description_tooltip": null,
1793 | "layout": "IPY_MODEL_03f5cac3520f43068b6b250a5ece2575",
1794 | "max": 3554214416,
1795 | "min": 0,
1796 | "orientation": "horizontal",
1797 | "style": "IPY_MODEL_1b122bdd166142b5b7e12808eec849ec",
1798 | "value": 3554214416
1799 | }
1800 | },
1801 | "155a0d1a9fdd47f9abb3c05f160c36d9": {
1802 | "model_module": "@jupyter-widgets/controls",
1803 | "model_name": "HTMLModel",
1804 | "model_module_version": "1.5.0",
1805 | "state": {
1806 | "_dom_classes": [],
1807 | "_model_module": "@jupyter-widgets/controls",
1808 | "_model_module_version": "1.5.0",
1809 | "_model_name": "HTMLModel",
1810 | "_view_count": null,
1811 | "_view_module": "@jupyter-widgets/controls",
1812 | "_view_module_version": "1.5.0",
1813 | "_view_name": "HTMLView",
1814 | "description": "",
1815 | "description_tooltip": null,
1816 | "layout": "IPY_MODEL_059c22d98b0f477d9a3fd9201fb88f61",
1817 | "placeholder": "",
1818 | "style": "IPY_MODEL_e6e77dc2d5e34ff6921f66c982c3c3a8",
1819 | "value": " 3.55G/3.55G [00:42<00:00, 83.5MB/s]"
1820 | }
1821 | },
1822 | "d282d6b2de8c43c594469bdc961c463e": {
1823 | "model_module": "@jupyter-widgets/base",
1824 | "model_name": "LayoutModel",
1825 | "model_module_version": "1.2.0",
1826 | "state": {
1827 | "_model_module": "@jupyter-widgets/base",
1828 | "_model_module_version": "1.2.0",
1829 | "_model_name": "LayoutModel",
1830 | "_view_count": null,
1831 | "_view_module": "@jupyter-widgets/base",
1832 | "_view_module_version": "1.2.0",
1833 | "_view_name": "LayoutView",
1834 | "align_content": null,
1835 | "align_items": null,
1836 | "align_self": null,
1837 | "border": null,
1838 | "bottom": null,
1839 | "display": null,
1840 | "flex": null,
1841 | "flex_flow": null,
1842 | "grid_area": null,
1843 | "grid_auto_columns": null,
1844 | "grid_auto_flow": null,
1845 | "grid_auto_rows": null,
1846 | "grid_column": null,
1847 | "grid_gap": null,
1848 | "grid_row": null,
1849 | "grid_template_areas": null,
1850 | "grid_template_columns": null,
1851 | "grid_template_rows": null,
1852 | "height": null,
1853 | "justify_content": null,
1854 | "justify_items": null,
1855 | "left": null,
1856 | "margin": null,
1857 | "max_height": null,
1858 | "max_width": null,
1859 | "min_height": null,
1860 | "min_width": null,
1861 | "object_fit": null,
1862 | "object_position": null,
1863 | "order": null,
1864 | "overflow": null,
1865 | "overflow_x": null,
1866 | "overflow_y": null,
1867 | "padding": null,
1868 | "right": null,
1869 | "top": null,
1870 | "visibility": null,
1871 | "width": null
1872 | }
1873 | },
1874 | "62f7f6b3a3a54cf79c786eef3359b7ce": {
1875 | "model_module": "@jupyter-widgets/base",
1876 | "model_name": "LayoutModel",
1877 | "model_module_version": "1.2.0",
1878 | "state": {
1879 | "_model_module": "@jupyter-widgets/base",
1880 | "_model_module_version": "1.2.0",
1881 | "_model_name": "LayoutModel",
1882 | "_view_count": null,
1883 | "_view_module": "@jupyter-widgets/base",
1884 | "_view_module_version": "1.2.0",
1885 | "_view_name": "LayoutView",
1886 | "align_content": null,
1887 | "align_items": null,
1888 | "align_self": null,
1889 | "border": null,
1890 | "bottom": null,
1891 | "display": null,
1892 | "flex": null,
1893 | "flex_flow": null,
1894 | "grid_area": null,
1895 | "grid_auto_columns": null,
1896 | "grid_auto_flow": null,
1897 | "grid_auto_rows": null,
1898 | "grid_column": null,
1899 | "grid_gap": null,
1900 | "grid_row": null,
1901 | "grid_template_areas": null,
1902 | "grid_template_columns": null,
1903 | "grid_template_rows": null,
1904 | "height": null,
1905 | "justify_content": null,
1906 | "justify_items": null,
1907 | "left": null,
1908 | "margin": null,
1909 | "max_height": null,
1910 | "max_width": null,
1911 | "min_height": null,
1912 | "min_width": null,
1913 | "object_fit": null,
1914 | "object_position": null,
1915 | "order": null,
1916 | "overflow": null,
1917 | "overflow_x": null,
1918 | "overflow_y": null,
1919 | "padding": null,
1920 | "right": null,
1921 | "top": null,
1922 | "visibility": null,
1923 | "width": null
1924 | }
1925 | },
1926 | "9cc2abea9e2c46bf97a7b5aecc098f5e": {
1927 | "model_module": "@jupyter-widgets/controls",
1928 | "model_name": "DescriptionStyleModel",
1929 | "model_module_version": "1.5.0",
1930 | "state": {
1931 | "_model_module": "@jupyter-widgets/controls",
1932 | "_model_module_version": "1.5.0",
1933 | "_model_name": "DescriptionStyleModel",
1934 | "_view_count": null,
1935 | "_view_module": "@jupyter-widgets/base",
1936 | "_view_module_version": "1.2.0",
1937 | "_view_name": "StyleView",
1938 | "description_width": ""
1939 | }
1940 | },
1941 | "03f5cac3520f43068b6b250a5ece2575": {
1942 | "model_module": "@jupyter-widgets/base",
1943 | "model_name": "LayoutModel",
1944 | "model_module_version": "1.2.0",
1945 | "state": {
1946 | "_model_module": "@jupyter-widgets/base",
1947 | "_model_module_version": "1.2.0",
1948 | "_model_name": "LayoutModel",
1949 | "_view_count": null,
1950 | "_view_module": "@jupyter-widgets/base",
1951 | "_view_module_version": "1.2.0",
1952 | "_view_name": "LayoutView",
1953 | "align_content": null,
1954 | "align_items": null,
1955 | "align_self": null,
1956 | "border": null,
1957 | "bottom": null,
1958 | "display": null,
1959 | "flex": null,
1960 | "flex_flow": null,
1961 | "grid_area": null,
1962 | "grid_auto_columns": null,
1963 | "grid_auto_flow": null,
1964 | "grid_auto_rows": null,
1965 | "grid_column": null,
1966 | "grid_gap": null,
1967 | "grid_row": null,
1968 | "grid_template_areas": null,
1969 | "grid_template_columns": null,
1970 | "grid_template_rows": null,
1971 | "height": null,
1972 | "justify_content": null,
1973 | "justify_items": null,
1974 | "left": null,
1975 | "margin": null,
1976 | "max_height": null,
1977 | "max_width": null,
1978 | "min_height": null,
1979 | "min_width": null,
1980 | "object_fit": null,
1981 | "object_position": null,
1982 | "order": null,
1983 | "overflow": null,
1984 | "overflow_x": null,
1985 | "overflow_y": null,
1986 | "padding": null,
1987 | "right": null,
1988 | "top": null,
1989 | "visibility": null,
1990 | "width": null
1991 | }
1992 | },
1993 | "1b122bdd166142b5b7e12808eec849ec": {
1994 | "model_module": "@jupyter-widgets/controls",
1995 | "model_name": "ProgressStyleModel",
1996 | "model_module_version": "1.5.0",
1997 | "state": {
1998 | "_model_module": "@jupyter-widgets/controls",
1999 | "_model_module_version": "1.5.0",
2000 | "_model_name": "ProgressStyleModel",
2001 | "_view_count": null,
2002 | "_view_module": "@jupyter-widgets/base",
2003 | "_view_module_version": "1.2.0",
2004 | "_view_name": "StyleView",
2005 | "bar_color": null,
2006 | "description_width": ""
2007 | }
2008 | },
2009 | "059c22d98b0f477d9a3fd9201fb88f61": {
2010 | "model_module": "@jupyter-widgets/base",
2011 | "model_name": "LayoutModel",
2012 | "model_module_version": "1.2.0",
2013 | "state": {
2014 | "_model_module": "@jupyter-widgets/base",
2015 | "_model_module_version": "1.2.0",
2016 | "_model_name": "LayoutModel",
2017 | "_view_count": null,
2018 | "_view_module": "@jupyter-widgets/base",
2019 | "_view_module_version": "1.2.0",
2020 | "_view_name": "LayoutView",
2021 | "align_content": null,
2022 | "align_items": null,
2023 | "align_self": null,
2024 | "border": null,
2025 | "bottom": null,
2026 | "display": null,
2027 | "flex": null,
2028 | "flex_flow": null,
2029 | "grid_area": null,
2030 | "grid_auto_columns": null,
2031 | "grid_auto_flow": null,
2032 | "grid_auto_rows": null,
2033 | "grid_column": null,
2034 | "grid_gap": null,
2035 | "grid_row": null,
2036 | "grid_template_areas": null,
2037 | "grid_template_columns": null,
2038 | "grid_template_rows": null,
2039 | "height": null,
2040 | "justify_content": null,
2041 | "justify_items": null,
2042 | "left": null,
2043 | "margin": null,
2044 | "max_height": null,
2045 | "max_width": null,
2046 | "min_height": null,
2047 | "min_width": null,
2048 | "object_fit": null,
2049 | "object_position": null,
2050 | "order": null,
2051 | "overflow": null,
2052 | "overflow_x": null,
2053 | "overflow_y": null,
2054 | "padding": null,
2055 | "right": null,
2056 | "top": null,
2057 | "visibility": null,
2058 | "width": null
2059 | }
2060 | },
2061 | "e6e77dc2d5e34ff6921f66c982c3c3a8": {
2062 | "model_module": "@jupyter-widgets/controls",
2063 | "model_name": "DescriptionStyleModel",
2064 | "model_module_version": "1.5.0",
2065 | "state": {
2066 | "_model_module": "@jupyter-widgets/controls",
2067 | "_model_module_version": "1.5.0",
2068 | "_model_name": "DescriptionStyleModel",
2069 | "_view_count": null,
2070 | "_view_module": "@jupyter-widgets/base",
2071 | "_view_module_version": "1.2.0",
2072 | "_view_name": "StyleView",
2073 | "description_width": ""
2074 | }
2075 | },
2076 | "7357a8c4d5df444dacbff559f849f60d": {
2077 | "model_module": "@jupyter-widgets/controls",
2078 | "model_name": "HBoxModel",
2079 | "model_module_version": "1.5.0",
2080 | "state": {
2081 | "_dom_classes": [],
2082 | "_model_module": "@jupyter-widgets/controls",
2083 | "_model_module_version": "1.5.0",
2084 | "_model_name": "HBoxModel",
2085 | "_view_count": null,
2086 | "_view_module": "@jupyter-widgets/controls",
2087 | "_view_module_version": "1.5.0",
2088 | "_view_name": "HBoxView",
2089 | "box_style": "",
2090 | "children": [
2091 | "IPY_MODEL_8c27b625285e4e008260623d1636a7c4",
2092 | "IPY_MODEL_69eb657689c6421ebcd174c867d49adc",
2093 | "IPY_MODEL_93fcf24672d84b59bb08ae5316afc956"
2094 | ],
2095 | "layout": "IPY_MODEL_1991bc9542ea408f98507bd1b6fd2f01"
2096 | }
2097 | },
2098 | "8c27b625285e4e008260623d1636a7c4": {
2099 | "model_module": "@jupyter-widgets/controls",
2100 | "model_name": "HTMLModel",
2101 | "model_module_version": "1.5.0",
2102 | "state": {
2103 | "_dom_classes": [],
2104 | "_model_module": "@jupyter-widgets/controls",
2105 | "_model_module_version": "1.5.0",
2106 | "_model_name": "HTMLModel",
2107 | "_view_count": null,
2108 | "_view_module": "@jupyter-widgets/controls",
2109 | "_view_module_version": "1.5.0",
2110 | "_view_name": "HTMLView",
2111 | "description": "",
2112 | "description_tooltip": null,
2113 | "layout": "IPY_MODEL_5b89adf0809c4b2f91217c3ba3b0a532",
2114 | "placeholder": "",
2115 | "style": "IPY_MODEL_eec3ed7bc6834f3cba19f3e9b9f3d781",
2116 | "value": "generation_config.json: 100%"
2117 | }
2118 | },
2119 | "69eb657689c6421ebcd174c867d49adc": {
2120 | "model_module": "@jupyter-widgets/controls",
2121 | "model_name": "FloatProgressModel",
2122 | "model_module_version": "1.5.0",
2123 | "state": {
2124 | "_dom_classes": [],
2125 | "_model_module": "@jupyter-widgets/controls",
2126 | "_model_module_version": "1.5.0",
2127 | "_model_name": "FloatProgressModel",
2128 | "_view_count": null,
2129 | "_view_module": "@jupyter-widgets/controls",
2130 | "_view_module_version": "1.5.0",
2131 | "_view_name": "ProgressView",
2132 | "bar_style": "success",
2133 | "description": "",
2134 | "description_tooltip": null,
2135 | "layout": "IPY_MODEL_dd0c567e572d4c7aab8d598901f33f18",
2136 | "max": 242,
2137 | "min": 0,
2138 | "orientation": "horizontal",
2139 | "style": "IPY_MODEL_097f05383aba40bebd4969c43fd72348",
2140 | "value": 242
2141 | }
2142 | },
2143 | "93fcf24672d84b59bb08ae5316afc956": {
2144 | "model_module": "@jupyter-widgets/controls",
2145 | "model_name": "HTMLModel",
2146 | "model_module_version": "1.5.0",
2147 | "state": {
2148 | "_dom_classes": [],
2149 | "_model_module": "@jupyter-widgets/controls",
2150 | "_model_module_version": "1.5.0",
2151 | "_model_name": "HTMLModel",
2152 | "_view_count": null,
2153 | "_view_module": "@jupyter-widgets/controls",
2154 | "_view_module_version": "1.5.0",
2155 | "_view_name": "HTMLView",
2156 | "description": "",
2157 | "description_tooltip": null,
2158 | "layout": "IPY_MODEL_935866a3b0e343da9a786437260e73f9",
2159 | "placeholder": "",
2160 | "style": "IPY_MODEL_1de151ce6c5f45b88a1ba18f8222e3fc",
2161 | "value": " 242/242 [00:00<00:00, 22.1kB/s]"
2162 | }
2163 | },
2164 | "1991bc9542ea408f98507bd1b6fd2f01": {
2165 | "model_module": "@jupyter-widgets/base",
2166 | "model_name": "LayoutModel",
2167 | "model_module_version": "1.2.0",
2168 | "state": {
2169 | "_model_module": "@jupyter-widgets/base",
2170 | "_model_module_version": "1.2.0",
2171 | "_model_name": "LayoutModel",
2172 | "_view_count": null,
2173 | "_view_module": "@jupyter-widgets/base",
2174 | "_view_module_version": "1.2.0",
2175 | "_view_name": "LayoutView",
2176 | "align_content": null,
2177 | "align_items": null,
2178 | "align_self": null,
2179 | "border": null,
2180 | "bottom": null,
2181 | "display": null,
2182 | "flex": null,
2183 | "flex_flow": null,
2184 | "grid_area": null,
2185 | "grid_auto_columns": null,
2186 | "grid_auto_flow": null,
2187 | "grid_auto_rows": null,
2188 | "grid_column": null,
2189 | "grid_gap": null,
2190 | "grid_row": null,
2191 | "grid_template_areas": null,
2192 | "grid_template_columns": null,
2193 | "grid_template_rows": null,
2194 | "height": null,
2195 | "justify_content": null,
2196 | "justify_items": null,
2197 | "left": null,
2198 | "margin": null,
2199 | "max_height": null,
2200 | "max_width": null,
2201 | "min_height": null,
2202 | "min_width": null,
2203 | "object_fit": null,
2204 | "object_position": null,
2205 | "order": null,
2206 | "overflow": null,
2207 | "overflow_x": null,
2208 | "overflow_y": null,
2209 | "padding": null,
2210 | "right": null,
2211 | "top": null,
2212 | "visibility": null,
2213 | "width": null
2214 | }
2215 | },
2216 | "5b89adf0809c4b2f91217c3ba3b0a532": {
2217 | "model_module": "@jupyter-widgets/base",
2218 | "model_name": "LayoutModel",
2219 | "model_module_version": "1.2.0",
2220 | "state": {
2221 | "_model_module": "@jupyter-widgets/base",
2222 | "_model_module_version": "1.2.0",
2223 | "_model_name": "LayoutModel",
2224 | "_view_count": null,
2225 | "_view_module": "@jupyter-widgets/base",
2226 | "_view_module_version": "1.2.0",
2227 | "_view_name": "LayoutView",
2228 | "align_content": null,
2229 | "align_items": null,
2230 | "align_self": null,
2231 | "border": null,
2232 | "bottom": null,
2233 | "display": null,
2234 | "flex": null,
2235 | "flex_flow": null,
2236 | "grid_area": null,
2237 | "grid_auto_columns": null,
2238 | "grid_auto_flow": null,
2239 | "grid_auto_rows": null,
2240 | "grid_column": null,
2241 | "grid_gap": null,
2242 | "grid_row": null,
2243 | "grid_template_areas": null,
2244 | "grid_template_columns": null,
2245 | "grid_template_rows": null,
2246 | "height": null,
2247 | "justify_content": null,
2248 | "justify_items": null,
2249 | "left": null,
2250 | "margin": null,
2251 | "max_height": null,
2252 | "max_width": null,
2253 | "min_height": null,
2254 | "min_width": null,
2255 | "object_fit": null,
2256 | "object_position": null,
2257 | "order": null,
2258 | "overflow": null,
2259 | "overflow_x": null,
2260 | "overflow_y": null,
2261 | "padding": null,
2262 | "right": null,
2263 | "top": null,
2264 | "visibility": null,
2265 | "width": null
2266 | }
2267 | },
2268 | "eec3ed7bc6834f3cba19f3e9b9f3d781": {
2269 | "model_module": "@jupyter-widgets/controls",
2270 | "model_name": "DescriptionStyleModel",
2271 | "model_module_version": "1.5.0",
2272 | "state": {
2273 | "_model_module": "@jupyter-widgets/controls",
2274 | "_model_module_version": "1.5.0",
2275 | "_model_name": "DescriptionStyleModel",
2276 | "_view_count": null,
2277 | "_view_module": "@jupyter-widgets/base",
2278 | "_view_module_version": "1.2.0",
2279 | "_view_name": "StyleView",
2280 | "description_width": ""
2281 | }
2282 | },
2283 | "dd0c567e572d4c7aab8d598901f33f18": {
2284 | "model_module": "@jupyter-widgets/base",
2285 | "model_name": "LayoutModel",
2286 | "model_module_version": "1.2.0",
2287 | "state": {
2288 | "_model_module": "@jupyter-widgets/base",
2289 | "_model_module_version": "1.2.0",
2290 | "_model_name": "LayoutModel",
2291 | "_view_count": null,
2292 | "_view_module": "@jupyter-widgets/base",
2293 | "_view_module_version": "1.2.0",
2294 | "_view_name": "LayoutView",
2295 | "align_content": null,
2296 | "align_items": null,
2297 | "align_self": null,
2298 | "border": null,
2299 | "bottom": null,
2300 | "display": null,
2301 | "flex": null,
2302 | "flex_flow": null,
2303 | "grid_area": null,
2304 | "grid_auto_columns": null,
2305 | "grid_auto_flow": null,
2306 | "grid_auto_rows": null,
2307 | "grid_column": null,
2308 | "grid_gap": null,
2309 | "grid_row": null,
2310 | "grid_template_areas": null,
2311 | "grid_template_columns": null,
2312 | "grid_template_rows": null,
2313 | "height": null,
2314 | "justify_content": null,
2315 | "justify_items": null,
2316 | "left": null,
2317 | "margin": null,
2318 | "max_height": null,
2319 | "max_width": null,
2320 | "min_height": null,
2321 | "min_width": null,
2322 | "object_fit": null,
2323 | "object_position": null,
2324 | "order": null,
2325 | "overflow": null,
2326 | "overflow_x": null,
2327 | "overflow_y": null,
2328 | "padding": null,
2329 | "right": null,
2330 | "top": null,
2331 | "visibility": null,
2332 | "width": null
2333 | }
2334 | },
2335 | "097f05383aba40bebd4969c43fd72348": {
2336 | "model_module": "@jupyter-widgets/controls",
2337 | "model_name": "ProgressStyleModel",
2338 | "model_module_version": "1.5.0",
2339 | "state": {
2340 | "_model_module": "@jupyter-widgets/controls",
2341 | "_model_module_version": "1.5.0",
2342 | "_model_name": "ProgressStyleModel",
2343 | "_view_count": null,
2344 | "_view_module": "@jupyter-widgets/base",
2345 | "_view_module_version": "1.2.0",
2346 | "_view_name": "StyleView",
2347 | "bar_color": null,
2348 | "description_width": ""
2349 | }
2350 | },
2351 | "935866a3b0e343da9a786437260e73f9": {
2352 | "model_module": "@jupyter-widgets/base",
2353 | "model_name": "LayoutModel",
2354 | "model_module_version": "1.2.0",
2355 | "state": {
2356 | "_model_module": "@jupyter-widgets/base",
2357 | "_model_module_version": "1.2.0",
2358 | "_model_name": "LayoutModel",
2359 | "_view_count": null,
2360 | "_view_module": "@jupyter-widgets/base",
2361 | "_view_module_version": "1.2.0",
2362 | "_view_name": "LayoutView",
2363 | "align_content": null,
2364 | "align_items": null,
2365 | "align_self": null,
2366 | "border": null,
2367 | "bottom": null,
2368 | "display": null,
2369 | "flex": null,
2370 | "flex_flow": null,
2371 | "grid_area": null,
2372 | "grid_auto_columns": null,
2373 | "grid_auto_flow": null,
2374 | "grid_auto_rows": null,
2375 | "grid_column": null,
2376 | "grid_gap": null,
2377 | "grid_row": null,
2378 | "grid_template_areas": null,
2379 | "grid_template_columns": null,
2380 | "grid_template_rows": null,
2381 | "height": null,
2382 | "justify_content": null,
2383 | "justify_items": null,
2384 | "left": null,
2385 | "margin": null,
2386 | "max_height": null,
2387 | "max_width": null,
2388 | "min_height": null,
2389 | "min_width": null,
2390 | "object_fit": null,
2391 | "object_position": null,
2392 | "order": null,
2393 | "overflow": null,
2394 | "overflow_x": null,
2395 | "overflow_y": null,
2396 | "padding": null,
2397 | "right": null,
2398 | "top": null,
2399 | "visibility": null,
2400 | "width": null
2401 | }
2402 | },
2403 | "1de151ce6c5f45b88a1ba18f8222e3fc": {
2404 | "model_module": "@jupyter-widgets/controls",
2405 | "model_name": "DescriptionStyleModel",
2406 | "model_module_version": "1.5.0",
2407 | "state": {
2408 | "_model_module": "@jupyter-widgets/controls",
2409 | "_model_module_version": "1.5.0",
2410 | "_model_name": "DescriptionStyleModel",
2411 | "_view_count": null,
2412 | "_view_module": "@jupyter-widgets/base",
2413 | "_view_module_version": "1.2.0",
2414 | "_view_name": "StyleView",
2415 | "description_width": ""
2416 | }
2417 | }
2418 | }
2419 | }
2420 | },
2421 | "cells": [
2422 | {
2423 | "cell_type": "markdown",
2424 | "source": [
2425 | "# Welcome to the OpenMusenet3 interference notebook! (Click the play below to initialize everything)"
2426 | ],
2427 | "metadata": {
2428 | "id": "RGvk06H5QQyg"
2429 | }
2430 | },
2431 | {
2432 | "cell_type": "code",
2433 | "execution_count": 1,
2434 | "metadata": {
2435 | "colab": {
2436 | "base_uri": "https://localhost:8080/"
2437 | },
2438 | "id": "nWWUJTa3QA9K",
2439 | "outputId": "3e867081-cf61-4938-f3e2-e65bb05d99ff"
2440 | },
2441 | "outputs": [
2442 | {
2443 | "output_type": "stream",
2444 | "name": "stdout",
2445 | "text": [
2446 | "Cloning into 'OpenMusenet2'...\n",
2447 | "remote: Enumerating objects: 213, done.\u001b[K\n",
2448 | "remote: Counting objects: 100% (213/213), done.\u001b[K\n",
2449 | "remote: Compressing objects: 100% (169/169), done.\u001b[K\n",
2450 | "remote: Total 213 (delta 56), reused 171 (delta 33), pack-reused 0 (from 0)\u001b[K\n",
2451 | "Receiving objects: 100% (213/213), 1.61 MiB | 2.30 MiB/s, done.\n",
2452 | "Resolving deltas: 100% (56/56), done.\n"
2453 | ]
2454 | }
2455 | ],
2456 | "source": [
2457 | "!git clone https://github.com/hidude562/OpenMusenet2.git"
2458 | ]
2459 | },
2460 | {
2461 | "cell_type": "code",
2462 | "source": [
2463 | "pip install mido"
2464 | ],
2465 | "metadata": {
2466 | "colab": {
2467 | "base_uri": "https://localhost:8080/"
2468 | },
2469 | "id": "VBlVW8oFSzU0",
2470 | "outputId": "7ef651f6-3ca1-47af-a56f-31f137e9c1c6"
2471 | },
2472 | "execution_count": 2,
2473 | "outputs": [
2474 | {
2475 | "output_type": "stream",
2476 | "name": "stdout",
2477 | "text": [
2478 | "Collecting mido\n",
2479 | " Downloading mido-1.3.3-py3-none-any.whl.metadata (6.4 kB)\n",
2480 | "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from mido) (24.2)\n",
2481 | "Downloading mido-1.3.3-py3-none-any.whl (54 kB)\n",
2482 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.6/54.6 kB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
2483 | "\u001b[?25hInstalling collected packages: mido\n",
2484 | "Successfully installed mido-1.3.3\n"
2485 | ]
2486 | }
2487 | ]
2488 | },
2489 | {
2490 | "cell_type": "code",
2491 | "source": [
2492 | "pip install transformers"
2493 | ],
2494 | "metadata": {
2495 | "colab": {
2496 | "base_uri": "https://localhost:8080/"
2497 | },
2498 | "id": "S7r350EJS0j7",
2499 | "outputId": "0b8176a2-ab98-4817-9adc-374dcb3f3b16"
2500 | },
2501 | "execution_count": 3,
2502 | "outputs": [
2503 | {
2504 | "output_type": "stream",
2505 | "name": "stdout",
2506 | "text": [
2507 | "Requirement already satisfied: transformers in /usr/local/lib/python3.11/dist-packages (4.48.3)\n",
2508 | "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from transformers) (3.17.0)\n",
2509 | "Requirement already satisfied: huggingface-hub<1.0,>=0.24.0 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.28.1)\n",
2510 | "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from transformers) (1.26.4)\n",
2511 | "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.11/dist-packages (from transformers) (24.2)\n",
2512 | "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from transformers) (6.0.2)\n",
2513 | "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers) (2024.11.6)\n",
2514 | "Requirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from transformers) (2.32.3)\n",
2515 | "Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.21.0)\n",
2516 | "Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.5.3)\n",
2517 | "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.11/dist-packages (from transformers) (4.67.1)\n",
2518 | "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers) (2024.10.0)\n",
2519 | "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub<1.0,>=0.24.0->transformers) (4.12.2)\n",
2520 | "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (3.4.1)\n",
2521 | "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (3.10)\n",
2522 | "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (2.3.0)\n",
2523 | "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (2025.1.31)\n"
2524 | ]
2525 | }
2526 | ]
2527 | },
2528 | {
2529 | "cell_type": "code",
2530 | "source": [
2531 | "%cd OpenMusenet2/OpenMusenet3/src/OpenMusenet3/"
2532 | ],
2533 | "metadata": {
2534 | "colab": {
2535 | "base_uri": "https://localhost:8080/"
2536 | },
2537 | "id": "D9AdYlCgQYLd",
2538 | "outputId": "3f8b389c-758b-4250-ac89-a9dcf84dcd92"
2539 | },
2540 | "execution_count": 4,
2541 | "outputs": [
2542 | {
2543 | "output_type": "stream",
2544 | "name": "stdout",
2545 | "text": [
2546 | "/content/OpenMusenet2/OpenMusenet3/src/OpenMusenet3\n"
2547 | ]
2548 | }
2549 | ]
2550 | },
2551 | {
2552 | "cell_type": "code",
2553 | "source": [
2554 | "target_midi = None"
2555 | ],
2556 | "metadata": {
2557 | "id": "Cob6FP69cYmE"
2558 | },
2559 | "execution_count": 5,
2560 | "outputs": []
2561 | },
2562 | {
2563 | "cell_type": "markdown",
2564 | "source": [
2565 | "# Model"
2566 | ],
2567 | "metadata": {
2568 | "id": "HoiW2VxyaCCX"
2569 | }
2570 | },
2571 | {
2572 | "cell_type": "code",
2573 | "source": [
2574 | "#@title Model Name\n",
2575 | "model_name = \"kobimusic/maestro-4-genre\" #@param [\"kobimusic/maestro-4-genre\", \"kobimusic/virtuoso-4-base\", \"kobimusic/esecutore-4-0619\"] {allow-input: true}"
2576 | ],
2577 | "metadata": {
2578 | "id": "4VvMAzPaZ5T5"
2579 | },
2580 | "execution_count": 6,
2581 | "outputs": []
2582 | },
2583 | {
2584 | "cell_type": "code",
2585 | "source": [
2586 | "from ai import AI\n",
2587 | "from midi import MIDI\n",
2588 | "\n",
2589 | "ai = AI(model_name)"
2590 | ],
2591 | "metadata": {
2592 | "colab": {
2593 | "base_uri": "https://localhost:8080/",
2594 | "height": 564,
2595 | "referenced_widgets": [
2596 | "e8d3c13cb61e48ccabcb333854ac0f02",
2597 | "12e8fdea3cad434a9cd1c1a65143de8d",
2598 | "8616c450dfbb44808823e554267c4363",
2599 | "7755709dc0e2426ca580797f0250f4ec",
2600 | "168573fe82f941acabaedfaf3eeae38a",
2601 | "dbc84ed6ccf147658500e4ad2048de36",
2602 | "f7076582ee924a1281cf7756aad96419",
2603 | "1ab1734fbb61468a9bcfaacfbd5f1a90",
2604 | "c917814187964ac0b003c1d700839ab8",
2605 | "306c2fd8b4d74972b29700917013cb86",
2606 | "ffe6765abe424c4b8d3cdf697c8e797f",
2607 | "79232d638c2744798d39fe139bdd3752",
2608 | "4c31b99a99a941e48b5cc790e055b59a",
2609 | "f1412c286a9648debd2b33576aaa6f62",
2610 | "c625cf48beee4230a5fc0b38cde1de6b",
2611 | "51983ce5278543dfba7ff4a954a7896d",
2612 | "2741ceebee32454386a10f7919173859",
2613 | "c9e3f9db2ac64a38b73ded85506901ec",
2614 | "80071bfa1ffc4a6babd1bf2f0039108f",
2615 | "8b02a148839e45889f76644f4e503bb3",
2616 | "b49f7f62f4014374ad079bb966116884",
2617 | "433389a888c2428191ab6cd0800d2e2f",
2618 | "b19b79cb5c5d48c9bf4da1a56eb0498d",
2619 | "f90978bd4b744ed092ebad23c5eff5d0",
2620 | "d6349bb74c5c41a0a1c6bb1eae1ee6c2",
2621 | "54340e1dca7242d6b6d40347288e44bf",
2622 | "e4b9f34bfead41f48eadd4525828c5d8",
2623 | "a95e7cb77c6a4e64932482dda4247568",
2624 | "87c115c6ce2e4cae828430d9f9f2dd68",
2625 | "7d57fac54fa241e5b18e906ad19187d1",
2626 | "179e98a15f074be29badddcbf5c57154",
2627 | "5be8c7b6d69246c98eca5e92d1ea8ceb",
2628 | "ef03cee926e6444d8a839b74523efe77",
2629 | "2fd828ea964b45629572d948b2c3aec9",
2630 | "c9a1f2db19ae4b5a93c6fb10cb5d36d2",
2631 | "5181701448f041a597007cfe001b21db",
2632 | "f852f2e1e11b4a009ea9fcfc0f30c882",
2633 | "73da1cab7da84a77885084b29bb58bee",
2634 | "7ab761927505446f8e3968cd64e1d080",
2635 | "3deebc5eb3034154a566e5ded28c0182",
2636 | "b93bd5cda1764354be05347d650e80ff",
2637 | "ce6864e8518f404b95e2911e90ecad60",
2638 | "d385f73685514b8e83d6eb67b90d86e4",
2639 | "dbc5f84db10d42d4b5f524787be4a304",
2640 | "3423a4637b184d1b8460e924916c1d4a",
2641 | "7c60751c930348bd9288021a4cb23681",
2642 | "94f5a2e220054ee4b74e8959fa91e29b",
2643 | "13ac32d5870246bf8da2c2877c699a42",
2644 | "16e847d72f37494d88e6d578df1e525d",
2645 | "c1adb36f732f4d2687dddbeab457e05d",
2646 | "8111df1211a2453fadf29d0f141fe34c",
2647 | "ed98324211a9472a9172dd1a226e8ba9",
2648 | "1d8a0683975d4a0ebcf94716eb7237de",
2649 | "2a239bd882af4900b6bbf40a4897af9b",
2650 | "d27ab1bf071642ec9d5488b03ed00e25",
2651 | "b057f1bfaafb4bc09b585a7d65c9b24a",
2652 | "ad7433298ca04f8fb71eeedbd3c1a84f",
2653 | "a77b3f5dab424f1a92bd0a16242a4008",
2654 | "155a0d1a9fdd47f9abb3c05f160c36d9",
2655 | "d282d6b2de8c43c594469bdc961c463e",
2656 | "62f7f6b3a3a54cf79c786eef3359b7ce",
2657 | "9cc2abea9e2c46bf97a7b5aecc098f5e",
2658 | "03f5cac3520f43068b6b250a5ece2575",
2659 | "1b122bdd166142b5b7e12808eec849ec",
2660 | "059c22d98b0f477d9a3fd9201fb88f61",
2661 | "e6e77dc2d5e34ff6921f66c982c3c3a8",
2662 | "7357a8c4d5df444dacbff559f849f60d",
2663 | "8c27b625285e4e008260623d1636a7c4",
2664 | "69eb657689c6421ebcd174c867d49adc",
2665 | "93fcf24672d84b59bb08ae5316afc956",
2666 | "1991bc9542ea408f98507bd1b6fd2f01",
2667 | "5b89adf0809c4b2f91217c3ba3b0a532",
2668 | "eec3ed7bc6834f3cba19f3e9b9f3d781",
2669 | "dd0c567e572d4c7aab8d598901f33f18",
2670 | "097f05383aba40bebd4969c43fd72348",
2671 | "935866a3b0e343da9a786437260e73f9",
2672 | "1de151ce6c5f45b88a1ba18f8222e3fc"
2673 | ]
2674 | },
2675 | "id": "44p7O3RfayWL",
2676 | "outputId": "846f8899-bbb9-476b-b9b7-152a5573172b"
2677 | },
2678 | "execution_count": 7,
2679 | "outputs": [
2680 | {
2681 | "output_type": "stream",
2682 | "name": "stderr",
2683 | "text": [
2684 | "/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n",
2685 | "The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
2686 | "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
2687 | "You will be able to reuse this secret in all of your notebooks.\n",
2688 | "Please note that authentication is recommended but still optional to access public models or datasets.\n",
2689 | " warnings.warn(\n"
2690 | ]
2691 | },
2692 | {
2693 | "output_type": "display_data",
2694 | "data": {
2695 | "text/plain": [
2696 | "tokenizer_config.json: 0%| | 0.00/525 [00:00, ?B/s]"
2697 | ],
2698 | "application/vnd.jupyter.widget-view+json": {
2699 | "version_major": 2,
2700 | "version_minor": 0,
2701 | "model_id": "e8d3c13cb61e48ccabcb333854ac0f02"
2702 | }
2703 | },
2704 | "metadata": {}
2705 | },
2706 | {
2707 | "output_type": "display_data",
2708 | "data": {
2709 | "text/plain": [
2710 | "vocab.json: 0%| | 0.00/999k [00:00, ?B/s]"
2711 | ],
2712 | "application/vnd.jupyter.widget-view+json": {
2713 | "version_major": 2,
2714 | "version_minor": 0,
2715 | "model_id": "79232d638c2744798d39fe139bdd3752"
2716 | }
2717 | },
2718 | "metadata": {}
2719 | },
2720 | {
2721 | "output_type": "display_data",
2722 | "data": {
2723 | "text/plain": [
2724 | "merges.txt: 0%| | 0.00/456k [00:00, ?B/s]"
2725 | ],
2726 | "application/vnd.jupyter.widget-view+json": {
2727 | "version_major": 2,
2728 | "version_minor": 0,
2729 | "model_id": "b19b79cb5c5d48c9bf4da1a56eb0498d"
2730 | }
2731 | },
2732 | "metadata": {}
2733 | },
2734 | {
2735 | "output_type": "display_data",
2736 | "data": {
2737 | "text/plain": [
2738 | "special_tokens_map.json: 0%| | 0.00/470 [00:00, ?B/s]"
2739 | ],
2740 | "application/vnd.jupyter.widget-view+json": {
2741 | "version_major": 2,
2742 | "version_minor": 0,
2743 | "model_id": "2fd828ea964b45629572d948b2c3aec9"
2744 | }
2745 | },
2746 | "metadata": {}
2747 | },
2748 | {
2749 | "output_type": "display_data",
2750 | "data": {
2751 | "text/plain": [
2752 | "config.json: 0%| | 0.00/704 [00:00, ?B/s]"
2753 | ],
2754 | "application/vnd.jupyter.widget-view+json": {
2755 | "version_major": 2,
2756 | "version_minor": 0,
2757 | "model_id": "3423a4637b184d1b8460e924916c1d4a"
2758 | }
2759 | },
2760 | "metadata": {}
2761 | },
2762 | {
2763 | "output_type": "display_data",
2764 | "data": {
2765 | "text/plain": [
2766 | "model.safetensors: 0%| | 0.00/3.55G [00:00, ?B/s]"
2767 | ],
2768 | "application/vnd.jupyter.widget-view+json": {
2769 | "version_major": 2,
2770 | "version_minor": 0,
2771 | "model_id": "b057f1bfaafb4bc09b585a7d65c9b24a"
2772 | }
2773 | },
2774 | "metadata": {}
2775 | },
2776 | {
2777 | "output_type": "display_data",
2778 | "data": {
2779 | "text/plain": [
2780 | "generation_config.json: 0%| | 0.00/242 [00:00, ?B/s]"
2781 | ],
2782 | "application/vnd.jupyter.widget-view+json": {
2783 | "version_major": 2,
2784 | "version_minor": 0,
2785 | "model_id": "7357a8c4d5df444dacbff559f849f60d"
2786 | }
2787 | },
2788 | "metadata": {}
2789 | }
2790 | ]
2791 | },
2792 | {
2793 | "cell_type": "markdown",
2794 | "source": [
2795 | "# Click to import midi! (Expand cell and run, skip if you want to do from scratch)"
2796 | ],
2797 | "metadata": {
2798 | "id": "FuOxFis7PsYX"
2799 | }
2800 | },
2801 | {
2802 | "cell_type": "code",
2803 | "source": [
2804 | "from google.colab import files\n",
2805 | "uploaded = files.upload()\n",
2806 | "\n",
2807 | "for key in uploaded.keys():\n",
2808 | " target_midi = key"
2809 | ],
2810 | "metadata": {
2811 | "id": "pRC4_6tyPyX6",
2812 | "colab": {
2813 | "base_uri": "https://localhost:8080/",
2814 | "height": 1000
2815 | },
2816 | "outputId": "86d6b86f-b7db-4cd7-eb37-f7ae1a79d3f9"
2817 | },
2818 | "execution_count": 8,
2819 | "outputs": [
2820 | {
2821 | "output_type": "display_data",
2822 | "data": {
2823 | "text/plain": [
2824 | ""
2825 | ],
2826 | "text/html": [
2827 | "\n",
2828 | " \n",
2830 | " \n",
2831 | " Upload widget is only available when the cell has been executed in the\n",
2832 | " current browser session. Please rerun this cell to enable.\n",
2833 | " \n",
2834 | " "
3010 | ]
3011 | },
3012 | "metadata": {}
3013 | },
3014 | {
3015 | "output_type": "stream",
3016 | "name": "stderr",
3017 | "text": [
3018 | "ERROR:root:Internal Python error in the inspect module.\n",
3019 | "Below is the traceback from this internal error.\n",
3020 | "\n"
3021 | ]
3022 | },
3023 | {
3024 | "output_type": "stream",
3025 | "name": "stdout",
3026 | "text": [
3027 | "Traceback (most recent call last):\n",
3028 | " File \"/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py\", line 3553, in run_code\n",
3029 | " exec(code_obj, self.user_global_ns, self.user_ns)\n",
3030 | " File \"\", line 2, in \n",
3031 | " uploaded = files.upload()\n",
3032 | " ^^^^^^^^^^^^^^\n",
3033 | " File \"/usr/local/lib/python3.11/dist-packages/google/colab/files.py\", line 72, in upload\n",
3034 | " uploaded_files = _upload_files(multiple=True)\n",
3035 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3036 | " File \"/usr/local/lib/python3.11/dist-packages/google/colab/files.py\", line 164, in _upload_files\n",
3037 | " result = _output.eval_js(\n",
3038 | " ^^^^^^^^^^^^^^^^\n",
3039 | " File \"/usr/local/lib/python3.11/dist-packages/google/colab/output/_js.py\", line 40, in eval_js\n",
3040 | " return _message.read_reply_from_input(request_id, timeout_sec)\n",
3041 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3042 | " File \"/usr/local/lib/python3.11/dist-packages/google/colab/_message.py\", line 96, in read_reply_from_input\n",
3043 | " time.sleep(0.025)\n",
3044 | "KeyboardInterrupt\n",
3045 | "\n",
3046 | "During handling of the above exception, another exception occurred:\n",
3047 | "\n",
3048 | "Traceback (most recent call last):\n",
3049 | " File \"/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py\", line 2099, in showtraceback\n",
3050 | " stb = value._render_traceback_()\n",
3051 | " ^^^^^^^^^^^^^^^^^^^^^^^^\n",
3052 | "AttributeError: 'KeyboardInterrupt' object has no attribute '_render_traceback_'\n",
3053 | "\n",
3054 | "During handling of the above exception, another exception occurred:\n",
3055 | "\n",
3056 | "Traceback (most recent call last):\n",
3057 | " File \"/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\", line 1101, in get_records\n",
3058 | " return _fixed_getinnerframes(etb, number_of_lines_of_context, tb_offset)\n",
3059 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3060 | " File \"/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\", line 248, in wrapped\n",
3061 | " return f(*args, **kwargs)\n",
3062 | " ^^^^^^^^^^^^^^^^^^\n",
3063 | " File \"/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\", line 281, in _fixed_getinnerframes\n",
3064 | " records = fix_frame_records_filenames(inspect.getinnerframes(etb, context))\n",
3065 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3066 | " File \"/usr/lib/python3.11/inspect.py\", line 1739, in getinnerframes\n",
3067 | " traceback_info = getframeinfo(tb, context)\n",
3068 | " ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3069 | " File \"/usr/lib/python3.11/inspect.py\", line 1684, in getframeinfo\n",
3070 | " filename = getsourcefile(frame) or getfile(frame)\n",
3071 | " ^^^^^^^^^^^^^^^^^^^^\n",
3072 | " File \"/usr/lib/python3.11/inspect.py\", line 948, in getsourcefile\n",
3073 | " module = getmodule(object, filename)\n",
3074 | " ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
3075 | " File \"/usr/lib/python3.11/inspect.py\", line 997, in getmodule\n",
3076 | " os.path.realpath(f)] = module.__name__\n",
3077 | " ^^^^^^^^^^^^^^^^^^^\n",
3078 | " File \"\", line 416, in realpath\n",
3079 | " File \"\", line 451, in _joinrealpath\n",
3080 | "KeyboardInterrupt\n"
3081 | ]
3082 | },
3083 | {
3084 | "output_type": "error",
3085 | "ename": "TypeError",
3086 | "evalue": "object of type 'NoneType' has no len()",
3087 | "traceback": [
3088 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
3089 | "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
3090 | " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n",
3091 | "\u001b[0;32m\u001b[0m in \u001b[0;36m| \u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mgoogle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0muploaded\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfiles\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
3092 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36mupload\u001b[0;34m(target_dir)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m \u001b[0muploaded_files\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_upload_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmultiple\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 73\u001b[0m \u001b[0;31m# Mapping from original filename to filename as saved locally.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
3093 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/google/colab/files.py\u001b[0m in \u001b[0;36m_upload_files\u001b[0;34m(multiple)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;31m# First result is always an indication that the file picker has completed.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m result = _output.eval_js(\n\u001b[0m\u001b[1;32m 165\u001b[0m 'google.colab._files._uploadFiles(\"{input_id}\", \"{output_id}\")'.format(\n",
3094 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/google/colab/output/_js.py\u001b[0m in \u001b[0;36meval_js\u001b[0;34m(script, ignore_result, timeout_sec)\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mreturn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_reply_from_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout_sec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
3095 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/google/colab/_message.py\u001b[0m in \u001b[0;36mread_reply_from_input\u001b[0;34m(message_id, timeout_sec)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mreply\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_NOT_READY\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreply\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 96\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.025\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 97\u001b[0m \u001b[0;32mcontinue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
3096 | "\u001b[0;31mKeyboardInterrupt\u001b[0m: ",
3097 | "\nDuring handling of the above exception, another exception occurred:\n",
3098 | "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
3099 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py\u001b[0m in \u001b[0;36mshowtraceback\u001b[0;34m(self, exc_tuple, filename, tb_offset, exception_only, running_compiled_code)\u001b[0m\n\u001b[1;32m 2098\u001b[0m \u001b[0;31m# in the engines. This should return a list of strings.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2099\u001b[0;31m \u001b[0mstb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_render_traceback_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2100\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
3100 | "\u001b[0;31mAttributeError\u001b[0m: 'KeyboardInterrupt' object has no attribute '_render_traceback_'",
3101 | "\nDuring handling of the above exception, another exception occurred:\n",
3102 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
3103 | " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n",
3104 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py\u001b[0m in \u001b[0;36mshowtraceback\u001b[0;34m(self, exc_tuple, filename, tb_offset, exception_only, running_compiled_code)\u001b[0m\n\u001b[1;32m 2099\u001b[0m \u001b[0mstb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_render_traceback_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2100\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2101\u001b[0;31m stb = self.InteractiveTB.structured_traceback(etype,\n\u001b[0m\u001b[1;32m 2102\u001b[0m value, tb, tb_offset=tb_offset)\n\u001b[1;32m 2103\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
3105 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\u001b[0m in \u001b[0;36mstructured_traceback\u001b[0;34m(self, etype, value, tb, tb_offset, number_of_lines_of_context)\u001b[0m\n\u001b[1;32m 1365\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1366\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtb\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1367\u001b[0;31m return FormattedTB.structured_traceback(\n\u001b[0m\u001b[1;32m 1368\u001b[0m self, etype, value, tb, tb_offset, number_of_lines_of_context)\n\u001b[1;32m 1369\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
3106 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\u001b[0m in \u001b[0;36mstructured_traceback\u001b[0;34m(self, etype, value, tb, tb_offset, number_of_lines_of_context)\u001b[0m\n\u001b[1;32m 1265\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mverbose_modes\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1266\u001b[0m \u001b[0;31m# Verbose modes need a full traceback\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1267\u001b[0;31m return VerboseTB.structured_traceback(\n\u001b[0m\u001b[1;32m 1268\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0metype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtb_offset\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnumber_of_lines_of_context\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1269\u001b[0m )\n",
3107 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\u001b[0m in \u001b[0;36mstructured_traceback\u001b[0;34m(self, etype, evalue, etb, tb_offset, number_of_lines_of_context)\u001b[0m\n\u001b[1;32m 1122\u001b[0m \u001b[0;34m\"\"\"Return a nice text document describing the traceback.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1123\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1124\u001b[0;31m formatted_exception = self.format_exception_as_a_whole(etype, evalue, etb, number_of_lines_of_context,\n\u001b[0m\u001b[1;32m 1125\u001b[0m tb_offset)\n\u001b[1;32m 1126\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
3108 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\u001b[0m in \u001b[0;36mformat_exception_as_a_whole\u001b[0;34m(self, etype, evalue, etb, number_of_lines_of_context, tb_offset)\u001b[0m\n\u001b[1;32m 1080\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1081\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1082\u001b[0;31m \u001b[0mlast_unique\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecursion_repeat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfind_recursion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0morig_etype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mevalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecords\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1083\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1084\u001b[0m \u001b[0mframes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat_records\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrecords\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlast_unique\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecursion_repeat\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
3109 | "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/IPython/core/ultratb.py\u001b[0m in \u001b[0;36mfind_recursion\u001b[0;34m(etype, value, records)\u001b[0m\n\u001b[1;32m 380\u001b[0m \u001b[0;31m# first frame (from in to out) that looks different.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 381\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mis_recursion_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0metype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrecords\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 382\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrecords\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 383\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 384\u001b[0m \u001b[0;31m# Select filename, lineno, func_name to track frames with\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
3110 | "\u001b[0;31mTypeError\u001b[0m: object of type 'NoneType' has no len()"
3111 | ]
3112 | }
3113 | ]
3114 | },
3115 | {
3116 | "cell_type": "markdown",
3117 | "source": [
3118 | "# Generate"
3119 | ],
3120 | "metadata": {
3121 | "id": "ZXZv5iX5TI7B"
3122 | }
3123 | },
3124 | {
3125 | "cell_type": "code",
3126 | "source": [
3127 | "# How long to generate basically (1 -> ~30 sec)\n",
3128 | "num_iterations = 2#@param {type:\"integer\"}\n",
3129 | "last_file_name = target_midi\n",
3130 | "genre = \"soundtrack\"#@param [\"classical\", \"nan\", \"rock\", \"metal\", \"pop\", \"jazz\", \"romantic\"] {allow-input: true}\n",
3131 | "temperature = 0.82#@param {type:\"number\"}\n",
3132 | "_is_empty_run = False\n",
3133 | "\n",
3134 | "for iter in range(num_iterations):\n",
3135 | " if last_file_name == None:\n",
3136 | " mid = MIDI()\n",
3137 | " else:\n",
3138 | " mid = MIDI(last_file_name)\n",
3139 | "\n",
3140 | " generations = ai.continueMusic(genre + \" | . start\", mid, temperature=temperature)\n",
3141 | " for i, generation in enumerate(generations):\n",
3142 | " last_file_name = f\"AIPiece_iter{iter}.mid\"\n",
3143 | " generation.save(last_file_name)\n",
3144 | "\n",
3145 | "print(f\"Generation Complete! Look for {last_file_name} in the OpenMusenet2/src/OpenMusenet3 folder\")"
3146 | ],
3147 | "metadata": {
3148 | "colab": {
3149 | "base_uri": "https://localhost:8080/"
3150 | },
3151 | "id": "conJIfEeQzth",
3152 | "outputId": "1395141d-812a-45f8-c96c-c425949e0174"
3153 | },
3154 | "execution_count": 12,
3155 | "outputs": [
3156 | {
3157 | "output_type": "stream",
3158 | "name": "stdout",
3159 | "text": [
3160 | ". soundtrack | . start |\n",
3161 | ". soundtrack |0#120)36|240#240%64|0#240%59|0#240%52|0#240^52|0#240^47|0#240^40|0$120)48|0$120)41|0$120)36|240#240%64|0#240%59|0#240%52|0#240^52|0#240^47|0#240^40|0$120)48|0$120)41|0$120)36|240#240%61|0#240%56|0#240%49|0#240^56|0#240^51|0#240^44|0#960;53|0#960\"77|0#960\"73|0#960\"68|0$120)48|0$120)41|0$120)36|240#240%61|0#240%56|0#240%49|0#240^56|0#240^51|0#240^44|0$120)48|0$120)41|0$120)36|240#240%61|0#240%56|0#240%49|0#240^56|0#240^51|0#240^44|0$120)48|0$120)41|0$120)36|240#240%61|0#240%56|0#240%49|0#240^56|0#240^51|0#240^44|0$120)48|0$120)41|0$120)36|240#1440&52|0#240;52|0#240\"71|0#240\"67|0#240\"64|0#120)49|0$120)36|240#240;52|0#240\"71|0#240\"67|0#240\"64|240$120)38|0#120)42|240#720;50|0#720\"69|0#720\"66|0#720\"62|0$120)36|240#120)42|480#2400*54|0$120)38|0#120)42|240$120)36|240#960;55|0#1920\"74|0#1920\"71|0#1920\"67|0$120)36|0#120)42|480$120)38|0#120)42|240$120)36|240#960;54|0#120)42|480#120)38|0#120)42|240$120)36|240#960*57|0#720;53|0#1920\"76|0#1920\"72|0#1920\"69|0$120)36|0#120)42|480$120)38|0#120)42|240#960;55|0$120)36|240#960&60|0#120)42|480$120)38|0#120)42|480@240%64|0@240%59|0@240%52|0#1920&59|0#960;56|0#960\"76|0#960\"71|0#960\"68|0#120)42|0#120)43|0#120)36|240@240%64|0@240%59|0@240%52|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0#120)42|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0#960;55|0#960\"76|0#960\"71|0#960\"67|0#120)42|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0#120)42|0$120)43|0$120)36|240@240%64|0@240%59|0@240%52|0$120)43|0$120)36|240#240%64|0#240%59|0#240%52|0#240^52|0#240^47|0#240^40|0#960;54|0#960\"76|0#960\"71|0#960\"66|0$120)48|0$120)41|0$120)36|240#240%64|0#240%59|0#240%52|0#240^52|0#240^47|0#240^40|0#120)48|0#120)41|0#120)36|240#240%64|0#240%59|0#240%52|0#240^52|0#240^47|0#240^40|0$120)48|0$120)41|0$120)36|240#240%64|0#240%59|0#240%52|0#240^52|\n",
3162 | "Generation Complete! Look for AIPiece_iter1.mid in the OpenMusenet2/src/OpenMusenet3 folder\n"
3163 | ]
3164 | }
3165 | ]
3166 | },
3167 | {
3168 | "cell_type": "code",
3169 | "source": [],
3170 | "metadata": {
3171 | "id": "RIqjkft0bzo9"
3172 | },
3173 | "execution_count": null,
3174 | "outputs": []
3175 | }
3176 | ]
3177 | }
--------------------------------------------------------------------------------
| |