前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tensorflow编程: Constants, Sequences, and Random Values

tensorflow编程: Constants, Sequences, and Random Values

作者头像
JNingWei
发布2018-09-28 15:38:14
4000
发布2018-09-28 15:38:14
举报
文章被收录于专栏:JNing的专栏

Constant Value Tensors

tf.zeros

tf.zeros (shape, dtype=tf.float32, name=None)

tf.zeros_like

tf.zeros_like (tensor, dtype=None, name=None, optimize=True)

tf.ones

tf.ones (shape, dtype=tf.float32, name=None)

tf.ones_like

tf.ones_like (tensor, dtype=None, name=None, optimize=True)

tf.fill

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

代码语言:javascript
复制
import tensorflow as tf

t = tf.fill(dims=[2, 5], value=0.1)

with tf.Session() as sess:
    print sess.run(t)
代码语言:javascript
复制
[[ 0.1  0.1  0.1  0.1  0.1]
 [ 0.1  0.1  0.1  0.1  0.1]]

tf.constant

tf.constant (value, dtype=None, shape=None, name=’Const’, verify_shape=False)

Sequences

tf.linspace

  等间隔 取值。

tf.lin_space (start, stop, num, name=None)

  注意: startstop 参数都必须是 浮点型;     取值范围也包括了 stoptf.lin_space 等同于 tf.linspace

代码语言:javascript
复制
import tensorflow as tf

t_1 = tf.lin_space(start=10.0, stop=15.0, num=5)
t_2 = tf.lin_space(start=10.0, stop=15.0, num=6)

with tf.Session() as sess:
    print sess.run(t_1)
    print
    print sess.run(t_2)
代码语言:javascript
复制
# 取值个数为 5
[ 10.    11.25  12.5   13.75  15.  ]

# 取值个数为 6
[ 10.  11.  12.  13.  14.  15.]

tf.range

  等价于 np.arange

  完整的接口:

tf.range (start, limit, delta=1, dtype=None, name=’range’)

  专为 0为起点,1为步长 设计的快捷接口(默认start=0, delta=1):

tf.range (limit, delta=1, dtype=None, name=’range’)

代码语言:javascript
复制
import numpy as np
n_1 = np.arange(start=10, stop=0, step=-2)
n_2 = np.arange(5)
print n_1
print n_2


import tensorflow as tf
t_1 = tf.range(start=10, limit=0, delta=-2)
t_2 = tf.range(5)
with tf.Session() as sess:
    print sess.run(t_1)
    print sess.run(t_2)
代码语言:javascript
复制
# 用 np.arange 生成的有序数列
[10  8  6  4  2]
[0 1 2 3 4]

# 用 tf.range 生成的有序数列
[10  8  6  4  2]
[0 1 2 3 4]

Random Tensors

tf.random_normal

  等价于 np.random.normal(均值, 标准差, 个数)

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

代码语言:javascript
复制
import numpy as np
n_1 = np.random.normal(0, 1, size=[2, 5])
print n_1

import tensorflow as tf
t = tf.random_normal(shape=[2, 5], dtype=tf.float32)
with tf.Session() as sess:
    print sess.run(t)
代码语言:javascript
复制
# np.random.normal
[[-0.19322391 -0.34265808  0.06453351  0.8865113   0.52242084]
 [ 0.11956765 -0.64113454 -1.34379807 -0.16189467  0.16823816]]

# tf.random_normal
[[ 1.16703379  0.63120824  1.2659812   0.42991444 -1.09538388]
 [-0.49309424  0.65165377  1.05139613  1.37237358  2.1126318 ]]

tf.random_uniform

  从 均匀分布 中输出 随机值

tf.random_uniform (shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)

  在输出 浮点型定域随机值 时,等同于 np.random.uniform;区别在于, tf.random_uniform 还可以输出 整型定域随机值

代码语言:javascript
复制
import numpy as np
n_1 = np.random.uniform(low=0, high=10, size=[2, 5])
print n_1

import random
n_2 = random.uniform(a=0, b=10)
print n_2

import tensorflow as tf
t_1 = tf.random_uniform(shape=[2, 5], minval=0, maxval=10, dtype=tf.float32)
t_2 = tf.random_uniform(shape=[2, 5], minval=0, maxval=10, dtype=tf.int32)
with tf.Session() as sess:
    print sess.run(t_1)
    print
    print sess.run(t_2)
代码语言:javascript
复制
# np.random.uniform,输出 浮点型定域随机值 数组
[[ 5.90669647  6.84431907  5.67390782  2.13535225  6.17888272]
 [ 1.13832828  2.10978447  0.41073584  5.94850748  6.9064396 ]]

# random_uniform,输出 浮点型定域随机值 **单值**
9.2136666451

# tf.random_uniform,输出 浮点型定域随机值 数组
[[ 8.30479622  3.55791092  4.70838642  5.91044331  2.22215414]
 [ 1.59040809  7.77726269  5.59780979  2.02908754  4.63784933]]

# tf.random_uniform,输出 整型定域随机值 数组
[[0 5 0 5 8]
 [9 9 5 3 7]]

tf.random_shuffle

洗牌神器

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

  • 调用 random库(无返回值,仅在原seq上进行洗牌):
代码语言:javascript
复制
seq = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 5]]

import random
r = seq
random.shuffle(r)
print r
print 'seq: ', seq
代码语言:javascript
复制
[[4, 5], [3, 3], [0, 0], [1, 1], [2, 2]]

# 原seq序列已被彻底改变 
seq:  [[4, 5], [3, 3], [0, 0], [1, 1], [2, 2]]
  • 调用 numpy库(无返回值,仅在原seq上进行洗牌):
代码语言:javascript
复制
seq = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 5]]

import numpy as np
r = seq
np.random.shuffle(r)
print r
print 'seq: ', seq
代码语言:javascript
复制
[[3, 3], [2, 2], [0, 0], [4, 5], [1, 1]]

# 原seq序列已被彻底改变 
seq:  [[3, 3], [2, 2], [0, 0], [4, 5], [1, 1]]
  • 调用 tensorflow库(有返回值,并非在原seq上进行洗牌):
代码语言:javascript
复制
seq = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 5]]

import tensorflow as tf
t = tf.random_shuffle(value=seq)
with tf.Session() as sess:
    print sess.run(t)
    print 'seq: ', seq
代码语言:javascript
复制
[[4 5]
 [0 0]
 [2 2]
 [3 3]
 [1 1]]

# 原seq序列不发生变化 
seq:  [[0, 0], [1, 1], [2, 2], [3, 3], [4, 5]]


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年09月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Constant Value Tensors
    • tf.zeros
      • tf.zeros_like
        • tf.ones
          • tf.ones_like
            • tf.fill
              • tf.constant
              • Sequences
                • tf.linspace
                  • tf.range
                  • Random Tensors
                    • tf.random_normal
                      • tf.random_uniform
                        • tf.random_shuffle
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档