今天在提交kaggle内容的时候,发现了一个这样的报错
Notebook Threw Exception: While rerunning your code, your notebook hit an unhandled error. Note that the hidden dataset can be larger/smaller/different than the public dataset.
经过排查代码之后,发现相应的错误
这里发生错误的根本原因是kaggle的test文件夹之中的数据集可能会发生变化,比如原先test下面是1.txt,2.txt,3.txt这三个文件,你不能直接指定目录/kaggle/input/test/1.txt,/kaggle/input/test/2.txt,/kaggle/input/test/3.txt,而是应该读取test文件夹下面的内容进而获得结果
这样做的原因是在test评测的时候,kaggle会更换数据集,并且重新运行一下你的notebook的内容,此时相当于test下面的文件名有可能会被替换,因此需要读取文件夹再得到相应的文件名
这里读取必须使用正确的读取文件方法
files = os.listdir('../input/feedback-prize-2021/test')
TEST_IDS = [f.replace('.txt','') for f in files if 'txt' in f]
print('There are',len(TEST_IDS),'test texts.')
我使用了下面的python代码之后,得分为0
import os
file_list = []
for root, dirs, file in os.walk('../input/feedback-prize-2021/test'):
file_list = file
print(file_list)