- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试升级到 tensorflow 1.0 版,但发现我无法重现我之前的输出,因为随机数生成器似乎有所不同。我需要能够重现我的结果,所以我总是将种子设置为一个常数值。
import tensorflow as tf
with tf.Graph().as_default():
tf.set_random_seed(1)
a = tf.get_variable('a', 1)
with tf.Session() as sess:
tf.global_variables_initializer().run()
print('TensorFlow version: {0}'.format(tf.__version__))
print(sess.run(a))
输出:
TensorFlow version: 0.12.1
[-0.39702964]
TensorFlow version: 1.0.1
[0.96574152]
我在 Windows x64 上运行 python v3.5.2。我在 Transitioning 文档中没有看到任何描述这种差异的内容。升级后有什么方法可以重现我之前的结果吗?
最佳答案
最有可能的罪魁祸首是在初始化程序创建的随机操作之前生成的操作数正在发生变化。如果您不设置每个操作的种子,TensorFlow 会根据随机操作的整数 id 选择一个种子,这只是在该点之前创建的操作数。如果您想通过设置显式种子来测试它,您可能必须手动覆盖传递给 tf.get_variable
的初始化程序。
一般来说,we don't promise random number consistency between different versions of TensorFlow .我们确实尝试记录它们何时发生变化,但这仅在您设置每个操作种子时才有用,因为我们不会尝试记录操作数何时发生变化。该链接的相关部分是
Random numbers: The specific random numbers computed by the random ops may change at any time: users should rely only on approximately correct distributions and statistical strength, not the specific bits computed. However, we will make changes to random bits rarely and ideally never for patch releases, and all such intended changes will be documented.
关于python - 随机数生成器在 tensorflow 1.0.1 和 0.12.1 之间有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056553/
我现在遇到了一个奇怪的问题。 我正试图解决 Chrome 中的一个 CSS 错误,但每当我进入开发者工具时,该错误就神秘地修复了。 遇到这种情况你会怎么处理? 为什么渲染引擎要捉弄我? ;) 最佳答案
我正在学习 APIM 政策。在缓存策略中,有许多 最佳答案 我猜你指的是https://learn.microsoft.com/en-us/azure/api-management/api-manag
我正在学习 APIM 政策。在缓存策略中,有许多 最佳答案 我猜你指的是https://learn.microsoft.com/en-us/azure/api-management/api-manag
如果'Test'是一个普通类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 最佳答案 让我们学究气点,因为有些差异实际上会影响代码的
如果'Test'是一个普通类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 最佳答案 让我们学究气点,因为有些差异实际上会影响代码的
如果'Test'是一个普通类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 最佳答案 让我们学究气点,因为有些差异实际上会影响代码的
如果'Test'是一个普通类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 最佳答案 让我们学究气点,因为有些差异实际上会影响代码的
如果'Test'是一个普通类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 最佳答案 让我们学究气点,因为有些差异实际上会影响代码的
我有一些 C++ 背景知识,也了解一些 Java(显然远远不够)。 当我看到 Java 或 C++ 中的覆盖行为时,它们似乎没有太大区别。在 JAVA 中给出以下示例: class Animal{
我有一个index.html 文件,引用了一个javascript 文件 asd 在我的index.js function init() {
我正在尝试构建一个 AWS Signature v4 Auth header 来调用 STS GetCallerIdentity API 根据文档 https://docs.aws.amazon.co
本质上,我想根据图库中每个图像的尺寸更改图像裁剪的变量。如果图像的高度大于宽度,我想切换到高度裁剪,否则保留宽度裁剪。到目前为止,我正在使用 Galleria 插件,我有以下代码: if ($(ima
我已经缩小了我的基本问题范围:从 IE9 到 FireFox(和 Chrome),数组的范围有所不同。 在以下函数(仅摘录)中,我声明一个数组,然后通过调用 $.getJSON() 来填充它。因为引用
我创建了一类消息,包括内容和发件人。我成功地将所需的数据存储在 Parse 中,并且正在查询它们。到目前为止,没有问题。然后,我尝试根据发送者或接收者过滤消息,以便在我的 tableView 上以不同
大家好,我有一个奇怪的问题 - 我正在视频播放器中播放视频。用于相同的代码是: let url = URL(string: "xxxxxxxxxx.mp4") player = AVPlaye
这是我的 json 输入 { "students_key": { "student_key_one": { "profile_root": "/profile/student_
我是一名优秀的程序员,十分优秀!