欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TensorFlow 环境搭建

程序员文章站 2022-03-29 19:28:50
...

1 TensorFlow 环境搭建

TensorFlow 依赖的两个最主要的工具包 —— Protocol Buffer 和 Bazel。

1.1 Protocol Buffer

Protocol Buffer 是谷歌开发的处理结构化数据的工具。如何将结构化的数据序列化,并从序列化之后的数据流中还原出原来的机构化数据,这就是 Protocol Buffer 解决的主要问题。

1.1.1 Protocol Buffer 格式的数据和 XML 或 JSON 格式数据的区别

  1. Protocol Buffer 序列化之后得到的数据不是可读的字符串,而是二进制流。
  2. XML 或 JSON 格式的数据都包含在序列化之后的数据中,不需要任何其他信息就能还原序列化之后的数据。但使用 Protocol Buffer 时需要先定义数据的格式(Scheme)。还原一个序列化之后的数据也需要使用到这个预先定义的 Scheme。

Protocol Buffer 定义数据格式的文件保存在 .proto 文件中。

1.2 Bazel

Bazel 是谷歌开源的自动化构建工具。相比传统的 Makefile、Ant、Maven,Bazel 在速度、可伸缩性、灵活性以及对不同程序语言和平台的支持上都要更加出色。

Bazel 通过 BUILD 文件来找到需要编译的目标。BUILD 文件采用一种类似于 Python 的语法来指定每一个编译目标的输入、输出以及编译方式。与 Makefile 这种比较开放式的编译工具不同,Bazel 的编译方式是事先定义好的。

1.3 TensorFlow 安装

网上有非常多的安装教程,参考即可。Linux 服务器,推荐使用编译源码方式安装。生产环境部署,很多公司倾向于使用 docker 容器。

1.3.1 TensorFlow 测试样例

import tensorflow as tf
a = tf.constant([1.0, 2.0], name = 'a')
b = tf.constant([2.0, 3.0], name = 'b')
result = tf.add(a, b)
with tf.Session() as tf:
    sess.run(result)