Python单元测试:目录和文件路径



对于我正在开发的公开keras模型的库,我有以下文件结构:

relevancy (repo)
relevancy (package repo)
data
model.h5
tokenizer.pickle
test
__init__.py
test_model.py
model.py
__init__.py
__init__.py
setup.py

库基本上加载预先训练的tokenizer.picklemodel.h5,并对输入数据进行预测。

model.py中,我有一个函数,它包含以下代码,用于加载标记器和模型:

def load()
with open("data/tokenizer.pickle", "rb") as f:
tokenizer = pickle.load(f)
model = keras.models.load_model("data/model.h5")
return tokenizer, model

test_model.py中,我在测试中调用此函数。

然后,如果我在/relevancy (repo)下调用python setup.py test,我会得到一个错误,说找不到data/tokenizer.pickle。显然,是亲戚造成了问题。

我应该如何设置我的目录或路径,以便标记器和模型始终可以正确加载?

如果需要访问存储在包中的数据文件,请考虑使用pkg_resources模块。

然后在model.py中,您可以执行以下操作:

filename = pkg_resources.resource_filename(__name__, 'data/tokenizer.pickle')
with open(filename, 'rb') as f:
...

相关内容

  • 没有找到相关文章

最新更新