Tensorflow 错误:FailedPeconditionError:尝试使用未初始化的变量

2023-12-22

我想将立体图像放入优化器中。这是我的代码:

tf.reset_default_graph()

# config
learning_rate = 0.5
training_epochs = 5

# init
init = tf.global_variables_initializer()

def conv2d(input_layer):
    conv1 = tf.layers.conv2d(
        inputs=input_layer,
        filters=32,
        kernel_size=[3, 3],
        padding='same',
        activation=tf.tanh,
        use_bias=False
    )

    conv2 = tf.layers.conv2d(
        inputs=conv1,
        filters=32,
        kernel_size=[3, 3],
        padding='same',
        activation=tf.tanh,
        use_bias=False
    )

    conv3 = tf.layers.conv2d(
        inputs=conv2,
        filters=32,
        kernel_size=[3, 3],
        padding='same',
        activation=tf.tanh,
        use_bias=False
    )

    conv4 = tf.layers.conv2d(
        inputs=conv3,
        filters=32,
        kernel_size=[3, 3],
        padding='same',
        activation=tf.tanh,
        use_bias=False
    )

    logits = tf.layers.conv2d(
        inputs=conv4,
        filters=32,
        kernel_size=[3, 3],
        padding='same',
        activation=tf.sigmoid,
        use_bias=False
    )

    return logits


if __name__ == '__main__':
    # read images
    # preprocessing: rgb converted to float, zero_mean, uni_variance
    images = reading_images()
    mask_tensor = images["mask"][1]

    # reshape images
    img0 = images["img0"][1]
    img1 = images["img1"][1]
    img0_rs = tf.reshape(img0, [1, int(1988 / 2), int(2880 / 2), 3])
    img1_rs = tf.reshape(img1, [1, int(1988 / 2), int(2880 / 2), 3])

    # define symbolic placeholders
    t_im0 = tf.placeholder(tf.float32, [1, None, None, 3])
    t_im1 = tf.placeholder(tf.float32, [1, None, None, 3])
    t_img = tf.concat([t_im0, t_im1], axis=3)

    input_layer = tf.reshape(t_img, [1, int(1988 / 2), int(2880 / 2), 6])
    logits = conv2d(input_layer)

    with tf.name_scope("cost_function") as scope:
        mask_tensor = tf.tile(mask_tensor, [1, 1, 3])
        cost_function = -tf.reduce_mean(mask_tensor * tf.log(logits) + (1. - mask_tensor) * tf.log(1. - logits))
    tf.summary.scalar("cost_function", cost_function)

    with tf.name_scope("train") as scope:
        optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost_function)
    merged_summary_op = tf.summary.merge_all()

    with tf.Session() as sess:
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(sess=sess, coord=coord)

        sess.run(init)
        # summary_writer = tf.summary.FileWriter('/tmp/tensorflow_logs', graph=sess.graph)
        for epoch in range(training_epochs):
            print("epoch ", epoch)

            avg_cost = 0.0
            mask = sess.run(mask_tensor)
            np_img0_rs = sess.run(img0_rs)
            np_img1_rs = sess.run(img1_rs)

            # res = t_img.eval(feed_dict={t_im0: img0_rs_, t_im1: img1_rs_})

            sess.run([optimizer], feed_dict={t_im0: np_img0_rs, t_im1: np_img1_rs})
    coord.request_stop()
    coord.join(threads)

但我总是收到这个错误。我不知道我必须改变什么。我可以尝试什么来调试它?我确实做了很多尝试来修复这个错误。

epoch  0
2017-07-17 10:26:03.719539: W tensorflow/core/kernels/queue_base.cc:294] _4_input_producer: Skipping cancelled enqueue attempt with queue not closed
2017-07-17 10:26:03.719610: W tensorflow/core/kernels/queue_base.cc:294] _5_input_producer_1: Skipping cancelled enqueue attempt with queue not closed
Traceback (most recent call last):
  File "/home/test/Dropbox/occlusion_thesis/occ_small/main.py", line 111, in <module>
    sess.run([optimizer], feed_dict={t_im0: np_img0_rs, t_im1: np_img1_rs})
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 789, in run
    run_metadata_ptr)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 997, in _run
    feed_dict_string, options, run_metadata)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1132, in _do_run
    target_list, options, run_metadata)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1152, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value conv2d_4/kernel
     [[Node: conv2d_4/kernel/read = Identity[T=DT_FLOAT, _class=["loc:@conv2d_4/kernel"], _device="/job:localhost/replica:0/task:0/cpu:0"](conv2d_4/kernel)]]

Caused by op u'conv2d_4/kernel/read', defined at:
  File "/home/test/Dropbox/occlusion_thesis/occ_small/main.py", line 84, in <module>
    logits = conv2d(input_layer)
  File "/home/test/Dropbox/occlusion_thesis/occ_small/main.py", line 60, in conv2d
    use_bias=False
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/layers/convolutional.py", line 551, in conv2d
    return layer.apply(inputs)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 492, in apply
    return self.__call__(inputs, *args, **kwargs)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 434, in __call__
    self.build(input_shapes[0])
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/layers/convolutional.py", line 137, in build
    dtype=self.dtype)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 374, in add_variable
    trainable=trainable and self.trainable)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 1065, in get_variable
    use_resource=use_resource, custom_getter=custom_getter)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 962, in get_variable
    use_resource=use_resource, custom_getter=custom_getter)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 367, in get_variable
    validate_shape=validate_shape, use_resource=use_resource)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 352, in _true_getter
    use_resource=use_resource)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 725, in _get_single_variable
    validate_shape=validate_shape)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variables.py", line 200, in __init__
    expected_shape=expected_shape)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variables.py", line 319, in _init_from_args
    self._snapshot = array_ops.identity(self._variable, name="read")
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1303, in identity
    result = _op_def_lib.apply_op("Identity", input=input, name=name)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/test/Programs/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1269, in __init__
    self._traceback = _extract_stack()

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_4/kernel
     [[Node: conv2d_4/kernel/read = Identity[T=DT_FLOAT, _class=["loc:@conv2d_4/kernel"], _device="/job:localhost/replica:0/task:0/cpu:0"](conv2d_4/kernel)]]

我不确定您的代码是否完整,但错误消息对我来说似乎相当清楚:

FailedPreconditionError:尝试使用未初始化的值 conv2d_4/kernel

看看你的代码,我发现你有sess.run(init)但我找不到定义init任何地方。 尝试添加init = tf.global_variables_initializer() before with tf.Session() as sess:,这应该可以修复“未初始化值”错误。

Edit:通过完整的代码,我发现问题来自:

# init
init = tf.global_variables_initializer() # <<<<<<<<< 1

def conv2d(input_layer):
    ## Bunch of code defining layers
    return logits

if __name__ == '__main__':
    ## bunch of other code

    logits = conv2d(input_layer) # <<<<<<<<< 2

我标记为1定义初始化函数的点对于截至该点定义的所有变量, and 2您实际定义网络(以及其中的所有变量)的点。的定义init必须after变量的所有定义都已完成,否则您将得到未初始化的变量。

Update:

我在这里复制我对答案所做的评论,因为它可能是一个更好的放置位置。tf.global_variables_initializer()必须被称为定义图表后。如果您在开始时定义它,然后向网络添加层,添加的层的权重不会被初始化因为它们在您创建初始化操作时没有定义。始终将 init 定义为之前的最后一个操作with tf.Session() ...以确保您不会错过初始化中的任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tensorflow 错误:FailedPeconditionError:尝试使用未初始化的变量 的相关文章

  • Keras - Nan 总结直方图 LSTM

    我使用 Keras 编写了一个 LSTM 模型 并使用 LeakyReLU 高级激活 ADAM Optimizer with learning rate decay opt optimizers Adam lr 0 0001 beta 1
  • 张量流输入管道,其中多行对应于单个观察?

    所以我刚刚开始使用 Tensorflow 并且我正在努力正确理解输入管道 我正在研究的问题是序列分类 我正在尝试读取形状为 100000 4 的 CSV 文件 前 3 列是特征 第四列是标签 但是 数据表示长度为 10 的序列 即第 1 1
  • 如何用Python构建游戏神经网络?

    我是神经网络初学者 我想通过教计算机下跳棋来学习神经网络的基础知识 其实我想学的游戏是盛气凌人 http en wikipedia org wiki Domineering and Hex http en wikipedia org wik
  • GPU 上的 AWS SageMaker [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在 AWS 上训练神经网络 Tensorflow 我有一些 AWS 积分 据我了解 AWS
  • softmax_cross_entropy_with_logits 的 PyTorch 等效项

    我想知道 TensorFlow 是否有等效的 PyTorch 损失函数softmax cross entropy with logits TensorFlow 是否有等效的 PyTorch 损失函数softmax cross entropy
  • 如何使用文本和?

    我一直在关注this https github com tensorflow models tree master textsum使用 textsum 的链接 我已经使用提供的命令训练了模型 但我在 textsum log root 目录中
  • Colab 上没有名为“tensorflow.compat.v2”的模块

    我正在关注这个https thebinarynotes com how to train mask r cnn on the custom dataset https thebinarynotes com how to train mask
  • 在张量流中对不平衡数据集进行二次采样

    张量流初学者在这里 这是我的第一个项目 我正在使用预定义的估算器 我有一个极其不平衡的数据集 其中积极结果大约占总数据的 0 1 我怀疑这种不平衡会极大地影响我的模型的性能 作为解决这个问题的第一次尝试 由于我有大量数据 我想扔掉大部分底片
  • 复制张量流图

    复制 TensorFlow 图并保持更新的最佳方法是什么 理想情况下 我想将重复的图放在另一个设备上 例如从 GPU 到 CPU 然后不时更新副本 简短回答 你可能想要检查点文件 https www tensorflow org progr
  • 为什么使用“self”定义的变量在继承自 tf.keras.Model 时会自动给出 ListWrapper() ?

    我不熟悉ListWrapper 但它被应用于使用创建的所有列表变量self当我的班级继承自tf keras Model https www tensorflow org api docs python tf keras models Mod
  • ValueError:在 R 中使用 keras 模型时在用户代码中

    我正在尝试使用 R 在 R 中运行一维 CNNkeras包裹 我正在使用以下代码 library MASS library keras Create some data data Boston data lt Boston create a
  • Tensorflow 初始化给出所有 1

    张量流1 12 0 在下面的代码片段中 wrapped rv val和seq rv val似乎应该是等效的 但事实并非如此 相反 seq rv val 被正确初始化为随机生成的 init val 数组 但wrapped rv val 设置为
  • 为什么我的精确率-召回率和 ROC 曲线不平滑?

    我有一些标记为 0 或 1 的数据 我正在尝试使用随机森林来预测这些类别 每个实例都标有 20 个用于训练随机森林的特征 约 30 000 个训练实例和约 6000 个测试实例 我使用以下代码绘制精确召回率和 ROC 曲线 precisio
  • ptb_word_lm中batch_size的含义(tensorflow的LSTM模型)

    我是张量流的新手 我现在对它的含义有点困惑batch size 众所周知 其含义是batch size是每批次的样本数 但是根据中的代码ptb word lm 似乎不是 读者 py data len tf size raw data the
  • 在 R 中绘制决策树(插入符)

    我已经训练了一个数据集rf方法 例如 ctrl lt trainControl method LGOCV repeats 3 savePred TRUE verboseIter TRUE preProcOptions list thresh
  • 如何下载和使用对象检测数据集(例如 coco 或 pascal)

    我对物体检测领域非常陌生 我想知道是否有人可以帮助我下载和使用对象检测数据集 例如 coco 或 pascal 当我下载数据集后访问他们的网站时 我觉得我不知道应该如何处理它们 我知道这个问题很愚蠢 但是开始的提示可能非常有用 谢谢 我正在
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • Tensorflow:加权交叉熵中权重的解释

    张量流函数tf nn weighted cross entropy with logits 接受论证pos weight The 文档 https www tensorflow org versions r0 11 api docs pyt
  • 如何在Keras模型中替换(或插入)中间层?

    我有一个训练有素的 Keras 模型 我想要 1 用相同但没有偏差的Con2D层替换Con2D层 2 在第一次激活之前添加 BatchNormalization 层 我怎样才能做到这一点 def keras simple model fro
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization

随机推荐

  • Bash 终端不允许输入

    我尝试在 Windows 10 机器上使用 VS Code 中的集成终端和 bash 终端 自三月份以来我一直在使用相同的设置 但现在突然不允许我在终端中输入任何内容 当我启动 VS Code 时 终端会打开 但屏幕一直向下滚动 如果向上滚
  • LINQ-NHibernate - 为复杂对象仅选择几个字段(包括集合)

    我在我的一个项目 和 ASP NET MVC 应用程序 中使用 Fluent NHibernate 并使用 LINQ 来查询数据 使用 LINQ to NHibernate 库 更改物体名称是为了保护无辜者 假设我在数据库 MySQL 中有
  • 如何在JAVA中使用apache poi删除Excel中的警告?

    我在用apache poi api在我的 java 应用程序中生成 Excel 工作表 Excel 中设置的数据以字符串类型动态获取 对于第 1 列 值是字母数字 当我生成 Excel 时 它会给我绿色指示并带有警告 数字存储为文本 or
  • 对称 Lerp 和编译器优化

    我有一个功能 float lerp float alpha float x0 float x1 return 1 0f alpha x0 alpha x1 对于那些还没有看过的人来说 这比x0 x1 x0 alpha因为后者并不能保证ler
  • SonarQube 5.6 恢复质量配置文件

    我正在尝试使用curl 通过 Web API 恢复全新安装的 SonarQube v 5 6 4 的质量配置文件 在 c temp 中 我有一个从运行 Sonar 导出的 Sonar way 配置文件 我已将其重命名为 test xml 在
  • 使用 php usort 进行第二次排序

    所以我有相当大的数据数组 需要按两个标准对它们进行排序 有变数 data important and data basic 它们是简单的数字 我使用 uasort 进行排序 data首先按重要 然后按基本 So Important Basi
  • 如何在powershell中分析(计时)

    我的 powershell 脚本运行缓慢 有什么方法可以分析 powershell 脚本吗 在此处发布您的脚本确实有助于给出准确的答案 您可以使用 Measure Command 查看脚本中每个语句所花费的时间 但是 您必须将每个语句包装在
  • 基于在线 Apache Web 日志分析器,仅提交原始日志文件 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个来自 Apache 的原始 access log 文件 是否有任何基于网络的版本工具 我可以在其
  • XSLT:如何生成每行 3 个单元格的 HTML 表格

    我按照以下说明生成了一个每行 2 个单元格的 HTML 表格这篇文章来自 StackOverflow https stackoverflow com questions 5387134 xslt and tables setting num
  • 如何使用 F# 语法将 Type 作为属性参数传递?

    FsCheck 允许自定义Arbitrary在其 NUnit 集成中
  • Ruby 中的自然语言处理 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想做一些句子分析 主要针对 Twitter 应用程序 并推断一些一般特征 Ruby 中有针对此类事情
  • 如何在 Perl 中使用 fork() ?

    我的数组中有数百个文件名 我想为数组中的每 4 个文件创建一个子进程 并让该子进程对这 4 个文件中的每一个文件执行一些操作 因此 对于 100 个文件 我将创建 25 个进程 我在理解存在分叉时处理行的顺序时遇到一些困难 我本以为我可以做
  • Audiomanager 和 MediaPlayer 之间的区别

    谁能解释一下有什么区别AudioManager and MediaPlayer在安卓中 如果我是对的 那么AudioManager只能播放音频 而MediaPlayer可以播放音频和视频 但我相信这其中一定还有更多的内容 Thanks Au
  • 如何在 Python 中进行 Obj-C 类别?

    Obj C 我已经很长时间没有使用它了 有一个叫做类别 http macdevelopertips com objective c objective c categories html来延长课程 用新方法声明一个类别并将其编译到您的程序中
  • 如何在 Objective c 中获取当前月份的日期?

    我正在开发一个使用日期 月份 年份的应用程序 我想要当前月份的日期 因为当前月份可以有 28 29 30 31 天 我试图获取当年的月份 但我不知道上面的代码 这是我的代码 NSDateFormatter dateFormatter NSD
  • 使用 ApplicationDbContext 的身份脚手架

    ASP NET Core 2 x 现在将身份页面和逻辑隐藏在库内 为了延长IdentityUser具有新属性的实体并添加 UI 和逻辑来处理这些新属性 我们现在可以运行 身份脚手架 在 MyProject gt 添加 gt 新脚手架项下 很
  • 动态启用/禁用 jquery 可排序项目

    我的表格行可以根据是否选中某些单选按钮进行排序 可排序对象初始化于document ready如下 document ready function Return a helper with preserved width of cells
  • django 中是否有像 Rails 中那样的 before_filter ?

    django中有没有可用的功能 以便我们可以在django视图中对所有操作进行一些过滤 例如rails中可用的 before filter 我仍在学习 Rails 但从我到目前为止观察到的来看 python装饰者 http en wikip
  • GameCenter:endTurnWithNextParticipants 未前进

    在沙盒环境中 我无法将回合制比赛推进到下一个玩家 初始条件 玩家 A 和玩家 B 分别位于设备 A 和设备 B 上 两者都登录到沙箱 双方玩家都可以看到对方的GC状态信息 玩家 A 创建一场比赛并邀请玩家 B 玩家A结束回合 在我的 结束转
  • Tensorflow 错误:FailedPeconditionError:尝试使用未初始化的变量

    我想将立体图像放入优化器中 这是我的代码 tf reset default graph config learning rate 0 5 training epochs 5 init init tf global variables ini