得益于良好的交互性和简洁的界面, Deep Learning 或 Python 编程中经常使用 Jupyter Notebook 作为一个快速实现的环境。
Jupyter Notebook 的默认界面比较简朴,但其基于 Web 技术开发的特性让定制、修改界面变得不那么困难。
不过,直接操作如在 CSS 文件上修改,对不熟悉 web 开发的调包/调参侠们来说依然是个艰巨的任务。好在 Python 是个开放的社区,已经有人开发了一些应用,安装之后只需几条命令就可以实现上面的功能。下面就分别介绍两组插件:jupyterthemes 和 jupyter_contrib_nbextensions。
使用 jupyterthemes 定制界面
效果如图:
这些看起来非常酷炫的效果是 jupyterthemes 插件实现的:https://github.com/dunovank/jupyter-themes
安装插件需要:
Python 2.7, 3.4, 3.5, 3.6
Jupyter (Anaconda recommended)
matplotlib
安装非常简单:
# 安装 jupyterthemes
pip install jupyterthemes
# 升级到最新版本
pip install --upgrade jupyterthemes
安装完成后,jupyterthemes 以别名 jt 存在于 python 环境中。
有时页面 https://github.com/dunovank/jupyter-themes 上显示的主题可能已经不支持了,所以更换主题前首先
jt -l
查看当前支持的主题。
比如我想换 grade3,那么输入
jt -t -grade3
就把主题换掉了。不过默认字体都特别难看,所以需要指定字体。可以对照示例选择顺眼的字体:
https://github.com/dunovank/jupyter-themes#command-line-examples
其他的设置比较琐碎就不再赘述了,github 页面上给出了详细的说明。
代码折叠
Jupyter Notebook 另一个不太舒服的地方就是默认没有代码折叠功能。手动修改比较麻烦,所以也有人把功能集成到一部分插件里,可以直接在 notebook 界面上点击选项来设置。
插件安装和启用:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
其中 jupyter_contrib_nbextensions 是功能集成插件,nbextensions_configurator 让用户可以直接在 notebook 界面中修改这些选项。
成功配置的话,启动 notebook 会看到
多了一个菜单。打开
发现可选内容很多,这里我们只需要折叠代码的功能,所以直接在 Collapsible Headings 勾选就可以了。其他功能可以自己慢慢尝试。