在 Flask 中导入多个自定义 tensor2tensor 问题
Importing multiple custom tensor2tensor Problems in Flask
在 flask_restplus API 中,我试图从一台服务器上提供的两个 tensor2tensor 模型进行推断。这两个模型都是自定义的,因此我向 tensor2tensor 的服务函数提供 t2t_usr_dir,以便可以找到自定义问题。
在推断一个自定义问题时,一切正常,结果符合预期。但是,当我想推断第二个模型时,程序在
处失败
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)
注册问题,这两个问题都很好!
在 flask_restplus API 中,我试图从一台服务器上提供的两个 tensor2tensor 模型进行推断。这两个模型都是自定义的,因此我向 tensor2tensor 的服务函数提供 t2t_usr_dir,以便可以找到自定义问题。
在推断一个自定义问题时,一切正常,结果符合预期。但是,当我想推断第二个模型时,程序在
处失败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)
注册问题,这两个问题都很好!