使用tf.random多次运行会话将为conv2d返回不同的值

unknown_jy
import tensorflow as tf 
import numpy as np 

x_tf = tf.placeholder('float',[None, 2, 5, 1])
x_np = np.random.noraml(0,1,[1,2,5,1])

# ======== filter option1 and option2 ===========
f_np = np.random.normal(0,1,[1,3,1,1])
f_tf = tf.constant(f_np,'float') # option 1
f_tf = tf.random_normal([1,3,1,1]) # option 2
# ===============================================

x_conv = tf.nn.conv2d(x_tf,f_tf,[1,1,1,1],'SAME')

with tf.Session() as sess:
     tf.global_variables_initializer().run()
     x_conv_np  = sess.run(x_conv, feed_dict={x_tf: x_np})
     x_conv_np2 = sess.run(x_conv, feed_dict={x_tf: x_np})

如果我运行上面选项1的代码中,我得到了相同的值x_conv_npx_conv_np2然而,当我运行上面选项2,我得到不同的值x_conv_npx_conv_np2

我猜测每次运行会话时都会初始化tf.random_normal。这是要发生吗?即使我这样做也会发生这种情况。tf.set_random_seed有人可以解释运行会话时TensorFlow如何初始化其随机变量吗?  

默里

TensorFlow中的所有随机数ops(包括tf.random_normal())每次运行时都会采样一​​个新的随机张量:

TensorFlow有几个操作可以创建具有不同分布的随机张量。随机操作是有状态的,并且每次对其进行评估时都会创建新的随机值。

如果要对分布进行一次采样,然后重新使用结果,则应使用atf.Variable并通过运行tf.random_normal()一次将其初始化例如,以下代码将两次打印相同的随机值:

f_tf = tf.Variable(tf.random_normal([1, 3, 1, 1]))
# ...
init_op = tf.global_variables_initializer()
# ...
with tf.Session() as sess:
  sess.run(init_op)
  print(sess.run(f_tf))
  print(sess.run(f_tf))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TF 运行会话:操作优先级

来自分类Dev

使用tf.conv2d添加偏见-Tensorflow.js

来自分类Dev

tf.nn.conv2d如何使用偶数大小的过滤器?

来自分类Dev

如何使用从TFRecords读取的值作为tf.reshape的参数?

来自分类Dev

如何在使用@ tf.function装饰的函数中的tf.data.Dataset上使用for循环来操纵和返回tf.Variable?

来自分类Dev

训练时确认TF2正在使用我的GPU

来自分类Dev

无法使用Nouveau启动Steam / TF2

来自分类Dev

使用免费驱动程序玩TF2

来自分类Dev

TensorFlow 2-tf.keras:如何使用tf.data API和TFRecords训练像MTCNN这样的tf.keras多任务网络

来自分类Dev

在TF1训练中使用的Numpy数组-在TF2中,Keras的准确性低得多

来自分类Dev

如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

来自分类Dev

TensorFlow 2.0如何从tf.keras.layers层获取可训练变量,例如Conv2D或Dense

来自分类Dev

使用TF Keras ImageDataGenerator时Model.Predict返回相同的值

来自分类Dev

在不同形状的向量集合上使用 tf.nn.l2_loss

来自分类Dev

何时在Conv2d()中使用填充以及何时进行ReflectionPad2d()Pytorch

来自分类Dev

如何使用可变补丁大小的 tf.random_crop 定义形状?

来自分类Dev

为什么在Tensorflow 2中使用tf.GradientTape进行训练与使用fit API进行训练有不同的行为?

来自分类Dev

使用自己的模型运行 TF 对象检测 API 时出现 FailedPreconditionError

来自分类Dev

在Google Cloud Datalab中使用时,tf.nn.dynamic_rnn()返回错误

来自分类Dev

tensorflow 使用 tf.data.TextLineDataset() 返回 AttributeError: 'list' 对象没有属性 'get_shape'

来自分类Dev

conv2d是否使用随机过滤器?这样对NN有好处吗?

来自分类Dev

如何在多个图像输入中使用Conv2D?

来自分类Dev

如何在特定大小的conv2d层中使用Padding

来自分类Dev

如何使用从TFRecords读取的值作为tf.set_shape的参数?

来自分类Dev

当传递的值是dataset.take(1)时,无法使用tf.cast更改dtype

来自分类Dev

在 tensorflow 1.1.0 中使用 tf.app.flags.DEFINE_string 时出现奇怪的冲突值

来自分类Dev

Tensorflow - tf.nn.conv2D() 中的权重值是否发生了变化?

来自分类Dev

针对列表运行conv2d

来自分类Dev

我无法使用text2vec为测试数据创建tf-idf矩阵

Related 相关文章

  1. 1

    TF 运行会话:操作优先级

  2. 2

    使用tf.conv2d添加偏见-Tensorflow.js

  3. 3

    tf.nn.conv2d如何使用偶数大小的过滤器?

  4. 4

    如何使用从TFRecords读取的值作为tf.reshape的参数?

  5. 5

    如何在使用@ tf.function装饰的函数中的tf.data.Dataset上使用for循环来操纵和返回tf.Variable?

  6. 6

    训练时确认TF2正在使用我的GPU

  7. 7

    无法使用Nouveau启动Steam / TF2

  8. 8

    使用免费驱动程序玩TF2

  9. 9

    TensorFlow 2-tf.keras:如何使用tf.data API和TFRecords训练像MTCNN这样的tf.keras多任务网络

  10. 10

    在TF1训练中使用的Numpy数组-在TF2中,Keras的准确性低得多

  11. 11

    如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

  12. 12

    TensorFlow 2.0如何从tf.keras.layers层获取可训练变量,例如Conv2D或Dense

  13. 13

    使用TF Keras ImageDataGenerator时Model.Predict返回相同的值

  14. 14

    在不同形状的向量集合上使用 tf.nn.l2_loss

  15. 15

    何时在Conv2d()中使用填充以及何时进行ReflectionPad2d()Pytorch

  16. 16

    如何使用可变补丁大小的 tf.random_crop 定义形状?

  17. 17

    为什么在Tensorflow 2中使用tf.GradientTape进行训练与使用fit API进行训练有不同的行为?

  18. 18

    使用自己的模型运行 TF 对象检测 API 时出现 FailedPreconditionError

  19. 19

    在Google Cloud Datalab中使用时,tf.nn.dynamic_rnn()返回错误

  20. 20

    tensorflow 使用 tf.data.TextLineDataset() 返回 AttributeError: 'list' 对象没有属性 'get_shape'

  21. 21

    conv2d是否使用随机过滤器?这样对NN有好处吗?

  22. 22

    如何在多个图像输入中使用Conv2D?

  23. 23

    如何在特定大小的conv2d层中使用Padding

  24. 24

    如何使用从TFRecords读取的值作为tf.set_shape的参数?

  25. 25

    当传递的值是dataset.take(1)时,无法使用tf.cast更改dtype

  26. 26

    在 tensorflow 1.1.0 中使用 tf.app.flags.DEFINE_string 时出现奇怪的冲突值

  27. 27

    Tensorflow - tf.nn.conv2D() 中的权重值是否发生了变化?

  28. 28

    针对列表运行conv2d

  29. 29

    我无法使用text2vec为测试数据创建tf-idf矩阵

热门标签

归档