Я уверен, что это очень новый вопрос, поэтому я заранее извиняюсь. Я пытаюсь использовать ipython notebook для группового проекта. Программа, которую мы строим, довольно велика и тянет большое количество внешних наборов данных. В большинстве случаев Ipython, похоже, перестает работать. Я попытаюсь запустить ячейку или несколько ячеек, и ничего не произойдет (кроме маленькой звездочки * появится в скобках [] слева от ячейки). Даже если я попытаюсь просто добавить новую ячейку и выполнить 2 + 2, ничего не произойдет. Что здесь происходит? Как это исправить? Благодаря!Почему блоки Ipython прекращают выполнение?
ответ
Звездочка рядом с ячейкой [*]
указывает, что ячейка в данный момент выполняется. Хотя IPython предоставляет каждому ноутбуку свое собственное ядро, есть только одно ядро на блокнот. Когда это ядро занято выполнением кода (либо ячейки, либо серии ячеек), оно не может принимать или запускать какой-либо дополнительный код до тех пор, пока то, что он в данный момент делает, закончено. Новые исполнения сидят в очереди, пока ядро не будет готово.
Если вы подождете достаточно долго после попытки выполнить 2+2
, вы должны найти, что он будет в конечном итоге выполнить (при условии, что ваш основной код когда-либо выходит).
Решение этого зависит от вашего кода и от того, сколько времени вы готовы ждать, чтобы получить результаты. Как правило, попробуйте следующее:
- использовать меньший набор данные для тестирования алгоритма, а затем масштабировать до постепенно отмечая увеличение времени. Это будет возможно с вашим полным набором данных?
- Является ли ваш алгоритм чтения/записи на диск? Можете ли вы избежать этого или предварительно загрузить/пост-сохранить состояние?
- Возможно ли разделение ваших данных на партии?
- Если ваш алгоритм является пакетным, можете ли вы его распараллелить, чтобы наилучшим образом использовать ваш процессор?
Вы можете прервать ядро, однако это не сработает, если выполнение в настоящее время выходит из рук ядра, например. в внешних C-модулях (например, много numpy
). В этих случаях вам может потребоваться перезагрузка полностью.
- 1. Swing Рабочие потоки прекращают выполнение кода неожиданно
- 2. Как тестовые среды прекращают выполнение текущих тестов?
- 3. Когда функция или метод прекращают выполнение?
- 4. Выполнение процессора, когда блоки Async завершают выполнение
- 5. Интерактивно запускайте блоки скриптов в IPython
- 6. Нити Gpars.withPool в конечном итоге прекращают выполнение после многократного повторения
- 7. Java-потоки прекращают бегать внезапно
- 8. Выполнение файла python из IPython
- 9. Все проекты прекращают работу
- 10. Журналы Heroku прекращают работать
- 11. Все NSTimers, запущенные после предыдущего таймера, который был признан недействительным, прекращают выполнение, а не продолжают выполнение.
- 12. Одновременное выполнение как если и остальное блоки
- 13. Сделайте лишние кодовые блоки-области - замедлите выполнение?
- 14. Блоки Objective-C и выполнение данных
- 15. IPython: выполнение функции после ctrl + d keypress
- 16. Выполнение «python setup.py install» внутри ноутбука iPython
- 17. Выполнение команд bash параллельно с использованием iPython
- 18. Выполнение IPython Tab-Complete Hierarchical pandas DataFrames
- 19. Выполнение кода Python в ядре IPython
- 20. Выполнение скрипта Ipython из системной оболочки
- 21. Выполнение кода iPython/Intellisense на Dot возможно?
- 22. Выполнение IPython-кода в текстовом редакторе
- 23. Почему некоторые события андроидов прекращают распространение, а другие не нужны?
- 24. Почему события в сетчатой панели прекращают стрельбу в ExtJS 4?
- 25. Почему попробовать блоки нужно поймать
- 26. Почему блоки запрета Django внутри?
- 27. КОД :: БЛОКИ - почему путь неверен?
- 28. Почему файлы .c содержат блоки?
- 29. Почему мы используем, наконец, блоки?
- 30. Ссылки прекращают работать после 480px
Вы уверены, что ядро IPython не умерло? –
Может быть! Как я могу это предотвратить? – user3786999
Если вы находитесь в Windows, это может быть проблема с антивирусом. Известно, что Sophos вызывает именно эту проблему. – user2304916