UP | HOME

TensorFlow

Table of Contents

1 初始配置

导入 TensorFlow 包

import tensorflow as tf
import numpy as np
print(tf.version.VERSION)
1.13.1

如果需要屏蔽 TensorFlow 的 c++ 代码的警告信息,使用下面的配置。级别 1 是提示, 级别 2 是警告,级别 3 是错误

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

2 会话管理

定义一个常量,然后直接在 TensorFlow 上运行,测试环境配置成功

four = tf.constant(4)

with tf.Session() as sess:
    print(sess.run(four))
4

直接使用会话的配置

v1 = tf.constant([1, 2, 3, 4])
v2 = tf.constant([2, 2, 2, 2])

sess = tf.Session()
v3 = v1 + v2
v4 = v1 * v2

print(sess.run(v3))
print(sess.run(v4))

sess.close()
[3 4 5 6]
[2 4 6 8]

交互式会话可以用于简单的代码调试

sess = tf.InteractiveSession()
I = tf.eye(4)
print(I.eval())
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]

3 数据:常量、变量和占位符

3.1 常量

初始化常量操作如下

t0 = tf.zeros([2, 3], tf.int32)
t1 = tf.ones([2, 3], tf.float32)
t2 = tf.random_normal([2, 3], mean=2.0, stddev=4, seed=15)

with tf.Session() as sess:
    print(sess.run(t1))
    print(sess.run(t2))
[[1. 1. 1.]
 [1. 1. 1.]]
[[ 4.818309    2.509685    6.23806   ]
 [ 3.6950598   0.98155856 -1.4288127 ]]

3.2 变量

它们通过使用变量类来创建。变量的定义还包括应该初始化的常量/随机值。

w = tf.Variable(tf.random_normal([100, 100], stddev=2))
b = tf.Variable(tf.zeros([100]), name='biases')

初始化所有全局变量

init_op = tf.global_variables_initializer()

常见的变量的初始器

t1 = tf.random_normal([6], mean=2.0, stddev=4)
t2 = tf.truncated_normal([6], stddev=3)
t3 = tf.random_uniform([6], maxval=5)

with tf.Session() as sess:
    r1, r2, r3 = sess.run([t1, t2, t3])
    print('r1 =', r1)
    print('r2 =', r2)
    print('r3 =', r3)
r1 = [-2.6633506 -1.3341477  5.326619   1.3697977  0.9351698  0.6483228]
r2 = [-4.758824  -3.3757558 -1.1747     4.5159097  1.2751957 -2.6835222]
r3 = [2.1085625 0.3304249 4.7166862 1.0353857 2.824891  1.3067412]

保存变量

saver = tf.train.Saver()

很多时候需要大规模的常量张量对象;在这种情况下,为了优化内存,最好将它们声明 为一个可训练标志设置为 False 的变量:

t_large = tf.Varible(large_array, trainable=False)

3.3 占位符

占位符,它们用于将数据提供给计算图。

x = tf.placeholder("float")
y = 2 * x

din = np.random.normal(0, 0.1, 4)
print(din)
with tf.Session() as sess:
    res = sess.run(y, feed_dict={x: din})
    print(res)
[-0.06331706 -0.02488422  0.00218056 -0.06788603]
[-0.12663412 -0.04976845  0.00436112 -0.13577206]

4 矩阵


5 附录

安装 TensorFlow 之前最好是配合 Anaconda3 发行版一起安装,安装好 Anaconda 过后直接 使用下面命令安装

conda install tensorflow==1.13.1

或者使用 pip 安装

conda install tensorflow==1.13.1

6 参考连接

Last Updated 2020-10-18 Sun 21:29. Created by Jinghui Hu at 2020-10-18 Sun 10:31.