嗨,我正在尝试加载在Keras中创建的keras模型:2.2.4版本,并且我试图在以下指定版本中加载。
我试图按如下所述加载模型。
import tensorflow as tf
classifierLoad = tf.keras.models.load_model('w.hdf5')
在加载时显示这样的错误。
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:526:FutureWarning:不建议使用(type,1)或'1type'作为type的同义词;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 _np_qint8 = np.dtype([(“ qint8”,np.int8,1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:527:FutureWarning:不赞成将(type,1)或'1type'作为type的同义词传递;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 _np_quint8 = np.dtype([(“ quint8”,np.uint8,1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:528:FutureWarning:不赞成将(type,1)或'1type'作为type的同义词使用;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 _np_qint16 = np.dtype([(“ qint16”,np.int16,1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:529:FutureWarning:不赞成将(type,1)或'1type'作为type的同义词传递;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 _np_quint16 = np.dtype([(“” quint16“,np.uint16,1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:530:FutureWarning:不赞成将(type,1)或'1type'作为type的同义词使用;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 _np_qint32 = np.dtype([(“ qint32”,np.int32,1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:535:FutureWarning:不赞成将(type,1)或'1type'作为type的同义词使用;在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。 np_resource = np.dtype([(“ resource”,np.ubyte,1)]) 警告:tensorflow:从/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py:435:不推荐使用colocate_with(来自tensorflow.python.framework.ops),并将在未来版本。 更新说明: 托管由托管服务器自动处理。 2020-02-20 18:17:45.291135:W tensorflow / core / platform / profile_utils / cpu_utils.cc:98]无法在/ proc / cpuinfo中找到Bogomips;无法确定CPU频率 2020-02-20 18:17:45.292283:我tensorflow / compiler / xla / service / service.cc:161] XLA服务0x27584260在平台Host上执行计算。设备: 2020-02-20 18:17:45.292367:I tensorflow / compiler / xla / service / service.cc:168] StreamExecutor设备(0):、 2020-02-20 18:17:45.438308:我tensorflow / stream_executor / cuda / cuda_gpu_executor.cc:965] ARM64不支持NUMA-返回NUMA节点为零 2020-02-20 18:17:45.438696:我tensorflow / compiler / xla / service / service.cc:161] XLA服务0x237da820在平台CUDA上执行计算。设备: 2020-02-20 18:17:45.438755:I tensorflow / compiler / xla / service / service.cc:168] StreamExecutor设备(0):NVIDIA Tegra X1,计算能力5.3 2020-02-20 18:17:45.439077:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1433]找到了具有以下属性的设备0: 名称:NVIDIA Tegra X1主要:5个次要:3个内存时钟频率(GHz):0.9216 pciBusID:0000:00:00.0 totalMemory:3.87GiB空闲内存:569.37MiB 2020-02-20 18:17:45.439136:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1512]添加可见的gpu设备:0 2020-02-20 18:17:50.292455:I tensorflow / core / common_runtime / gpu / gpu_device.cc:984]设备互连StreamExecutor具有强度1边缘矩阵: 2020-02-20 18:17:50.295363:I tensorflow / core / common_runtime / gpu / gpu_device.cc:990] 0 2020-02-20 18:17:50.295391:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1003] 0:N 2020-02-20 18:17:50.295579:我tensorflow / core / common_runtime / gpu / gpu_device.cc:1115]创建了TensorFlow设备(/ job:localhost /副本:0 /任务:0 /设备:GPU:0和105 MB内存)->物理GPU(设备:0,名称:NVIDIA Tegra X1,pci总线ID:0000:00:00.0,计算能力:5.3) 追溯(最近一次通话): 文件“ conversion_keras_to_trt.py”,第32行,在 模型= load_model(model_fname,custom_objects = {'Adam':lambda ** kwargs:hvd.DistributedOptimizer(keras.optimizers.Adam(** kwargs))}} 在load_model中的文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/saving.py”,第249行 optimizer_config,custom_objects = custom_objects) 反序列化文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py”,第838行 printable_module_name ='优化器') deserialize_keras_object中的第194行的文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/generic_utils.py” 返回cls.from_config(cls_config) 文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py”,第159行,位于from_config 返回cls(** config) init 中的文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py”,第471行 超级(亚当,自我)。初始化(**假人) init 中的文件“ /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py”,第68行 '传递给优化器:'+ str(k)) TypeError:意外的关键字参数传递给了优化器:名称
任何建议
答案 0 :(得分:3)
您的问题来自以下事实:您混合使用普通的keras
和tensorflow.keras
版本。
它们不兼容。将来,如果要训练模型,请确保在例如tensorflow.keras
的地方训练模型,然后在测试时从tensorflow.keras
加载。
答案 1 :(得分:0)
我已经建立了一种加载模型的方法,我认为这不是一种正确的方法,但是,我所做的是,我开始对模型加载的keras 2.3.1版本和tensorflow 1.14.1版本进行培训。>