ValueError: Tensor Tensor(...) 不是该图的元素。使用全局变量keras模型时

2024-01-08

我正在使用 Flask 运行一个 Web 服务器,当我尝试使用 vgg16(这是 keras 预训练的 VGG16 模型的全局变量)时,会出现错误。我不知道为什么会出现这个错误,也不知道它是否与 Tensorflow 后端有关。 这是我的代码:

vgg16 = VGG16(weights='imagenet', include_top=True)

def getVGG16Prediction(img_path):
    global vgg16

    img = image.load_img(img_path, target_size=(224, 224))
    x = image.img_to_array(img)
    x = np.expand_dims(x, axis=0)
    x = preprocess_input(x)

    pred = vgg16.predict(x)
    return x, sort(decode_predictions(pred, top=3)[0])

@app.route("/uploadMultipleImages", methods=["POST"])
def uploadMultipleImages():
    uploaded_files = request.files.getlist("file[]")
    for file in uploaded_files:
        path = os.path.join(STATIC_PATH, file.filename)
        pInput, result = getVGG16Prediction(path)

Here is the full error: enter image description here

如有任何意见或建议,我们将不胜感激。谢谢。


看一眼avital的回答这个 github 问题 https://github.com/keras-team/keras/issues/2397。这里引用相关部分:

加载或构建模型后,立即保存 TensorFlow 图:

graph = tf.get_default_graph()

在另一个线程中(或者可能在异步事件处理程序中),执行以下操作:

global graph
with graph.as_default():
    (... do inference here ...)

我对此进行了一些修改,并将图表存储在我的应用程序的配置对象中,而不是使其成为全局的。

The TensorFlow 文档 https://www.tensorflow.org/api_docs/python/tf/get_default_graph for get_default_graph解释了为什么这是必要的:

注意:默认图表是当前线程的属性。如果您创建一个新线程,并希望在该线程中使用默认图,则必须在该线程的函数中显式添加 with g.as_default(): 。

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

ValueError: Tensor Tensor(...) 不是该图的元素。使用全局变量keras模型时 的相关文章

  • 如何在对象检测 API Tensorflow 中仅检测人体

    我在用tensorflow对象检测 API 用于检测对象 它在我的 Windows 系统中运行良好 我如何对其进行更改以仅检测提到的对象 例如 我只想检测人类而不是所有对象 根据此中的第 1 条评论answer https stackove
  • 在 Android 上保持 TensorFlow 模型加密

    我搜索了解是否有一种技术可以在 Android 应用程序中保持经过训练的张量流模型 pb 文件 的安全 但没有找到任何有用的东西 我正在发布一个包含我在训练集上构建的张量流模型的应用程序 当我发布该应用程序时 任何人都可以访问该模型并将其用
  • 从图中删除节点或重置整个默认图

    使用默认全局图时 是否可以在添加节点后将其删除 或者将默认图重置为空 当我在 IPython 中交互地使用 TF 时 我发现自己必须反复重新启动内核 如果可能的话 我希望能够更轻松地尝试图表 更新 11 2 2016 tf reset de
  • 跨多个 GPU/机器的 TF-Slim 的配置/标志

    我很好奇是否有关于如何使用部署 model deploy py 在多台机器上的多个 GPU 上运行 TF Slim models slim 的示例 该文档非常好 但我缺少一些内容 具体来说 需要为worker device和ps devic
  • 如何使用 Keras 中的 Conv2D 在 5D 张量的最后三个维度上应用卷积?

    通常的输入张量Conv2DKeras 中是一个 4D 张量 其维度为batch size n n channel size 现在我有一个 5D 张量 其尺寸为batch size N n n channel size我想对中的每个 i 应用
  • 如何在nodejs(tensorflow.js)中训练模型?

    我想做一个图像分类器 但我不会python Tensorflow js 使用我熟悉的 javascript 可以用它来训练模型吗 训练步骤是什么 坦白说 我不知道从哪里开始 我唯一想到的是如何加载 mobilenet 它显然是一组预先训练的
  • 具有高级计算功能的 Keras 自定义层

    我想写一些自定义的Keras分层并在层中进行一些高级计算 例如使用 Numpy Scikit OpenCV 我知道有一些数学函数keras backend可以对张量进行操作 但我需要一些更高级的功能 但是 我不知道如何正确实现这一点 我收到
  • Tensorflow:为什么 tf.case 给我错误的结果?

    我正在尝试使用tf case https www tensorflow org api docs python tf case https www tensorflow org api docs python tf case 有条件地更新张
  • Tensorboard 和 Dropout 层

    我有一个非常基本的查询 我制作了 4 个几乎相同 差异在于输入形状 的 CNN 并在连接到全连接层的前馈网络时合并了它们 几乎相同的 CNN 的代码 model3 Sequential model3 add Convolution2D 32
  • tf.gfile 在 TensorFlow 中起什么作用?

    我见过人们使用以下几个函数tf gfile例如tf gfile GFile or tf gfile Exists 我有一个想法tf gfile处理文件 但是 我无法找到官方文档来了解它还提供了什么 如果你能帮我的话那就太好了 对于登陆这里的
  • 使用 flow_from_dataframe y_col 的正确“值”是什么

    我正在用 pandas 读取 csv 文件 并给出存储在中的列名称colname colnames file label Read data from file data pd read csv Hand Annotations 2 csv
  • 从 Keras 检查点加载

    我正在 Keras 中训练一个模型 我使用以下代码保存了所有内容 filepath project model hdh5 checkpoint ModelCheckpoint project model hdf5 monitor loss
  • AssertionError: d['w'] | 的值错误深度学习专业化

    我正在完成深度学习专业的第一门课程 其中第一个编程任务是从头开始构建逻辑回归模型 由于这是我第一次从头开始构建模型 而且我花了一些时间来消化高等数学 所以我有很多错误 其中 我发现了一个我完全无法修复并且无法理解的问题 这是一个断言错误 说
  • Tensorflow中的Tensor和Variable有什么区别

    有什么区别Tensor and Variable在张量流中 我注意到在这个 stackoverflow 答案 https stackoverflow com questions 38556078 in tensorflow what is
  • conv1D 中形状的尺寸

    我尝试过构建一个只有一层的 CNN 但遇到了一些问题 事实上 编译器告诉我 ValueError 检查模型输入时出错 预期的 conv1d 1 input 具有 3 个维度 但得到形状为 569 30 的数组 这是代码 import num
  • 如何在 Tensorflow 中使用预训练的 Word2Vec 模型

    我有一个Word2Vec训练过的模型Gensim 我如何使用它Tensorflow for Word Embeddings 我不想在 Tensorflow 中从头开始训练嵌入 有人可以告诉我如何用一些示例代码来做到这一点吗 假设您有一个字典
  • 使用keras进行K折交叉验证

    由于神经网络的运行时间巨大 卷积网络中的 k 折交叉验证似乎没有受到重视 我有一个小数据集 我有兴趣使用给出的示例进行 k 折交叉验证here https gist github com fchollet 0830affa1f7f19fd4
  • Tensorflow 到 ONNX 的转换

    我目前正在尝试转换我使用本教程创建的已保存 且正在工作 的 pb 文件 https github com thtrieu darkflow https github com thtrieu darkflow 到 onnx 文件中 我目前正在
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是

随机推荐