In [2]:
import tensorflow as tf

row_dim = 3
col_dim = 2
sess = tf.Session()

# 全て0
zero_tsr = tf.zeros([row_dim, col_dim])
sess.run(zero_tsr)



In [4]:
# 全て1
one_tsr = tf.ones([row_dim, col_dim])
sess.run(one_tsr)


Out[4]:
array([[ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.]], dtype=float32)

In [6]:
# 全て42
filled_tsr = tf.fill([row_dim, col_dim], 42)
sess.run(filled_tsr)


Out[6]:
array([[42, 42],
       [42, 42],
       [42, 42]])

In [9]:
# 定数
constant_tsr = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
sess.run(constant_tsr)


Out[9]:
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

In [11]:
# 既存のテンソル形状に合わせて初期化
zeros_similar = tf.zeros_like(constant_tsr)
sess.run(zeros_similar)


Out[11]:
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])

In [15]:
# シーケンスを作成(startとstopはfloatで、numはintでないとならない)
linear_tsr = tf.linspace(start=0.0, stop=1.0, num=3)
# 結果にはstopの1.0が含まれる
sess.run(linear_tsr)


Out[15]:
array([ 0. ,  0.5,  1. ], dtype=float32)

In [17]:
integer_seq_tsr = tf.range(start=6.0, limit=15.0, delta=3)
# 結果にはstopの15.0が含まれない
sess.run(integer_seq_tsr)


Out[17]:
array([  6.,   9.,  12.], dtype=float32)

In [18]:
# 一様乱数
randunif_tsr = tf.random_uniform([row_dim, col_dim], minval=0, maxval=1)
sess.run(randunif_tsr)


Out[18]:
array([[ 0.83178627,  0.86219895],
       [ 0.60653019,  0.78655303],
       [ 0.40151763,  0.73051441]], dtype=float32)

In [30]:
# 正規分布乱数
randnorm_tsr = tf.random_normal([row_dim, col_dim*10], mean=0.0, stddev=1.0)
sess.run(randnorm_tsr)


Out[30]:
array([[ -1.29312682e+00,  -2.67031223e-01,   3.19182463e-02,
         -1.46184778e+00,  -2.30809644e-01,   4.08252999e-02,
         -2.03794646e+00,   1.10371304e+00,   1.16435552e+00,
         -3.91086489e-01,  -1.15990782e+00,  -6.09120309e-01,
         -1.30364430e+00,   1.22804916e+00,   5.34731209e-01,
          9.47926700e-01,  -7.84432471e-01,  -1.74513030e+00,
          1.25313127e+00,  -1.06932223e+00],
       [ -8.50276053e-01,  -4.67056483e-01,   7.45735765e-01,
          1.34990549e+00,  -2.39634991e+00,  -7.95202196e-01,
          5.91235936e-01,   8.55262995e-01,   4.61175591e-01,
         -1.15312554e-01,  -1.34633434e+00,   8.51755977e-01,
          7.26037562e-01,   8.14088941e-01,  -2.77004302e-01,
          5.00347376e-01,   2.48517680e+00,   1.47152185e-01,
          2.71494687e-01,  -2.54320656e-03],
       [ -5.65872312e-01,   1.18261302e+00,   1.61244631e+00,
         -6.38332307e-01,  -1.53901672e+00,  -6.48236752e-01,
          2.23205641e-01,   7.30206147e-02,  -9.43472385e-02,
          1.58163524e+00,  -2.88728428e+00,  -1.45896101e+00,
         -1.51006413e+00,   1.68585420e+00,   1.59331012e+00,
          5.44538915e-01,  -4.67617780e-01,  -1.11217475e+00,
          7.02061236e-01,   5.46203628e-02]], dtype=float32)

In [32]:
# 正規分布だが標準偏差の二倍まで(±2以上は出てこない)
randnorm_tsr = tf.truncated_normal([row_dim, col_dim*10], mean=0.0, stddev=1.0)
sess.run(randnorm_tsr)


Out[32]:
array([[ 1.21555376, -0.02332992,  1.1444577 ,  1.34331822, -0.63262665,
        -0.22616656, -1.22825265, -1.14151096, -0.51570231, -0.47518674,
        -1.02119386, -0.04981233, -1.21279132,  0.34919584,  0.26266742,
        -1.49075103, -0.70024085, -0.30995265,  0.73736596,  0.60321051],
       [-0.68347836,  0.20305642,  1.0850091 ,  0.63970339, -0.66239059,
        -0.86435533,  0.59018511,  0.88954169,  0.17065714, -0.3682175 ,
         0.41990024, -0.21762434, -0.08521869, -0.18285404,  1.31298745,
         0.96846557,  1.84175587,  0.82795632, -0.38177004,  0.80107158],
       [ 0.58189797, -0.87952197,  1.88670194,  0.65917253, -1.62649393,
         0.82910776, -0.64260161,  0.10988972, -0.00711916, -0.777978  ,
        -0.41281712,  0.21256073,  0.47554424, -1.32453573,  0.47101405,
         1.24544668, -0.15252528, -1.06249249,  0.5296852 ,  0.52558059]], dtype=float32)

In [33]:
# 配列をランダム化する
base_tsr = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
shuffled_output = tf.random_shuffle(base_tsr)
sess.run(shuffled_output)


Out[33]:
array([[7, 8, 9],
       [4, 5, 6],
       [1, 2, 3]])

In [56]:
# 配列を切り取る(切り取り位置がランダムなだけで順番は変わらない)
cropped_output = tf.random_crop(base_tsr, [2,2])
sess.run(cropped_output)


Out[56]:
array([[1, 2],
       [4, 5]])

In [ ]: