银河麒麟服务器操作系统V4 TensorFlow软件适配手册
天津麒麟信息技术有限公司
2019年5月
目录
1概述 (2)
1.1系统概述 (2)
1.2环境概述 (2)
1.3TENSORFLOW软件概述 (2)
1.4TENSORFLOW特点 (2)
1.5TENSORFLOW原理介绍 (4)
2TENSORFLOW软件适配 (4)
2.1安装编译需要的依赖包 (4)
2.2下载指定分支源码 (5)
2.3编译选项和以及平台相关修改 (5)
2.4编译及安装 (5)
3TENSORFLOW软件功能验证 (6)
3.1验证TENSORFLOW安装 (6)
3.2尝试CONVOLUTIONAL MODEL (6)
1概述
1.1系统概述
银河麒麟服务器操作系统主要面向军队综合电子信息系统、金融系统以及电力系统等国家关键行业的服务器应用领域,突出高安全性、高可用性、高效数据处理、虚拟化等关键技术优势,针对关键业务构建的丰富高效、安全可靠的功能特性,兼容适配联想、浪潮、华为、曙光等国内主流厂商的服务器整机产品,以及达梦、金仓、神通等主要国产数据库和中创、金蝶、东方通等国产中间件,满足虚拟
化、云计算和大数据时代,服务器业务对操作系统在性能、安全性及可扩展性等方面的需求,是一款具有高安全、高可用、高可靠、高性能的自主可控服务器操作系统。
1.2环境概述
服务器型号长城信安擎天DF720服务器
CPU类型飞腾2000+处理器
操作系统版本Kylin-4.0.2-server-sp2-2000-19050910.Z1
内核版本 4.4.131
TensorFlow版本 1.10
1.3TensorFlow软件概述
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。TensorFlow最初由Google大脑小组(隶属于Google 机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算
领域。TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow支持Python和C++,也允许在CPU和GPU上的计算分布,甚至支持使用gRPC进行水平扩展。任何人都可以使用Tensorflow,学生、研究员、爱好者、极客、工程师、开发者、发明家、创业者等等都可以在Apache2.0开源协议下使用Tensorflow。
1.4TensorFlow特点
1.高度的灵活性
TensorFlow不是一个严格的“神经网络”库。只要你可以将你的计算表示为一个数据流图,你就可以使用Tensorflow。你来构建图,描写驱动计算的内部循环。我们提供了有用的工具来帮助你组装“子图”(常用于神经网络),当然用户也可以自己在Tensorflow基础上写自己的“上层库”。定义顺手好用的新复合操作和写一个python函数一样容易,而且也不用担心性能损耗。当然万一你发现不到想要的底层数据操作,你也可以自己写一点c++代码来丰富底层的操作。
2.真正的可移植性(Portability)
Tensorflow在CPU和GPU上运行,比如说可以运行在台式机、服务器、手机移动设备等等。想要在没有特殊硬件的前提下,在你的笔记本上跑一下机器学习的新想法?Tensorflow可以办到这点。准备将你的训练模型在多个CPU上规模化运算,又不想修改代码?Tensorflow可以办到这点。想要将你的训练好的模型作为产品的一部分用到手机app里?Tensorflow可以办到这点。你改变主意了,想要将你的模型作为云端服务运行在自己的服务器上,或者运行在Docker容器里?Tensorfow也能办到。
3.将科研和产品联系在一起
过去如果要将科研中的机器学习想法用到产品中,需要大量的代码重写工作。那样的日子一去不复返了!在Google,科学家用Tensorflow尝试新的算法,产品团队则用Tensorflow来训练和使用计算模型,并直接提供给在线用户。使用Tensorflow可以让应用型研究者将想法迅速运用到产品中,也可以让学术性研究者更直接地彼此分享代码,从而提高科研产出率。
4.自动求微分
基于梯度的机器学习算法会受益于Tensorflow自动求微分的能力。作为Tensorflow用户,你只需要定义预测模型的结构,将这个结构和目标函数(objective function)结合在一起,并添加数据,Tensorflow将自动为你计算相关的微分导数。计算某个变量相对于其他变量的导数仅仅是通过扩展你的图来完成的,所以你能一直清楚看到究竟在发生什么。
5.多语言支持
Tensorflow有一个合理的c++使用界面,也有一个易用的python使用界面来构建和执行你的graphs。你可以直接写python/c++程序,也可以用交互式的ipython 界面来用Tensorflow尝试些想法,它可以帮你将笔记、代码、可视化等有条理地归置好。当然这仅仅是个起点——我们希望能鼓励你创造自己最喜欢的语言界面,比如Go,Java,Lua,Javascript,或者是R。
6.性能最优化
比如说你有一个32个CPU内核、4个GPU显卡的工作站,想要将你工作站的计算潜能全发挥出来?由于Tensorflow给予了线程、队列、异步操作等以最佳的支持,Tensorflow让你可以将你手边硬件的计算潜能全部发挥出来。你可以自由地将Tensorflow图中的计算元素分配到不同设备上,Tensorflow可以帮你管理好这些不同副本。
1.5TensorFlow原理介绍
TensorFlow主要是由计算图、张量以及模型会话三个部分组成。
1.计算图
在编写程序时,我们都是一步一步计算的,每计算完一步就可以得到一个执行结果。在TensorFlow中,首先需要构建一个计算图,然后按照计算图启动一个会话,在会话中完成变量赋值,计算,得到最终结果等操作。因此,可以说TensorFlow是一个按照计算图设计的逻辑进行计算的编程系统。
TensorFlow的计算图可以分为两个部分:
●构造部分,包含计算流图;
●执行部分,通过session执行图中的计算。
构造部分又分为两部分:
●创建源节点;
●源节点输出传递给其他节点做运算。
2.张量
在TensorFlow中,张量是对运算结果的引用,运算结果多以数组的形式存储,与numpy中数组不同的是张量还包含三个重要属性名字、维度、类型。张量的名字,是张量的唯一标识符,通过名字可以发
现张量是如何计算出来的。比如“add:0”代表的是计算节点"add"的第一个输出结果。维度和类型与数组类似。
3.模型会话
用来执行构造好的计算图,同时会话拥有和管理程序运行时的所有资源。当计算完成之后,需要通过关闭会话来帮助系统回收资源。
2TensorFlow软件适配
2.1安装编译需要的依赖包
$apt-get install python-dev
怎么将linux系统改成中文$pip install setuptools six numpy wheel mock
$pip uninstall enum
$pip install keras_preprocessing
$apt-get install python-enum34
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论