# tensorflow载入数据的三种方式 之 TF生成数据的方法

Tensorflow数据读取有三种方式：

• file: 从文件中直接读取 具体可以参考：极客学院的数据读取

## TF生成数据的方式

```# 原始的变量
weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),name="weights")
# 创造相同内容的变量
w2 = tf.Variable(weights.initialized_value(), name="w2")
# 也可以直接乘以比例
w_twice = tf.Variable(weights.initialized_value() * 0.2, name="w_twice") ```

tf.set_random_seed(seed) 设置产生随机数的种子。 1. 生成tensor：

```①tf.zeros(shape, dtype=tf.float32, name=None)
#tf.zeros([2, 3], int32) ==> [[0, 0, 0], [0, 0, 0]]
②tf.ones(shape, dtype=tf.float32, name=None)
#tf.ones([2, 3], int32) ==> [[1, 1, 1], [1, 1, 1]]
③tf.zeros_like(tensor, dtype=None, name=None)

tf.ones_like(tensor) ==> [[1, 1, 1], [1, 1, 1]]
④tf.constant(value, dtype=None, shape=None, name='Const')创建一个常量tensor，先给出value，可以设定其shape
# Constant **1-D** Tensor populated with value list.
tensor = tf.constant([1, 2, 3, 4, 5, 6, 7]) => [1 2 3 4 5 6 7]
# Constant **2-D** tensor populated with scalar value -1.
tensor = tf.constant(-1.0, shape=[2, 3]) => [[-1. -1. -1.] [-1. -1. -1.]

⑤tf.fill(dims, value, name=None)

# Output tensor has shape [2, 3].
fill([2, 3], 9) ==> [[9, 9, 9],[9, 9, 9]]
⑥tf.ones_like(tensor, dtype=None, name=None)```

2.生成序列

```⑦tf.range(start, limit, delta=1, name='range')

# 'start' is 3
# 'limit' is 18
# 'delta' is 3
tf.range(start, limit, delta) ==> [3, 6, 9, 12, 15]
# 'limit' is 5 start is 0
tf.range(start, limit) ==> [0, 1, 2, 3, 4]
⑧tf.linspace(start, stop, num, name=None)返回一个tensor，该tensor中的数值在start到stop区间之间取等差数列（包含start和stop），如果num>1则差值为(stop-start)/(num-1)，以保证最后一个元素的值为stop。其中，start和stop必须为tf.float32或tf.float64。num的类型为int。
tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0 11.0 12.0]```

3.生成随机数

```⑨tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

seed: A Python integer. Used to create a random seed for the distribution.See set_random_seed for behavior。
⑩tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

⑩①tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)

⑩②tf.random_shuffle(value, seed=None, name=None)

[[1,2],            [[2,3],
[2,3],     ==>     [1,2],
[3,4]]             [3,4]] ```

```shape: 用于表示维度，通常为一个int32类型数组，或者一个一维(1-D)的tf.int32数字．注意不能直接使用数字
dtype: 所要创建的tensor对象的数据类型
tensor: tensor对象
mean：数据类型为dtype的张量值或Python值。是正态分布的均值。
stddev：数据类型为dtype的张量值或Python值。是正态分布的标准差
seed：一个Python整数。是随机种子。
name： 操作的名称(可选)

```data1=tf.zeros([2, 3],tf.int32)
with tf.Session() as sess1:
print(sess1.run(data1))
[[0 0 0]
[0 0 0]]```

588 篇文章72 人订阅

0 条评论