未找到:当我使用张量流和烧瓶加载模型时,容器本地主机不存在

2024-01-10

我是一个研究深度学习的新手。我使用张量流加载保存的模型并使用 Flask 创建 API,但收到错误“容器本地主机不存在”。当我预测时,请帮我解决它。谢谢。

张量流版本 1.13.1

喀拉拉邦版本 2.2.4

烧瓶版本 1.0.3

我通过命令“python app.py”运行它

这是我的代码:

from flask import Flask, request
from tensorflow.python.keras.models import load_model
import numpy as np
import tensorflow as tf
from tensorflow.python.keras.applications import imagenet_utils
from tensorflow.python.keras.preprocessing.image import img_to_array
from tensorflow.python.keras.preprocessing.image import load_img
from PIL import Image
import io

app = Flask(__name__)
model = None
labels = ['AchatinaFulice', 'Riptortus', 'SquashBug']


def load_model_insect():
    global model
    model = load_model('insect2.h5')
    global graph
    graph = tf.get_default_graph()

def predict(image):
    image = image.resize((200, 200))
    image = img_to_array(image)
    image = np.expand_dims(image, 0)
    image = imagenet_utils.preprocess_input(image)
    image = image / 255
    pred = np.argmax(model.predict(image))
    return labels[pred]


@app.route('/')
def upload():
    return '''<html>
   <body>
      <form action = "http://localhost:5000/uploader" method = "POST"
         enctype = "multipart/form-data">
         <input type = "file" name = "file" />
         <input type = "submit"/>
      </form>
   </body>
</html>'''


@app.route('/uploader', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        image = request.files["file"].read()
        image = Image.open(io.BytesIO(image))
        with graph.as_default():
            label = predict(image)
        return label


if __name__ == "__main__":
    load_model_insect()
    app.run(host='localhost')

完整日志

C:\ProgramData\Anaconda3\python.exe "C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pydev\pydevconsole.py" --mode=client --port=53173
import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['C:\\Users\\hoho303\\PycharmProjects\\Insect', 'C:/Users/hoho303/PycharmProjects/Insect'])
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.
PyDev console: using IPython 7.4.0
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] on win32
runfile('C:/Users/hoho303/PycharmProjects/Insect/app.py', wdir='C:/Users/hoho303/PycharmProjects/Insect')
WARNING:tensorflow:From C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\layers\core.py:143: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
2019-06-09 17:53:44.811258: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
WARNING:tensorflow:No training configuration found in save file: the model was *not* compiled. Compile it manually.
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://localhost:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [09/Jun/2019 17:53:54] "GET / HTTP/1.1" 200 -
[2019-06-09 17:54:02,496] ERROR in app: Exception on /uploader [POST]
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\_compat.py", line 35, in reraise
    raise value
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\ProgramData\Anaconda3\lib\site-packages\flask\app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:/Users/hoho303/PycharmProjects/Insect/app.py", line 68, in upload_file
    pred = np.argmax(model.predict(image))
  File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1113, in predict
    self, x, batch_size=batch_size, verbose=verbose, steps=steps)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\training_arrays.py", line 329, in model_iteration
    batch_outs = f(ins_batch)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\backend.py", line 3076, in __call__
    run_metadata=self.run_metadata)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1439, in __call__
    run_metadata_ptr)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable dense_1/bias from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/dense_1/bias)
     [[{{node dense_1/BiasAdd/ReadVariableOp}}]]

我也用过这个建议 https://github.com/tensorflow/tensorflow/issues/28287#issuecomment-495005162创建一个新变量session.

然后我就跟着这个建议 http://yangyang.blog/2019/03/it-works-an-epic-debugging-thesis-week-8/它起作用了。具体来说我nested the with session.as_default():在里面,一个with graph.as_default():

@app.route("/api/doodlePredict", methods=["POST"])
def predictAPI():
    global model, graph
    print(request.get_data())
    with session.as_default():
        with graph.as_default():
            response = perpareDataAndPredict(model, testJson)
    print("this is the response: ", response)
    return jsonify(response.tolist())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未找到:当我使用张量流和烧瓶加载模型时,容器本地主机不存在 的相关文章

随机推荐

  • 在 OSX 和 Mono 上使用 C# 进行开发

    我即将启动一个需要我编写 C 代码的项目 问题是 我有一台 Mac 我想知道在 OSX 10 6 上使用 mono 进行 c 开发是否存在任何陷阱 我认为该页面很清楚 实现很清晰 但另一方面 我读到人们安装 VMWare 或类似的东西来使用
  • 如何提交不更改和新消息?

    我怎样才能制作一个新的commit如果没有对文件进行任何更改 则创建一条新消息 这是不可能的 因为提交的代码 SHA 将是相同的 很少有充分的理由这样做 但参数是 allow empty对于空提交 没有更改文件 与 allow empty
  • Pandas groupby 结合 sklean 预处理续

    从这篇文章继续 Pandas groupby 与 sklearn 预处理相结合 https stackoverflow com questions 42772758 pandas groupby in combination with sk
  • JavaScript 中数组扩展语法的替代方案

    所以我正在使用使用 ES5 JavaScript 的旧代码库 这意味着我无法传播数组 var listOfItems item1 test 1 item2 test2 2 var docDefinition style piecesTabl
  • 如何创建一个有时间限制的哈希/密钥?

    我正在尝试创建一个有时间限制的密钥以在我的一个应用程序中使用 该密钥用于解锁应用程序中的某些功能 到目前为止我的想法是 生成 加密哈希我需要的各种信息 密钥生成日期 验证 加密哈希我需要的各种信息 现在的日期 如果所有信息都相同且日期相同
  • facebook-api:Facebook Connect 跨域接收者 URL 是什么?

    我正在尝试配置我的 Facebook 应用程序可调整大小 文档位于http wiki developers facebook com index php Ressized IFrame http wiki developers facebo
  • 编译时检查特征特化是否具有唯一的 id

    我看过很多帖子解释如何为类生成唯一的 id 就我而言 id 由用户选择 出于各种原因 但我想确保没有 id 在不同的类中使用两次 我将问题简化为以下代码 struct A struct B template
  • html.hidden 未在 asp.net MVC 核心 Razor 视图中设置值

    我正在开发一个 ASP NET MVC 核心应用程序 我有一个带有如下表单元素的弹出窗口 using Html BeginForm AddIVR ITPVoice FormMethod Post new role form Html Hid
  • 应用程序处理错误:意外的 CFBundleExecutable 密钥

    我正在尝试在启用 bitCode 的情况下向 Apple 提交 每次我提交时我都会收到这封电子邮件 我们发现您最近交付的 MyAPPP 存在一个或多个问题 要处理您的交货 必须纠正以下问题 意外CFBundle可执行密钥 Payload M
  • Sass 从模块扩展类

    使用 sass 中的新模块系统 使用 use 而不是 import 我如何在一个文件中定义一个类并使用 extend 在另一个文件中使用它 File 颜色 scss element background color blue 主文件 use
  • 如何将包发布到 TeamCity nuget 服务器?

    我们有一个为 nuget 配置的 TeamCity 7 服务器 它托管在没有外部连接的计算机上 是否可以将包发布到 TeamCity nuget 服务器 例如 如果我们想要将 log4net 包依赖项添加到我们的项目之一 则需要将其发布到
  • 查找数组中大于或等于N的数

    如果我有一个 PHP 数组 array 具有价值观 45 41 40 39 37 31 我有一个变量 number 38 如何返回值 39 因为这是数组中最接近 38 向上计数 的值 Regards taylor
  • 通过 fontforge 脚本获取字形宽度

    为了获取字形宽度 我将TTF字体为AFM 然后解析内容AFM文件来获取每个字形的宽度 由于从技术上来说 fontforge正在从二进制文件中捕获字形宽度TTF文件 然后创建一个AFM字体文件基于AFM标准模板 我想知道是否可以直接转换TTF
  • 如何检查 django 模板中的复选框是否被选中

    我需要检查 django 模板中是否选中了复选框 如果为 False 则打开其他一些字段 我已经尝试过类似的事情 if closed in is closed 但无论复选框是否选中 它们始终为 True 这是我在模板中的复选框属性
  • 如何在c#中获取先前的控制权

    如何在c 中获取先前的控制权 有一种方法可以GetNextControl但没有办法获得先前的控制权 谁能告诉我如何得到这个 提前致谢 GetNextControl Control control bool forward 您可以指定是否要向
  • 将最喜欢的方法添加到 IntelliJ 中的静态导入?

    在 Eclipse 中 可以配置某些 最喜欢的 类 在调用代码完成时将查找这些类 以查看是否可以为方法添加静态导入 这位于首选项 gt Java gt 编辑器 gt 内容辅助 gt 收藏夹 例如 我可以开始输入assertT Eclipse
  • Android CursorLoader,尝试重新查询已经关闭的游标

    我刚刚开始使用新的cursorLoader 但遇到了问题 下面的代码只是为了理解cursorLoader是如何工作的 但我不断得到 当我恢复此活动时 尝试重新查询已关闭的游标 在我开始使用 CursorLoader 之前 该应用程序运行良好
  • 从 cuda 内核中访问类数据成员 - 如何设计正确的主机/设备交互?

    我一直在努力改变一些cuda C代码变成更面向对象的代码 但以我目前对cuda运行机制的理解来说 我的目标似乎并不容易实现 对于这种情况我也找不到很好的解释 毕竟这可能是不可能的 我有一个global类的对象myClass保存一个要填充到内
  • 在命名空间内设计

    我试图将我的 Rails 项目拆分为普通用户的前端和管理员的后端 因此 我创建了一个命名空间 admin 以便我可以在地图管理中轻松控制管理特定的控制器方法 布局 身份验证 我仅使用 Devise 来注册 验证我的管理员 因为它仅用于管理员
  • 未找到:当我使用张量流和烧瓶加载模型时,容器本地主机不存在

    我是一个研究深度学习的新手 我使用张量流加载保存的模型并使用 Flask 创建 API 但收到错误 容器本地主机不存在 当我预测时 请帮我解决它 谢谢 张量流版本 1 13 1 喀拉拉邦版本 2 2 4 烧瓶版本 1 0 3 我通过命令 p