华为云AI开发平台ModelArts使用moxing适配OBS路径,pandas读取文件报错_云淘科技
问题现象
使用moxing适配OBS路径,然后用较高版本的pandas读取OBS文件报出如下错误:
1.‘can't decode byte xxx in position xxx’ 2.‘OSError:File isn't open for writing’
原因分析
出现该问题的可能原因如下:
moxing对高版本的pandas兼容性不够。
处理方法
在适配OBS路径后,读取文件模式从‘r’改成‘rb’,然后将mox.file.File的’_write_check_passed’属性值改为‘True’,参考如下代码。
import pandas as pd import moxing as mox mox.file.shift('os', 'mox') # 将os的open操作替换未mox.file.File适配OBS路径的操作 param = {'encoding': 'utf-8'} path = 'xxx.csv' with open(path, 'rb') as f: f._wirte_check_passed = True df = pd.read_csv(ff, **param)
必现的问题,使用本地Pycharm远程连接Notebook调试。
建议与总结
在创建训练作业前,推荐您先使用ModelArts开发环境调试训练代码,避免代码迁移过程中的错误。
直接使用线上notebook环境调试请参考使用JupyterLab开发模型。
配置本地IDE(Pycharm或者VSCode)联接云上环境调试请参考使用本地IDE开发模型。
父主题: 云上迁移适配故障
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家