TensorFlow章二:环境搭建

TensorFlow

2.1 TensorFlow的主要依赖包

TensorFlow的两个主要依赖包:Protocol Buffer和Bazel。

2.11Protocol Buffer

Protocol Buffer是Google开发处理结构化数据的工具。这里的结构化数据是拥有多种属性的数据。比如name,ID,Email等属性。类似的数据处理工具有XML和Json。
Protocol Buffer和xml或者Json格式的数据有以下区别:

  • Protocal Buffer序列化之后得到的数据不是可读的字符串,而是二进制流
  • XML或Json格式的数据信息都包含在序列化的数据中,Protocol Buffer要定义好数据的格式(Schema)。还原的时候需要这个格式。
    因为有这样的差别,Protocol Buffer序列化出来的数据要比XML格式的数据小3到10倍,解析时间要快20到100倍。

Protocol Buffer定义的数据保存在.proto文件中。每一个message代表一类结构化的数据。

message user{
    optional string name = 1;//可选的
    required int32 id = 2;  //必须的
    repeated string email = 3; //可以重复的
}

2.1.2 Bazel

  1. Bazel是Google开源的自动化构建工具,相比Makefile,Ant或者Maven,Bazel在速度,可伸缩性,灵活性,以及对语言和平台的支持上更加出色。Bazel的安装向导。

  2. Bazel包含项目空间(workspace),一个项目空间里面可以有一个或多个应用。需要有一个WORKSPACE文件,该文件定义了对外部资源的依赖关系。Bazel通过BUILD文件来找到需要编译的目标。

  3. Bazel对Python程序的支持的编译方式有三种:py_binary(编译Python为可执行文件),py_library(将Python编译为函数库)和py_test(编译Python测试程序).

2.2 TensorFlow安装

2.2.1使用Docker安装

Docker是新一代的虚拟化技术,它可以将TensorFlow以及TensorFlow的所有依赖关系封装到Docker镜像中,简化安装过程。
Docker的安装如下:installation

你可能感兴趣的:(TensorFlow章二:环境搭建)