问题描述

Cannot interpret feed_dict key as Tensor: Tensor Tensor("Placeholder_8:0", shape=(3, 3, 128, 256), dtype=float32) is not an element of this graph

ValueError: Variable conv1/weights already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:

Tensor Tensor("Placeholder:0", shape=(3, 3, 3, 32), dtype=float32) is not an element of this graph.

问题分析

在Tensorflow中,所有操作对象都包装到相应的Session中的,所以想要使用不同的模型就需要将这些模型加载到不同的Session中并在使用的时候申明是哪个Session,从而避免由于Session和想使用的模型不匹配导致的错误。

而使用多个graph,就需要为每个graph使用不同的Session,但是每个graph也可以在多个Session中使用,这个时候就需要在每个Session使用的时候明确申明使用的graph。

解决方案

方法一:

当建立一个from keras.models import Sequential的序贯模型或者是from keras.models import Model的函数式模型的model时

import keras
keras.backend.clear_session()

当然这似乎不是一种正常的解决思路。

方法二:

加载模型后,先执行一次model.predict()操作,之后的调用就不会出问题了

model = load_model(filepath=model_path)
y = model.predict(x)

因此,在大多数的建立模型立即predict的demo测试中,并不出现问题。

这似乎也不是一种正常的解决思路。

方法三:

TensorFlow——加载和使用多个模型解决方案

g1 = tf.Graph() # 加载到Session 1的graph
g2 = tf.Graph() # 加载到Session 2的graphsess1 = tf.Session(graph=g1) # Session1
sess2 = tf.Session(graph=g2) # Session2# 加载第一个模型
with sess1.as_default(): with g1.as_default():tf.global_variables_initializer().run()model_saver = tf.train.Saver(tf.global_variables())model_ckpt = tf.train.get_checkpoint_state(“model1/save/path”)model_saver.restore(sess, model_ckpt.model_checkpoint_path)
# 加载第二个模型
with sess2.as_default():  # 1with g2.as_default():  tf.global_variables_initializer().run()model_saver = tf.train.Saver(tf.global_variables())model_ckpt = tf.train.get_checkpoint_state(“model2/save/path”)model_saver.restore(sess, model_ckpt.model_checkpoint_path)...# 使用的时候
with sess1.as_default():with sess1.graph.as_default():  # 2...with sess2.as_default():with sess2.graph.as_default():...# 关闭sess
sess1.close()
sess2.close()

参考文章

TensorFlow——加载和使用多个模型解决方案

https://stackoverflow.com/questions/41607144/loading-two-models-from-saver-in-the-same-tensorflow-session

https://stackoverflow.com/questions/39175945/run-multiple-pre-trained-tensorflow-nets-at-the-same-time

Cannot interpret feed_dict key as Tensor: Tensor Tensor("Placeholder_8:0", shape=(3, 3, 128, 256), d

ValueError: Tensor Tensor("Placeholder:0", shape=(3, 3, 1, 32), dtype=float32)

解决在django中应用keras模型时出现的ValueError("Tensor %s is not an element of this graph." % obj)问题

将keras模型在django中应用时出现的小问题

Django使用Keras的几个坑

解决Django中调用keras的模型出现的问题

https://blog.csdn.net/weixin_30034903/article/details/106144194

https://blog.csdn.net/xxzhix/article/details/81983982

[2020/05/12 更新] Django调用Keras的模型

tensorflow多次restore模型出错

Keras与Django整合问题(keras反复识别问题)

https://www.freesion.com/article/7982900117/

TensorFlow——在web.py、Django环境下TensorFlow(Keras、tf.keras)加载和使用多模型失败解决方案相关推荐

  1. ant centos环境下 编译没有将配置文件加载_你可能忽略的macOS下brew安装nginx细节解读,干货

    大家好,我是路程lucky,热爱开发.设计.学习.生活.爱捣鼓的web前后端工程师,为您带来原创文章,欢迎持续关注~ 今天我们聊一聊macOS下的brew安装nginx,本文重点关注的是安装的细节的解 ...

  2. mysql正在加载_本地坏境或者服务器环境下phpmyadmin出现始终正在加载问题的解决方法...

    可能很多使用php免备案虚拟主机的用户感觉这个标题非常神奇,为什么呢,说是虚拟空间要怎么设置呢,这个问题就不是您担心的问题了,您应该问问空间商为什么了,当然这个前提下要保证自己的网络畅通无阻,认为本地 ...

  3. [转载总结]Linux环境下C++运行时动态链接库加载要点总结

    最近在看的一些web服务器源码的扩展部分基本上都使用到了.so动态库的运行时加载,也遇到了不少坑,看了不少网上的博客,在这里稍微总结转载一下,也是为了以后少走弯路. 首先需要了解的就是静态库与动态库的 ...

  4. 深度学习框架 TensorFlow:张量、自动求导机制、tf.keras模块(Model、layers、losses、optimizer、metrics)、多层感知机(即多层全连接神经网络 MLP)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 安装 TensorFlow2.CUDA10.cuDNN7.6. ...

  5. 网站性能分析(下)-让网站并行加载但顺序执行JS

    如果网站不支持JavaScript,复杂的功能将无法正常工作.在开发当中通常有几个脚本会写在HTML文件的头部.你嵌入的越多,网站的速度潜在的变得越慢.因此提高并行加载速度变得非常有必要,在前面的文章 ...

  6. 【好程序员笔记分享】——下拉刷新和上拉加载更多

    -iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和 ...

  7. Linux下编译、链接、加载运行C++ OpenCV的两种方式及常见问题的解决

    Linux下编译.链接.加载运行C++ OpenCV的两种方式及常见问题的解决 在Linux下安装完OpenCV C++之后(还没有安装的读者请参考Ubuntu 18.04 安装OpenCV C++) ...

  8. 纯web项目不能使用mui.preload进行页面预加载的解决办法

    首先: 纯web项目不能使用mui.preload进行页面预加载的, 比如[基于微信的web项目](http://ask.dcloud.net.cn/question/20644) 怎么办呢? 自己写 ...

  9. Flutter开发之ListView下拉刷新上拉加载更多(35)

    在Flutter开发之ListView组件(21) 文章中,我们了解了ListView组件的基本使用.但是数据比较少,没有涉及分页加载.而实际开发中,下拉刷新和分页加载几乎是所有APP的标配.在iOS ...

最新文章

  1. 学习Python有什么优势?
  2. python3 错误string indices must be integers 的解决方法
  3. Retrofit2/OkHttp 重写覆盖headers 与 不重写覆盖Headers
  4. java 正则表达式的使用
  5. 连接 F5 大 IP 设备
  6. Storm集群的安装及简单使用
  7. zookeeper基础整理
  8. 当开发帆软插件得时候如果安装插件遇到 ***插件版本过低 请安装高版本插件
  9. VS 工程只生成dll不生成lib的解决方案
  10. Win7双屏显示设置
  11. 百度UEditor编辑器压缩(缩放)图片只压缩jpg格式的解决方法
  12. 小白如何入门计算机编程?
  13. ffmpeg实现flv至mp4格式转换的bat脚本
  14. Jmeter TCP 取样器 上一个请求响应结果参数传个下一个请求,响应结果为空
  15. Android kotlin上传头像实现
  16. 【博客496】k8s dns解析与服务发现原理
  17. 基于Html+Css+javascript的动漫网站
  18. c语言怎么描述逢2进1,C语言之进制
  19. 使用VSccde上传文件到Git时报错:fatal:Custom certificate bundle not found at path: F:/python错图墩铝?git娴狂球糕减裱镑勒惊/Gi
  20. 国内常见的IT认证都有哪些?这几个入大厂必备

热门文章

  1. UNREFERENCED_PARAMETER的作用
  2. linux中怎样进入桌面目录,linux – 如何获得给定用户“桌面路径”
  3. 使用read_html爬取网页表哥,Python笔记:用read_html()爬取table形式表格的网络数据...
  4. python解释器可以使用什么命令_python解释器用什么写的
  5. java应用重启导致数据丢失_java – 在重新启动应用程序后从SharedPreferences恢复时设置丢失数据...
  6. 用c语言链表做一个词典,电子字典C语言链表版
  7. linux 命令综述
  8. php 获取发票内容,php – 如何从发票ID获取PayPal交易ID
  9. python字符串常用方法_字符串常用方法
  10. 七十五、Python | Leetcode哈希表系列