Colab配置base_path加载Unibo Powertools数据集报路径错误求解
问题原因
从报错日志的错误路径可以直接定位问题:传入UniboPowertoolsData的base_path参数末尾缺失路径分隔符/,类内部拼接数据子目录时,直接将base_path和后续的data目录名连为一体,生成了不存在的错误路径/content/drive/MyDrive/battery-state-estimation/battery-state-estimationdata/unibo-powertools-dataset/unibo-/test_result.csv,最终触发文件不存在报错。
修复方法
- 方法1:直接补全路径末尾的斜杠,和之前定义的
data_path路径格式保持一致即可,修改后的数据集初始化代码如下:
dataset = UniboPowertoolsData( test_types=['S'], chunk_size=1000000, lines=[37, 40], charge_line=37, discharge_line=40, base_path='/content/drive/MyDrive/battery-state-estimation/battery-state-estimation/' )
- 方法2:用os模块自动处理路径分隔符,从根源避免手动写路径漏斜杠的问题,写法更稳妥:
import os # 统一管理项目根路径,不用手动处理末尾斜杠 project_root = '/content/drive/MyDrive/battery-state-estimation/battery-state-estimation' dataset = UniboPowertoolsData( test_types=['S'], chunk_size=1000000, lines=[37, 40], charge_line=37, discharge_line=40, base_path=os.path.abspath(project_root) + os.sep # 自动适配系统的路径分隔符,自动补末尾斜杠 )
修复后可以先执行
print(os.listdir('/content/drive/MyDrive/battery-state-estimation/battery-state-estimation/')),确认输出列表里存在data文件夹,排除云盘挂载路径层级错误的其他问题。
内容的提问来源于stack exchange,提问作者R for Reality
相关产品推荐
相关产品推荐

