加载深度学习模型错误:_pickle.UnpicklingError: pickle data was truncated

0.问题描述

win11本地vs code远程ssh连接远程ubuntu服务器,已配置相关环境(pytorch)和依赖。当我运行DiffAugment-stylegan2-pytorch上的demo命令时,出现了如题所示的bug。

python generate.py --outdir=out --seeds=1-16 --network=https://data-efficient-gans.mit.edu/models/DiffAugment-stylegan2-100-shot-obama.pkl

第一反应是在Issues里边找相关的讨论,但没发现有人出现和我一样的错误。

**********************************************手动分隔符***************************************************

当你错得与众不同的时候,应及时自省!毕竟这是低级错误,“众人皆醉”的情况罕有。

**************************************************************************************************************

的确对pickle不熟悉,于是在stackoverflow和baidu上找了一圈,竟然也没有明白到底我的错误在哪。大概只知道,我加载的预训练模型被裁剪(was truncated)了。于是我查看了预训练模型在远程服务器上的下载地址,看到下载的pkl文件大小与提供预训练模型的网页上显示的大小不一致!这才惊呼道,也许是我嫌弃远程linux上下载pkl文件速度过慢,于是使用ctrl+c中止下载,导致pkl文件下载不全。从而二次执行命令时,程序判定我已下载好pkl了,而我实际上并未下载完整,所以在unpickling阶段发生了错误。

1.解决方案

删掉远程服务器上之前未完全下载好的pkl文件,重新执demo命令,“耐心”等待下载完毕。

Silly bugs are the hardest to solve. Always.

2.更多

linux科学上网,你值得拥有,这样能加快各种网络资源的下载速度。

你可能感兴趣的:(DEBUG,ubuntu,linux)