解决tensorflow+gunicorn+flask的flag异常 UnrecognizedFlagError: Unknown command line flag

在使用TensorFlow、Gunicorn和Flask搭建模型预测并发API生产环境中遇到UnrecognizedFlagError异常。问题源于gunicorn启动命令行参数被TensorFlow解析导致。解决方案包括修改TensorFlow的flags.py代码或工程模型代码,避免TensorFlow尝试解析不相关参数。此外,文章还介绍了如何定位和解决问题,包括模型实例化的正确位置以及查看错误信息的方法。
摘要由CSDN通过智能技术生成

背景:TextCnn模型用tensorflow+flask+gunicorn搭建模型预测并发API生产环境,模型调用抛异常。

报错代码

#模型代码处:

# Misc Parameters
tf.flags.DEFINE_boolean("allow_soft_placement", True, "Allow device soft device placement")
tf.flags.DEFINE_boolean("log_device_placement", False, "Log placement of ops on devices")

FLAGS = tf.flags.FLAGS
FLAGS.flag_values_dict()

FLAGS.set_default("checkpoint_dir",checkpoint_dir)

# Map data into vocabulary
vocab_path = os.path.join(FLAGS.checkpoint_dir, "..", "vocab")
self.vocab_processor = learn.preprocessing.VocabularyProcessor.restore(vocab_path)
#tensorflow的flags.py代码处:
class _FlagValuesWrapper(object):
  """Wrapper class for absl.flags.FLAGS.

  The difference is that tf.flags.FLAGS implicitly parses flags with sys.argv
  whe
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值