在用tensorflow2.8.0版本进行facenet人脸识别时,采用freeze_graph对模型参数进行固化后,加载pb文件出现以下报错:
报错原因为tensorflow2.版本和tensorflow1.x版本不兼容导致,解决办法为在对train_tripletloss.py模型进行训练时,在导入包的部分加入tf.compat.v1.disable_v2_behavior(),对2.x版本进行屏蔽。
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from datetime import datetime
import os.path
import time
import sys
import tensorflow.compat.v1 as tf
import numpy as np
import importlib
import itertools
import argparse
import facenet
import lfw
from tensorflow.python.ops import data_flow_ops
from six.moves import xrange # @UnresolvedImport
tf.disable_v2_behavior() # 屏蔽2.x版本兼容1.x版本
训练完成后,对模型固化的时候,同样需要加入tf.compat.v1.disable_v2_behavior(),进行pb文件转化。
参考链接:.https://blog.csdn.net/weixin_45080073/article/details/117034111/