版权说明:浙江财经大学专业实践深度学习tensorflow——齐峰
Jupyter入门操作练习
入门操作练习实验目的:
- 带领学员熟悉Jupyter实验平台的基本操作
- 掌握 Jupyter Notebook 的操作要领
Jupyter Notebook的优点:
- 极其适合数据分析
想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中,包含函数和类的脚本存在其他文档中,更可恶的是你还需另外写一份说明文档来解释程序如何执行以及结果如何。此时 Jupyter Notebook 从天而降,将所有内容收归一处,你是不是顿觉灵台清明,思路更加清晰了呢? - 支持多语言
也许你习惯使用 R 语言来做数据分析,或者是想用学术界常用的 MATLAB 和 Mathematica,这些都不成问题,只要安装相对应的核(kernel)即可。这里列出了 Jupyter 支持的所有语言,供您参考。 - 分享便捷
支持以网页的形式分享,GitHub 中天然支持 Notebook 展示,也可以通过 nbviewer 分享你的文档。当然也支持导出成 HTML、Markdown 、PDF 等多种格式的文档。 - 远程运行
在任何地点都可以通过网络链接远程服务器来实现运算,这里给出一个远程运行的例子,可以体验一下 Jupyter Notebook。 - 交互式展现
不仅可以输出图片、视频、数学公式,甚至可以呈现一些互动的可视化内容,比如可以缩放的地图或者是可以旋转的三维模型。这就需要交互式插件(Interactive widgets)来支持,更多内容请参考这里。
- REF:http://www.jianshu.com/p/86117613b7a6
- REF:具体细节可见The cell magics in IPython
- REF:更详细的清单请参考 Built-in magic commands
- REF: Python·Jupyter Notebook各种使用方法记录·持续更新
- REF: Cmd Markdown 简明语法手册
Jupyter实验平台使用练习
步骤2:熟悉工具栏
下图中标识了工具栏区域的主要操作。
#操作练习#:增加一行
#操作练习#:把cell剪切走
#操作练习#: 把cell复制,并粘贴在下方...
#操作练习#: 把cell移动到上方...
步骤3:熟悉代码区操作
点击编辑栏-Cell,可以选择相应功能,运行部分/全部代码行。
点击工具栏-运行按钮可以运行当前行的代码(也可以使用组合快捷键** Shift+Enter **来代替运行按钮)
#操作练习:运行下方代码,查看输出结果
print("hello world!")
#操作练习:运行下方代码,查看输出结果
1+2
步骤4:熟悉快捷键操作
其实,除了点击上面的工具栏,大部分操作都可以通过键盘快捷键来完成, 可以大大提高操作效率。
详细的键盘快捷操作信息可以点击下图这个按钮来查看到。
接下来介绍一些最常用的快捷键操作。
- b:在当前行下面插入新的cell(命令模式)
- a:在当前行上面插入新的cell(命令模式)
- **dd **(敲击d键两下):删除当前cell(命令模式)
- z:撤销对某个cell的删除(命令模式)
#操作练习: 敲击 b 键,在我下面增加一行...
#操作练习: 敲击 a键,在我上面增加一行...
#操作练习: 双击 d 键,删除我这行...
#操作练习: 双击 d 键,删除我这行...
- m : 将当前行由代码模式转换成 Markdown 模式
- 1:将当前的cell转化为具有一级标题的 Maskdown (命令模式)
- 2:将当前的cell转化为具有二级标题的 Maskdown (命令模式)
- 3:将当前的cell转化为具有三级标题的 Maskdown (命令模式)
#操作练习: 敲击 m 键,把我转成markdown...
#操作练习: 依次敲击数字 1、2、3、4、5、6 键,把我转成具有各级标题的markdown...
- Enter:当前的cell进入编辑模式
- Esc:退出当前cell的编辑模式
#操作练习3: 当前的cell进入编辑模式:Enter
#操作练习4: 退出当前cell的编辑模式:Esc
- Shift+Enter:执行当前cell,并自动跳到下一个cell
- Ctrl+Enter:执行当前cell,执行后**不自动调转 **到下一个cell
操作练习:执行当前cell,并自动跳到下一个cell:Shift+Enter
操作练习:执行当前cell,执行后不自动调转到下一个cell:Ctrl+Enter
- 为当前的cell加入line number:单L(命令模式)
#操作练习:为当前的cell加入line number:单L(命令模式)
%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(sum(map(ord, "aesthetics"))) # 给每一个任务单独分配随机种子
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 7): # up to but not include
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
- 浏览器的各个Tab之间切换:
Crtl PgUp
和Crtl PgDn
(命令模式) - 快速跳转到首个cell:
Crtl Home
(命令模式) - 快速跳转到最后一个cell:
Crtl End
(命令模式)