应该在需要使用AllenNLP预测器对象的代码块内加载预测器对象,而不是在脚本的顶部加载。以下是一个示例:
from allennlp.predictors import Predictor
# 定义数据文件路径
data_file = "data.json"
# 定义需要使用预测器对象的函数
def predict(data):
predictor = Predictor.from_path("model.tar.gz")
result = predictor.predict_json(data)
return result
# 加载数据文件
with open(data_file) as f:
data = json.load(f)
# 调用预测函数
result = predict(data)
这里,预测器对象在 predict
函数中被加载,因此它不会在脚本的顶部浪费时间加载。只有在需要使用预测器对象的时候,才会真正被加载。