TensorFlow 1

Hello World

当tensorflow的环境搭建好后我们就可以尝试run下了,先写个hello world看看吧。

1
2
3
4
5
6
7
8
9
10
from __future__ import print_function

import tensorflow as tf
try:
tf.contrib.eager.enable_eager_execution()
except ValueError:
pass
tensor = tf.constant('Hello, world!')
tensor_value = tensor.numpy()
print(tensor_value)
b'Hello, world!'

TensorFlow 编程概念

TensorFlow的名称源自张量,张量是任意维度的数组。借助TensorFlow,可以操作具有很大维度的张量。

标量是零维数组(零阶张量)。例如:'hi' 或 3
矢量是一维数组(一阶张量)。例如:[2, 3, 5, 7, 11] 或 [3]
矩阵是二维数组(二阶张量)。例如:[[3.1, 8.2, 5.9][4.3, -2.7, 6.5]]

TensorFlow指令会创建,销毁和控制张量。典型TensorFlow程序中的大多数代码都是指令。
TensorFlow图(也叫 计算图 或 数据流图)是一种图数据结构。很多TensorFlow程序由单个图构成,但是TensorFlow程序可以选择创建多个图。图的节点是指令;图的边是张量。张量流经图,在每个节点由一个指令操控。一个指令的输出张量通常会变成后续指令的输入张量。TensorFlow会实现延迟执行模型,意味着系统仅会根据相关节点的需求在需要时计算节点。

张量可以作为常量或变量储存在图中。常量储存的是值是不会发生更改的张量,而变量储存的值是会发生更改的张量。常量和变量都只是图中的一种指令。常量是始终会返回同一张量值得指令。变量是会返回分配给得任何张量的指令。

要定义常量,使用tf.constant指令,并传入它的值。例如:

x = tf.constant([1.2])

同样,可以创建变量:

y = tf.Variable([3])

改变值: y = y.assign([1])

创建好变量或常量后,可以对它们使用其他指令(如tf.add)。

图必须在TensorFlow会话中运行,会话储存了它所运行的图的状态:

将 tf.Session()作为会话:
    initialization = tf.global_variables_initializer()
    print(y.eval())

在使用tf.Variable时可以调用tf.global_variables_initializer,以明确初始化这些变量。

注意:会话可以将图分发到多个机器上执行(假设程序在某个分布式计算框架上运行)。

总结

TensorFlow编程有两个流程:

1.将常量,变量和指令整合到一个图中。
2.在一个会话中评估这些常量,变量和指令。

创建一个简单的 TensorFlow 程序

我们来看看如何编写一个将两个常量相加的简单 TensorFlow 程序。

添加 import 语句

想要运行tensorflow程序,必须添加这句:

1
import tensorflow as tf

其他常见的import语句包括:

import matplotlib.pyplot as plt # 数据可视化
import numpy as np              # 较低级的数学python库
import pandas as pd             # 较高级的数学python库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from __future__ import print_function
import tensorflow as tf

# 创建一个图
g = tf.Graph()

with g.as_default():
# 创建三个量,
x = tf.constant(8, name="x_const")
y = tf.constant(5, name="y_const")
sum = tf.add(x, y, name="x_y_sum")
python
# 创建一个会话,将会执行默认图
with tf.Session() as sess:
print(sum.eval())
TF already imported with eager execution!
13
0%