Автоматическое время выполнения ячейки в лаборатории jupyter

В jupyter ноутбук я могу настроить автоматическую синхронизацию ячеек с помощью nbextensions, результат будет таким:

Автоматическое время выполнения ячейки в лаборатории jupyter

Как я могу сделать это в jupyter лаборатория? Я не нашел никаких расширений, которые делают подобную вещь.

Обс.: Я знаю, что аналогичного результата можно добиться с помощью магии %%time, но я хочу, чтобы это было автоматически, поэтому мне не нужно размещать магическую функцию в начале каждой ячейки.

Если вы не против написать код самостоятельно, вы можете использовать хуки post и pre exute, как в этом ответе: stackoverflow.com/a/50648266/6646912

krassowski 02.07.2019 22:31

Официальная тема: github.com/jupyterlab/jupyterlab/issues/3320 Помогает ли это?

marc-cejalvo 09.03.2020 10:18
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
27
2
13 802
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Требование

JupyterLab >= 2.0.2

Давайте двигаться шаг за шагом

Расширение доступно в jupyter lab

jupyterlab-execute-time

сначала включите диспетчер расширений

после включения вы видите новую кнопку на боковой панели задач в конце "Диспетчер расширений"

Вы также можете включить его, выполнив следующие действия:

  1. Зайдите в редактор расширенных настроек.
  2. Откройте раздел «Диспетчер расширений».
  3. Добавьте запись «включено»: true.
  4. Сохраните настройки. Если вас спросят, уверены ли вы, прочитайте предупреждение и нажмите «Включить», если вы все еще уверены. После включения вы должны увидеть новую вкладку на левой боковой панели.

По умолчанию отказ от ответственности не подтверждается.

Поскольку отказ от ответственности не подтвержден, вы можете искать расширение, но не можете его установить (кнопка установки недоступна).

Чтобы установить extensino, вы сначала должны явно подтвердить заявление об отказе от ответственности. После этого это останется в сеансах, и пользователю не нужно будет проверять это снова.

Поиск расширения

поиск jupyterlab-время выполнения

Install Enable

После включения вы должны перестроить его: в маленьком всплывающем окне нажмите Rebulid;

тогда вам нужно перезапустить ядро

Тем не менее вы обнаружите, что не сможете увидеть то, что хотите:

Последнее

Примечание: чтобы это что-то отображало, вам нужно включить синхронизацию ячеек в блокноте через Настройки-> Редактор дополнительных настроек-> Блокнот: {"recordTiming": true}

редактор расширенных настроек

наконец, "recordTiming" = true

и сохраните его в правом конце!

ты мой господин и спаситель!

Asher11 06.12.2020 14:47

Привет, спасибо за подробное объяснение. Я получаю сообщение об ошибке: «Произошла ошибка при установке <code>jupyterlab-execute-time</code>. Сообщение об ошибке: расширение «jupyterlab-execute-time» еще не поддерживает текущую версию JupyterLab. Конфликтующие зависимости: Пакет расширения JupyterLab >=3.0.4 <3.1.0 >=2.0.2 <3.0.0 @jupyterlab/application >=3.0.4 <3.1.0 >=2.0.2 <3.0.0 @jupyterlab/notebook >=3.0.2 <3.1.0 >=2.0.1 <3.0.0 @jupyterlab/settingregistry ``` есть идеи, что я могу сделать?

Leonid Ganeline 13.02.2021 01:35

@LeonidGaneline не работает для вашей версии jupyter-lab. Он поддерживает <3.0.0, поэтому вы можете использовать его с более ранними версиями jupyter-lab. надеюсь исправят.

tyasird 11.03.2021 14:06

По состоянию на 02.04.21 это работает для JupyterLab v3.0.12.

Jadon 02.04.2021 16:46

В моем случае последний шаг: обновить браузер, чтобы jupyterlab мог пересобрать и показать сообщение о времени.

Ziu 25.05.2021 09:13

Я получаю ту же ошибку (7.12.21), что и Леонид на v3.0.14. Однако в нем перечислены зависимости >= 3.0.9 и >= 3.0.5, поэтому я не понимаю, как это работало для Jadon v3.012.

Semiclassical 07.12.2021 19:00

Нет необходимости в расширении.

Просто используйте (в любой ячейке):

try:
    %load_ext autotime
except:
    !pip install ipython-autotime
    %load_ext autotime

Чтобы остановить синхронизацию ячеек, используйте:

%unload_ext autotime

По достоинству оценил ответ @welcome_back, но вам не нужно связываться с менеджером расширений jupyter, особенно если вас беспокоят эти предупреждения.

Включить время выполнения в 3 шага

  • установить этот пакет !pip install jupyterlab_execute_time
  • перезагрузить страницу jupyterlab (закрывать не нужно)
  • перейдите в раздел блокнота в расширенных настройках jupyterlab и вставьте этот код
{"recordTiming": true}
И вуаля!! вы сделали! ?

Другие вопросы по теме