《面向机器智能的TensorFlow实践》一 2.8 测试TensorFlow、Jupyter Notebook及matplotlib

简介:

本节书摘来自华章出版社《面向机器智能的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

相关文章
|
1天前
|
Python Windows
Jupyter Notebook的使用
Jupyter Notebook的使用
22 0
|
1天前
|
敏捷开发 监控 Devops
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第13天】 在现代软件开发的快节奏和复杂性中,持续集成(Continuous Integration,CI)与持续部署(Continuous Deployment,CD)成为确保软件质量和加速交付的关键策略。本文将深入探讨CI/CD在软件测试中的应用,解析其核心概念、流程以及面临的挑战,并分享实际案例分析以揭示如何在不断变化的开发环境中维持高效和可靠的软件发布周期。
|
1天前
|
机器学习/深度学习 敏捷开发 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第10天】 在现代软件开发周期中,"持续集成"(CI)与"持续部署"(CD)是提升效率、确保质量的重要环节。本文将详细探讨CI/CD在软件测试中的应用,包括其基本概念、实施策略、工具应用及面临的挑战。不同于一般性概述,本文将重点分析如何优化测试流程以适应CI/CD环境,并提出针对性的改进措施。通过实际案例分析,揭示成功实施CI/CD的最佳实践,并讨论如何在不断变化的技术环境中保持测试策略的前瞻性和灵活性。
|
1天前
|
算法 测试技术 开发者
测试驱动开发(TDD)实战:从理论到实践
【5月更文挑战第8天】TDD实战指南:先测试后开发,确保代码质量与可维护性。核心思想是编写测试用例→实现代码→验证→重构。优点包括提高代码质量、促进设计思考和增强可测试性。实战步骤包括编写独立、明确的测试用例,遵循最小可用原则编写代码,运行测试并分析失败原因,以及在验证通过后进行代码重构与优化。通过TDD,开发者能提升编程技能和项目成功率。
|
1天前
|
Java 测试技术 Maven
5个编写技巧,有效提高单元测试实践
本文作者详细讲解了关于单元测试的相关知识,做好单元测试能有效地保障代码质量,本文将手把手教你学会应用单元测试并附有案例、测试插件。
|
1天前
|
Java 测试技术 开发者
卓越工程之单元测试在行权鉴权中的实践
这篇文章着重在“实践”上,是对Java编程技巧之单元测试用例编写流程这篇文章的实际应用,并没有高深的理论和技术。
53 10
|
1天前
|
Web App开发 JSON 前端开发
我理解的测试开发与实践总结——新人篇
本文以作者的视角,讲述了测试与开发、产品之间的关系,如何做好一个测试以及做好一个测试应当具有的素质与技能。
|
1天前
|
敏捷开发 测试技术 持续交付
深入理解自动化测试:框架与实践
【5月更文挑战第5天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速交付过程的关键环节。本文将深入探讨自动化测试的核心概念、框架选择以及实际实施过程中的最佳实践。通过分析各种自动化测试工具和技术的优缺点,我们旨在为读者提供一种系统化的方法来构建和维护有效的自动化测试环境。
|
1天前
|
机器学习/深度学习 人工智能 算法
深入理解与实践:基于AI的软件测试自动化
【5月更文挑战第1天】随着人工智能的不断发展,其在软件测试中的应用也日益广泛。本文将探讨如何利用AI进行软件测试自动化,包括其理论基础、实现方式以及在实际中的应用。我们将通过实例分析,展示AI在提高软件测试效率和质量方面的巨大潜力。
|
1天前
|
中间件 测试技术 API
探索自动化测试工具的新边界:Selenium与Appium的集成实践
【4月更文挑战第30天】 随着移动应用和Web应用的不断融合,传统的自动化测试工具需要适应新的测试环境。本文将详细分析Selenium和Appium这两款流行的自动化测试工具的集成实践,探讨如何构建一个能够同时支持Web和移动端应用的自动化测试框架。通过对比两者的技术架构、功能特性以及在实际项目中的集成过程,我们旨在为读者提供一个清晰的指导,帮助他们在复杂的应用环境中实现高效、稳定的自动化测试流程。

热门文章

最新文章