Что означает «In [*]» в блокнотах Jupyter?
спросил
Изменено 6 месяцев назад
Просмотрено 108 тысяч раз
Что означает В [*]
в левом верхнем углу ячейки при работе с блокнотом Jupyter?
Я знаю, что когда ячейка в блокноте Jupyter не запущена, она отображается как In[ ]
, после запуска ячейки отображается как In[num]
.
Что насчет В [*]
означает ли это, что эта ячейка сейчас работает?
- Jupyter-ноутбук
4
Это означает, что ваше ядро занято. Если вы хотите прервать/остановить выполнение, перейдите в меню «Ядро» и нажмите «Прервать». Если это не сработает, нажмите «Перезагрузить».
2
Когда ячейка отображается как занятая со звездочкой, это может означать одно из нескольких:
- Ячейка в настоящее время выполняется.
- В ячейку была отправлена команда «выполнить», но в данный момент выполняется другая ячейка. Ячейка выполнится, когда придет ее очередь.
- Ядро было прервано/перезапущено во время выполнения ячейки, в настоящее время оно не выполняется.
это будет означать, что время ожидания вашего кода истекло или закончилась память, Проверьте наличие бесконечных циклов или утечек памяти.
Если ячейка отмечена звездочкой, это означает, что она занята. Это может означать, что: 1) сейчас выполняется ячейка; 2) или он будет выполнен, когда придет его очередь. 3) или он не выполняется, потому что ядро было перезапущено или прервано.
Я рекомендую вам сохранить файл и перезапустить ядро, не запуская все, но если вы уверены, что все может работать без проблем, просто сделайте это, и это будет быстрее для вас.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Требуется, но не отображается
Формат Jupyter Notebook — документация IPython 3.
2.1Предупреждение
Эта документация предназначена для старой версии IPython. Вы можете найти документы для более новых версий здесь.
Введение
Файлы записной книжки Jupyter (né IPython) — это простые документы JSON, содержащий текст, исходный код, мультимедийный вывод и метаданные. каждый сегмент документа хранится в ячейке.
Некоторые общие сведения о формате записной книжки:
Примечание
Все поля метаданных являются необязательными. Хотя тип и значения некоторых метаданных определены, не требуется определять значения метаданных.
Структура верхнего уровня
На самом высоком уровне записная книжка Jupyter представляет собой словарь с несколькими ключами:
- метаданные (dict)
- nbformat (целое число)
- nbformat_minor (целое число)
- ячеек (список)
{ "метаданные": { "signature": "hex-digest", # используется для аутентификации небезопасных выходов при загрузке "ядро_информация": { # если kernel_info определен, поле его имени обязательно. "name" : "имя ядра" }, "язык_информация": { # если определено language_info, то поле его имени обязательно. "name": "язык программирования ядра", "версия": "версия языка", "codemirror_mode": "Название используемого режима codemirror [необязательно]" } }, "нбформат": 4, "nbformat_minor": 0, "клетки": [ # список словарей ячеек, см. ниже ], }
Некоторые поля, такие как ввод кода и вывод текста, обычно представляют собой многострочные строки.
Когда эти поля записываются на диск, они ''
при обратном чтении в память.
В программных API для работы с блокнотами (Python, Javascript),
они всегда повторно присоединяются к исходной многострочной строке.
Если вы собираетесь работать с файлами записной книжки напрямую,
вы должны разрешить многострочным строковым полям быть либо строкой, либо списком строк.
Типы ячеек
Существует несколько основных типов ячеек для инкапсуляции кода и текста. Все ячейки имеют следующую базовую структуру:
{ "cell_type": "имя", "метаданные": {}, "источник": "одна строка или [список, строк]", }
Ячейки уценки
Ячейки уценки используются для основного текста и содержат уценку, как определено в уценке со вкусом GitHub и реализовано в файлеmarked.
{ "cell_type": "уценка", "метаданные": {}, "источник": ["некоторые *уценки*"], }
Изменено в версии nbformat: 4.0
Ячейки заголовков удалены в пользу простых заголовков в уценке.
Ячейки кода
Ячейки кода являются основным содержимым блокнотов Jupyter.
Они содержат исходный код на языке связанного с документом ядра,
и список выходных данных, связанных с выполнением этого кода.
У них также есть execute_count, который должен быть целым числом или null
.
{ "cell_type": "код", "выполнение_счетчик": 1, # целое число или ноль "метаданные": { "collapsed" : True, # свернут ли вывод ячейки "autoscroll": False, # любой из true, false или "auto" }, "источник": ["какой-то код"], "выход": [{ # список выходных диктов (описано ниже) "output_type": "поток", . .. }], }
Изменено в версии nbformat: 4.0
ввод
был переименован в источник
для согласованности между типами ячеек.
Изменено в версии nbformat: 4.0
prompt_number
переименован в execute_count
Выходные данные ячейки кода
Ячейка кода может иметь различные выходные данные (потоковые данные или расширенный вывод MIME-типа). Они соответствуют сообщениям, созданным в результате выполнения ячейки.
Все выходы имеют output_type
поле,
которая представляет собой строку, определяющую тип вывода.
поток вывода
{ "output_type": "поток", "имя" : "stdout", # или stderr "текст" : ["текст многострочного потока"], }
Изменено в версии nbformat: 4.0
Ключи поток
ключ изменен на имя
для соответствия
потоковое сообщение.
display_data
Расширенные выходные данные дисплея, созданные сообщениями display_data
,
содержат данные с ключом mime-типа.
{ "output_type": "display_data", "данные" : { "text/plain" : ["многострочные текстовые данные"], "изображение/png": ["base64-кодированные-png-данные"], "приложение/json": { # Данные JSON включены как есть "json": "данные", }, }, "метаданные": { "изображение/png": { "ширина": 640, "высота": 480, }, }, }
Изменено в версии nbformat: 4.0
вывод application/json
больше не сериализуется дважды в строку.
Изменено в версии nbformat: 4.0
mime-типы используются для ключей вместо комбинации коротких имен ( text
)
и mime-типы, и хранятся в ключе данных
, а не в ключе верхнего уровня.
то есть output.data['image/png']
вместо output.png
.
execute_result
Результаты выполнения ячейки (созданы displayhook
в Python)
хранятся в выходных данных execute_result
. execute_result
выходные данные идентичны display_data
,
добавление только поля execute_count
, которое должно быть целым числом.
{ "тип_вывода": "результат_выполнения", "количество_выполнений": 42, "данные" : { "text/plain" : ["многострочные текстовые данные"], "изображение/png": ["base64-кодированные-png-данные"], "приложение/json": { # Данные JSON включены как есть "json": "данные", }, }, "метаданные": { "изображение/png": { "ширина": 640, "высота": 480, }, }, }
Изменено в версии nbformat: 4.0
pyout
переименован в execute_result
Изменено в версии nbformat: 4.0
prompt_number
переименован в execute_count
ошибка
При неудачном выполнении может отображаться трассировка
{ 'ename' : str, # Имя исключения в виде строки 'evalue' : str, # Значение исключения в виде строки # Трассировка будет содержать список кадров, # представляет каждый в виде строки. 'трассировка': список, }
Изменено в версии nbformat: 4.0
pyerr
переименован в error
Необработанные ячейки NBConvert
Необработанная ячейка определяется как содержимое, которое должно быть включено без изменений в выходные данные nbconvert. Например, эта ячейка может включать необработанный LaTeX для nbconvert в pdf через латекс, или реструктурированный текст для использования в документации Sphinx.
Среда разработки блокнота не отображает необработанные ячейки.
Единственной логикой в необработанной ячейке является поле метаданных формата
.
Если он определен, он указывает, какой выходной формат nbconvert является предполагаемой целью.
для исходной ячейки. При выводе в любой другой формат
содержимое необработанной ячейки будет исключено.
В случае по умолчанию, когда это значение не определено,
содержимое необработанной ячейки будет включено в любой вывод nbconvert,
независимо от формата.
{ "cell_type": "сырой", "метаданные": { # mime-тип целевого формата nbconvert. # nbconvert в форматы, отличные от этого, исключит эту ячейку. «формат» : «мим/тип» }, "источник": ["некоторые данные MIME-типа nbformat"] }
Изменения, совместимые с предыдущими версиями
Формат ноутбука — это развивающийся формат. Когда вносятся обратно совместимые изменения, младшая версия формата ноутбука увеличивается. Когда вносятся обратно несовместимые изменения, основная версия увеличивается.
Начиная с nbformat 4.x, обратно совместимые изменения включают:
- новые поля в любом словаре (блокнот, ячейка, выходные данные, метаданные и т. д.)
- новых типов клеток
- новые типы выходов
Новые ячейки или типы вывода не будут отображаться в версиях, которые их не распознают, но они будут сохранены.
Метаданные
Метаданные — это место, куда вы можете поместить произвольную информацию в формате JSON. блокнота, ячейки или выходных данных. Поскольку это общее пространство имен,
любые пользовательские метаданные должны использовать достаточно уникальное пространство имен,
например metadata.kaylees_md.foo = "бар"
.
Поля метаданных, официально определенные для ноутбуков Jupyter, перечислены здесь:
Метаданные ноутбука
Следующие ключи метаданных определены на уровне ноутбука:
Ключ | Значение | Интерпретация |
---|---|---|
спецификация ядра | дикт | Спецификация ядра |
подпись | ул | Хэшированная подпись блокнота |
Метаданные ячейки
На уровне ячейки определены следующие ключи метаданных:
Ключ | Значение | Интерпретация |
---|---|---|
сложенный | логический | Следует ли свернуть контейнер вывода ячейки |
автопрокрутка | bool или «авто» | Является ли вывод ячейки прокручиваемым, непрокручиваемым или автоматически прокручиваемым |
удаляемый | логический | Если False, предотвратить удаление ячейки |
формат | «пантомима/тип» | Mime-тип необработанной ячейки NBConvert |
наименование | ул | Имя ячейки. |