问题描述

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. 基于手势识别的鼠标控制实现
  2. 给大家分享微信小说域名防封最新的解决方案
  3. ABAP 使用DYNP_VALUES_READ来获取屏幕字段值
  4. 虚拟机安装Solaris10
  5. windows下eclipse远程连接hadoop集群开发mapreduce
  6. 同步、异步、阻塞、非阻塞IO
  7. SDOI2018 旧试题
  8. selenium下打开Chrome报错解决
  9. c++11 function
  10. rt-thread驱动篇(07)---STM32F429单片机SD卡驱动添加
  11. Cygwin warning: could not find /tmp, please create! 问题
  12. 必看外国电影一百部,中国电影五十部
  13. 惠普linux进入bios设置u盘启动,hp惠普笔记本进入bios设置u盘启动装系统的方法步骤详细教程 - 系统家园...
  14. 程序员口中的demo是什么意思_怎样让5分钟的曲子不重样播放450天?程序员:用马尔可夫链...
  15. OpenHarmony——LiteOS小故事(进程篇)
  16. linux netstart命令
  17. 阿尔法大蛋智能机器人功能_科大讯飞机器阿尔法蛋大蛋2.0怎么样?儿童智能机器人阿尔法蛋大蛋2.0和1.0区别对比!...
  18. 柔性机械臂_德国Festo(费斯托)公布新作:模仿人手制造的柔性机械手
  19. 李永乐复习全书高等数学 第五章 多元函数微分学
  20. 如何获取PDF文件中对应内容的坐标及范围?

热门文章

  1. java的matcher方法,Matcher 的方法
  2. java 将图片转成二进制文件bin_java 问题:怎样把一个bin二进制图片文件用java代码打开?求解!...
  3. qa 芯片测试_芯片测试术语介绍CP、FT、WAT
  4. C语言浮数据范围和字节,C语言各种数据类型在系统中占的字节和取值范围.docx...
  5. Java爬取frame的课程表_从爬取湖北某高校hub教务系统课表浅谈Java信息抓取的实现 —— import java.*;...
  6. rancher k8s docker 关系_【环境搭建】Ubuntu20.04通过rke部署K8S
  7. 十八、彻底掌握金融量化交易库Tushare
  8. 自然语言处理python进阶(二)
  9. sklearn特征的提取(上)
  10. 博士申请 | 香港浸会大学万人杰教授招收计算机视觉全奖博士生/研究助理