├── 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 | 6 | -------------------------------------------------------------------------------- /OpenMusenet3/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenMusenet3/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 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 | 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" 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 | } --------------------------------------------------------------------------------