【发布时间】:2022-01-14 20:10:01
【问题描述】:
我的朋友训练了 1 个模型 hdf5,我想用 chaquopy 在 android studio 中加载该模型,但尽管尝试了很多方法,但还是失败了。 我的代码是这样的,包括 pickle 和 keras:
import numpy as np
import pickle
from os.path import dirname, join
from keras.models import load_model
def predict(src):
filename = join(dirname(__file__),"best_model.hdf5")
pickle_in=open(filename,"rb")
#model = pickle.load(pickle_in) load with pickle
model = load_model(filename) #load with keras
samples, sample_rate = librosa.load(src, sr = 8000)
#classes = ['app', 'gmail', 'image', 'mess', 'phone']
#prob=model.predict(samples.reshape(1,8000,1))
#index=np.argmax(prob[0])
return len(samples)
使用pickle,出现错误“无效的加载键,'H'”。使用keras的load_model,出现“ValueError: Unknown layer: Functional”的错误。我尝试更改 keras 和 tensorflow 的版本,但错误仍然存在。 我使用 Python 3.9,当我安装 tensorflow 2.6.0 时出现错误“错误:找不到满足要求 tensorflow==2.6.0(来自版本:2.1.0)的版本”。我应该如何加载这个模型。
【问题讨论】:
-
请阅读this article以获得更快更准确的答案。