tensorflow - 在 Flask 中导入多个自定义 tensor2tensor 问题
问题描述
在 flask_restplus API 中,我试图从在一台服务器上提供的两个 tensor2tensor 模型进行推断。这两个模型都是自定义的,所以我将 t2t_usr_dir 提供给 tensor2tensor 的服务函数,以便可以找到自定义问题。
在推断一个自定义问题时,一切都很好,结果也符合预期。但是,当我想推断第二个模型时,程序在
def get_registered_problem(usr_dir_string, problem):
usr_dir.import_usr_dir(usr_dir_string)
print("Importing worked?")
problem = registry.problem(problem)
print("Problem naam:", problem)
return problem
带一个LookupError: my_custom_problem_2 not in the set of supported problems
。
当我切换回第一个模型(my_custom_problem_1)时,一切都很好,日志告诉我存在一个对象。我仔细检查了所有用户和数据目录是否正确。感觉就像是烧瓶的东西或problem = registry.problem(problem)
东西,好像一旦加载了自定义问题,第二个用户目录注册就不会被拾取。
有任何想法吗?提前致谢!
解决方案
我发现使用usr_dir.import_usr_dir(usr_dir_string)
不是最好的方法,因为它似乎确实重新导入了相同的第一个 usr_dir,正如 Matthias 建议的那样。我通过将相应的 usr_dirs 添加到我的根文件夹中并将它们作为模块导入来解决了这个问题。
之后,我usr_dir.import_usr_dir(usr_dir_string)
完全删除了该行并继续通过 注册问题problem = registry.problem(problem)
,这对这两个问题都很好!
推荐阅读
- c# - Xamarin 表单错误反序列化 Xml 数据 C#
- ios - 如何找到 MGLPolyline 中的最后一个坐标?
- java - 无法延迟加载 JPA 关系
- r - 如何根据从 Shiny App 中的下拉列表中选择的变量来预测 lm 模型?
- c# - 如何编写一个 Web api 来处理与 c# 中的外键连接的表?
- html - 如何按顺序排列不同字长的按钮,以使每一行的长度大致相同
- dart - 中心小部件的问题
- javascript - 如何将一个数组项传输到另一个数组并使用 Angular Material Drag n Drop CDK 更新它,而不会将两个项绑定到相同的参数
- javascript - 数据表响应函数触发时如何重做js
- node.js - 在 Node Repl 中使用 .load 函数时出现问题