JupyterNotebook VS JupyterLab 如果jupyter安装成功,点击jupyterlab即可进入lab环境

简介

  • JupyterNotebook 是一个款以网页为基础的交互计算环境,可以创建Jupyter的文档,支持多种语言,包括Python, Julia, R等等。一般来说,如果是使用R语言的话,使用Rstudio居多,使用Python的话,使用Jupyter居多。

JupyterNotebook VS JupyterLab

  • JupyterLab在Jupyter Notebook的基础上进行了改进和扩展,可以认为JupyterLab是下一代的Notebook产品。

  • JupyterLab提供了更现代化和灵活的用户界面,具有更好的可扩展性和集成性。与Jupyter Notebook不同,JupyterLab采用了标签页式的界面布局,允许用户在一个窗口中同时打开多个笔记本、编辑器和终端等组件。这种多面板的设计使得用户可以更方便地组织和管理工作空间,同时提供了更好的多任务处理能力。

通用问题

关闭浏览器后,Jupyter还会继续运行程序吗

  • 会运行程序,但是控制台输出不更新了,详情可以参考这个文档:

  • jupyter notebook 如何在关闭浏览器后后台执行并保存结果?

    深度学习一个cell要执行很久,想要执行的时候关掉浏览器

作者:YAOJ
链接:https://www.zhihu.com/question/308665219/answer/1699640781
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

先说一下后台执行的问题。后台跑上 jupyter notebook 的话,会自动打开浏览器,但关掉浏览器的话进程不会结束,已经在运行的 notebook 和里面的 cell 还会继续运行。毕竟很多时候在没有屏幕的服务器上我们都是用无浏览器的模式跑 jupyter notebook 的。

# 无浏览器模式,想要打开 notebook 就直接在浏览器里输入 localhost:8888 就可以了
$ jupyter notebook --no-browser

比如一不小心关掉了浏览器,想要重新在浏览器里打开 notebook 的话,就在浏览器里打开 localhost:8888 就好了(8888 是 jupyter notebook 的默认端口)。

当然如果这样打开之前还在运行的 notebook 的话,就看不到里面正在运行的 cell 打印的最新的结果了,所以我们需要保存结果。

可以考虑用 python 的 logging,可以把你想要打印的都写在一个日志文件里,这样你关掉浏览器也没关系了。

代码的话比如这样:

import logging
import sys
import datetimedef init_logger(filename, logger_name):'''@brief:initialize logger that redirect info to a file just in case we lost connection to the notebook@params:filename: to which file should we log all the infologger_name: an alias to the logger'''# get current timestamptimestamp = datetime.datetime.utcnow().strftime('%Y%m%d_%H-%M-%S')logging.basicConfig(level=logging.INFO, format='[%(asctime)s] %(name)s {%(filename)s:%(lineno)d} %(levelname)s - %(message)s',handlers=[logging.FileHandler(filename=filename),logging.StreamHandler(sys.stdout)])# Testlogger = logging.getLogger(logger_name)logger.info('### Init. Logger {} ###'.format(logger_name))return logger# Initialize
my_logger = init_logger("./ml_notebook.log", "ml_logger")

这样就可以在每一次训练结束的时候,把训练结果用 http://my_logger.info(“...”)打印到当前路径下的 ml_notebook.log 的文件里了,每一行还会标好这一行打印的时间,也就是上面 logging.basicConfig 里 format 定义的格式。当然你也可以自己定义自己习惯的格式。

配合 jupyter notebook 的 magic command,还可以把每个 cell 运行的时间记录并且打印到日志文件里。比如在第一个 cell 里:

%%capture out
%%timeit
a = 1+1

然后在下一个 cell 里:

my_logger.info("capture & timeit: "+out.stdout)

就能知道上一个 cell 运行了多久了。

更多 logging 的用法可以参考官方文档[1]。

参考

  1. ^Python - logging logging — Logging facility for Python — Python 3.12.1 documentation

编辑于

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速优化几千万数据量的订单表

前言 为了保证有一个更健康的身体,所以慢慢降低了更新频率,在有了更多休息时间的前提下,思考了一下接下来准备分享的一些内容。 决定在更新一些技术干货的同时,会穿插一些架构知识,放在单独的专栏里面,希…

鸿蒙Js实战,计算器功能开发

场景: 通过动态设置按钮组件button实现计算器的键盘,通过文本text显示计算的表达书,可以计算,-,*,/,可以一个一个移除,可以重置 等。 下面我们开始今天的文章,还是老规…

【网络安全】-Linux操作系统基础

文章目录 Linux操作系统目录结构Linux命令格式Linux文件和目录操作命令Linux用户和用户组操作命令Linux查看和操作文件内容命令Linux文件压缩和解压缩命令Linux网络管理命令Linux磁盘管理和系统状态命令Linux安全加固总结 Linux是一个强大的操作系统,广泛用于服务器…

HarmonyOS 4应用开发:1.从环境搭建到Hello World

在踏上HarmonyOS应用开发之旅之前,需要进行一些必要的准备工作。首先,你需要下载并安装DevEco Studio,并进行相应的环境配置。 一、下载和安装DevEco Studio 前往DevEco Studio官方的下载地址,点击“立即下载”跳转至下载页面。…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)控件的部分公共属性和事件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)控件的部分公共属性和事件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、公共属性 常用的公共属性有: 宽(with)、高(height)、…

深度学习记录--随机初始化

权重 权重,指的是变量系数w,决定了变量的变化率 它会改变dw,进而改变下一轮的w(改变更新) 神经网络的权重 对于神经网络(含隐藏层) 由于权重的对称性,我们的隐层的神经单元输出始终不变,出现隐藏神经元的对称性 …

WPF 显示PDF、PDF转成图片

1.NuGet 安装 O2S.Components.PDFView4NET.WPF 2.添加组件 工具箱中&#xff0c;空白处 右键&#xff0c;选择项 WPF组件 界面&#xff0c;选择NuGet安装库对面路径下的 O2S.Components.PDFView4NET.WPF.dll 3.引入组件命名空间&#xff0c;并使用 <Windowxmlns"htt…

antd-table:通过rowClassName实现斑马条纹样式+通过rowSelection实现单选功能效果——基础积累

斑马条纹 对于element-ui是有个stripe斑马条纹的属性的&#xff0c;最终呈现的效果如下&#xff1a; antd-table中是没有这个属性的&#xff0c;但是可以通过rowClassName&#xff1a;可以给对应行添加指定类名。 实现方法&#xff1a; <a-table:rowClassName"getRo…

每日一练2023.12.18——天梯赛的善良【PTA】

题目链接&#xff1a;L1-079 天梯赛的善良 题目要求&#xff1a; 天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内&#xff0c;使得每个参赛的学生都有能做出来的题目&#xff0c;并且最厉害的学生也要非常努力才有可能得到高分。 于是命题组首先将编程能…

Qt for Android设置安卓程序默认横屏+全屏

我的qt版本是5.14.1&#xff0c;网上查到的方法是&#xff0c;把编译出的build文件夹中的AndroidManifest.xml文件复制出来然后修改&#xff0c;然后把修改后的xml文件加入pro文件&#xff0c;语法为ANDROID_PACKAGE_SOURCE_DIR $$PWD/AndroidManifest.xml&#xff08;具体&am…

vue3如何动态添加组件到dom中(jsx,h(),render)

背景&#xff0c;在写自定义指令的时候遇见&#xff0c;需要把svg图标组件动态添加到div中&#xff0c;然后把方法绑定到图标上 1、创建jsx import IconSvg from "/components/IconSvg/IconSvg.vue";const renderDom () > {return (<IconSvg class"ico…

【算法与数据结构】122、LeetCode买卖股票的最佳时机 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;股票要想盈利&#xff0c;必须低买高卖。在第N天买入&#xff0c;然后在第M天卖出&#xff0c;所获的利…

Docker使用4-Persist the DB

写在前面 主题是Persist the DB&#xff0c;这里是链接。本文主要学习如何持久化容器中的数据。 实践 使用docker运行一个随机生成1-10000的数的命令。下面是两个命令用&&合并在一起&#xff0c;第一个命令是生成随机数并输出到data.txt&#xff0c;后面的命令是保持…

echarts 饼图3样式

父组件&#xff1a; <pieChartNormal :opt"contractStatics" style"width: 100%;height: 100%;" />import pieChartNormal from "./components/pieChartNormal";data() {return {contractStatics: {seriesData: [{name: 技术服务类,value:…

优思学院|有了人工智能,质检员快将失业了吗?

从前&#xff0c;质检员是执着于质量的守护者。他们拥有工作轻松、压力小、时间自由的优势&#xff0c;然而&#xff0c;这种优越感背后隐藏着容易得罪人、进步空间受限、上升机会有限的挑战&#xff0c;近年&#xff0c;随着人工智能、自动化等理念推陈出新&#xff0c;许多传…

AI浪潮下,大模型如何在音视频领域运用与实践?

视频云大模型算法「方法论」。 刘国栋&#xff5c;演讲者 在AI技术发展如火如荼的当下&#xff0c;大模型的运用与实践在各行各业以千姿百态的形式展开。音视频技术在多场景、多行业的应用中&#xff0c;对于智能化和效果性能的体验优化有较为极致的要求。如何运用好人工智能提…

Redis最实用的基础入门数据结构和常用指令使用教程

1.单线程redis操作为什么那么快&#xff1f; 一方面&#xff0c;Redis 的大部分操作在内存上完成&#xff0c;再加上它采用了高效的数据结构&#xff0c;例如哈希表和跳表&#xff0c;这是它实现高性能的一个重要原因。另一方面&#xff0c;就是 Redis 采用了多路复用机制&…

LeetCode刷题--- 找出所有子集的异或总和再求和

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述递归递归、搜…

vue2入门

vue2官方文档&#xff1a;安装 — Vue.js 1、安装 新建"vue"文件夹——>新建vue1.html 直接用<script>标签引入vue&#xff1a; <script src"https://cdn.jsdelivr.net/npm/vue2.7.14/dist/vue.js"></script> tips: CDN:一个网络…

Postman介绍和快速使用

Postman 是什么&#xff1f; Postman 是一个流行的API&#xff08;Application Programming Interface&#xff09;开发工具&#xff0c;它使得开发者可以很容易地创建、测试、共享和文档化API。Postman 提供了一个友好的用户界面&#xff0c;来发送HTTP请求&#xff0c;接收响…