当前位置: 首页 > 知识库问答 >
问题:

Tensorflow无法初始化tf。动态批量大小变量

呼延鸿畅
2023-03-14

我试着创建一个tf。具有动态形状的变量。以下概述了问题。

这样做很有效。

init_bias = tf.random_uniform(shape=[self.config.hidden_layer_size, tf.shape(self.question_inputs)[0]])

然而,当我尝试这样做时:

init_bias = tf.Variable(init_bias)

它抛出错误ValueError:initial_value必须具有指定的形状:张量("random_uniform: 0",形状=(?, ?), dtype=flat32)

刚来上下文(问题输入是动态批处理的占位符):

self.question_inputs = tf.placeholder(tf.int32, shape=[None, self.config.qmax])

似乎将一个动态值放入随机均匀给出了形状=(?,?) 给出了tf的误差。变量。

感谢并感谢您的帮助!

共有1个答案

孙明德
2023-03-14

这应该可以:

init_bias = tf.Variable(init_bias,validate_shape=False)

如果validate\u shape为False,则tensorflow允许使用未知形状的值初始化变量。

然而,你正在做的事情对我来说似乎有点奇怪。在张量流中,变量通常用于存储神经网络的权重,无论批次大小如何,神经网络的形状保持不变。可变批次大小是通过将可变长度张量传递到图中(并将其与固定形状偏差Variable相乘/相加)来处理的。

 类似资料:
  • 本文向大家介绍tensorflow 初始化未初始化的变量实例,包括了tensorflow 初始化未初始化的变量实例的使用技巧和注意事项,需要的朋友参考一下 今日在Stack Overflow上看到一个问如何只初始化未初始化的变量,有人提供了一个函数,特地粘贴过来共大家品鉴: 通过tf.global_variables()返回一个全局变量的列表global_vars, 然后以python列表解析式的

  • 问题内容: 我想知道为什么默认情况下C,C ++和Java中的确切静态变量初始化为零?为什么对局部变量不是这样? 问题答案: 为什么要对静态变量进行确定性初始化而对局部变量不进行初始化? 了解如何实现静态变量。 它们的内存在链接时分配,并且它们的初始值也在链接时提供。 没有运行时开销。 另一方面,用于局部变量的内存是在运行时分配的。堆栈必须增长。你不知道以前在那里。如果需要,可以清除该内存(将其清

  • 问题内容: 如何在Java中初始化类的私有静态成员。 尝试以下操作: 但是在创建类A的第二个对象然后调用f1()时,我得到了空指针异常。 问题答案: 初始化静态成员的首选方法是(如上所述) 或者对于更复杂的初始化代码,您可以使用静态初始化程序块:

  • 本文向大家介绍tensorflow 声明和初始化可变张量,包括了tensorflow 声明和初始化可变张量的使用技巧和注意事项,需要的朋友参考一下 示例 当值需要在会话中更新时,使用可变张量。这是在创建神经网络时将用于权重矩阵的张量类型,因为这些值将在训练模型时更新。 可以使用或函数声明可变张量。建议使用,因为它提供了更大的灵活性,例如:tf.Variable()tf.get_variable()

  • 问题内容: TensorFlow中初始化变量的标准方法是 经过一段时间的学习后,我创建了一组新变量,但是一旦初始化它们,它将重置所有现有变量。目前,解决此问题的方法是保存所需的所有变量,然后在tf.initalize_all_variables调用之后重新应用它们。这有效,但是有点笨拙。我在文档中找不到像这样的东西… 有谁知道初始化未初始化变量的好方法吗? 问题答案: 没有优雅的方法可以枚举图中的

  • 问题内容: 我有以下代码: 这给了我以下错误: 解析错误:语法错误,在第19行的/home/user/Sites/site/registration/inc/registration.class.inc中出现意外的’(’,期待’)’ 所以,我想我做错了什么…但是如果不那样做怎么办?如果我用常规字符串更改mktime内容,它将起作用。所以,我知道我能做到这一点 的那种 像.. 有人有指针吗? 问题答