本节书摘来自华章出版社《面向机器智能的TensorFlow实践》一书中的第2章,第2.8节,作者 山姆·亚伯拉罕(Sam Abrahams)丹尼亚尔·哈夫纳(Danijar Hafner)[美] 埃里克·厄威特(Erik Erwitt)阿里尔·斯卡尔皮内里(Ariel Scarpinelli),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.8 测试TensorFlow、Jupyter Notebook及matplotlib
下面通过一些虚设代码来复查所有软件是否都能正常工作。创建一个名为“tf-notebooks”的目录以便进行测试。进入该目录,并运行Jupyter Notebook。同样,请确保“tensorflow”环境处于活动状态。
最后一条命令将启动一个Jupyter Notebook服务器,并在你默认的网页浏览器中打开该软件。假设tf-notebooks目录下没有任何文件,那么将看到一个空的工作空间,以及消息“Notebook list is empty”。要创建新的笔记,可单击页面右上角的“New”按钮,然后选择“Python 2”或“Python 3”,具体选择哪个取决于安装TensorFlow时使用的是哪个版本的Python。
新笔记将自动打开,呈现在眼前的将是一块用于工作的白板。下面为这个笔记设置一个新名称。在页面的顶端单击“Untitled”。
之后会弹出一个用于对笔记本重命名的窗口,也可用于修改笔记本文件的名称(扩展名为.ipynb)。你可使用任何自己喜欢的名称,在本例中笔者将其命名为“My First Notebook”:
下面来看实际的界面。我们注意到旁边有一个“In [ ]:”方块的空单元格,你可在该单元格内直接键入代码,而且它可容纳多行代码。下面将TensorFlow、NumPy以及matplotlib的pyplot模块导入该笔记本:
要运行该单元格,只需同时按下shift键和回车键。该单元格中的代码执行完成后,其下方会自动创建一个新的单元格。我们注意到左边方框中的提示符变成了“In [1]:”,这意味着该单元格是在内核中运行的第一个代码块。在该笔记本中键入下列代码,使用单元格的数量取决于你的需求。你可利用单元格中的分隔符将相关代码很自然地组织在一起。
下面这行代码非常特殊,值得专门介绍:
这是一条专门的命令,用于通知笔记本将matplotlib图表直接显示在浏览器中。
下面逐行分析其余代码,如果你不理解某些术语,请不必担心,后面章节还会一一进行讲解:
1)用TensorFlow定义一个由随机数构成的2×20的矩阵,并将其赋给变量a。
2)启动TensorFlow Session,并将其赋予一个sess对象。
3)用sess.run()方法执行对象a,并将输出(NumPy数组)赋给out。
4)将这个2×20的矩阵划分为两个1×10的向量x和y。
5)利用pyplot模块绘制散点图,x对应横轴,y对应纵轴。
如果所有软件均已正确安装,你将得到与上图类似的输出结果。这虽然只是向前迈出的小小一步,但我们毕竟已经开始上手尝试TensorFlow,但愿这能给你带来一个良好的体验。
要想通过更多、更全面的教程了解Jupyter Notebook的细节,请参考如下页面中的示例:
http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/examples_index.htm