连接RunPod的ipykernel加载本地模型权重文件时提示文件不存在的问题求助
连接RunPod的ipykernel加载本地模型权重文件时提示文件不存在的问题求助
我刚从Google Colab转到VS Code,目前遇到了一个棘手的问题:我正在使用连接到RunPod现有Jupyter服务器的ipykernel运行代码,每次加载模型权重都会弹出文件不存在的错误:
[Errno 2] No such file or directory: '/Users/brentkong/Documents/CycleGAN/Saved Items/Saved Weights/Copy of gen_h_11.pth.tar'
这个错误出在执行torch.load(checkpoint_file, map_location = DEVICE)加载权重的步骤,我使用的是本地文件的绝对路径,相关核心代码如下:
torch.load(checkpoint_file, map_location = DEVICE)
加载检查点的完整代码片段:
if LOAD_MODEL: #malfunction was here, gen_z and disc_z have new weights load_checkpoint('/Users/brentkong/Documents/CycleGAN/Saved Items/Saved Weights/Copy of gen_h_11.pth.tar', gen_H, opt_gen, LEARNING_RATE), #new (if wrong, brown spots) load_checkpoint('/Users/brentkong/Documents/CycleGAN/Saved Items/Saved Weights/Copy of critic_h_11.pth.tar', disc_H, opt_disc, LEARNING_RATE), #new load_checkpoint('/Users/brentkong/Documents/CycleGAN/Saved Items/Saved Weights/Copy of gen_z_11.pth.tar', gen_Z, opt_gen, LEARNING_RATE), #old load_checkpoint('/Users/brentkong/Documents/CycleGAN/Saved Items/Saved Weights/Copy of critic_z_11.pth.tar', disc_Z, opt_disc, LEARNING_RATE), #old
我发现了一个关键的环境差异:当我切换到anaconda3内核时,代码能完美运行,顺利找到本地文件;但一旦切换到连接RunPod的ipykernel,就会触发文件找不到的报错。
后来我做了进一步排查,运行os.listdir(current_directory)后,返回的是['bin', 'boot', 'dev', 'etc']这类文件,这明显是RunPod远程服务器的文件系统内容,而不是我本地VS Code里的文件。也就是说,当前的ipykernel本质是在RunPod的远程环境中执行代码,所以它会去远程服务器的文件系统里查找我写的本地路径,自然找不到对应的文件。
有没有朋友能给我支个招,怎么解决这个问题呀?
备注:内容来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

