文章目录
Bug 1: Module not found
问题描述
python中导入这些包的时候,出现ModuleNotFoundError。
经过尝试,在options, data, models, util行都有同样的错误。
尝试过程
- 尝试手动pip安装包,安装后同样报错。
- 思考是否是包的版本不对,或者有重名的包。一番搜索没有答案。
- 尝试问同学有没有报错,都说没有。
- 后来知道import可以是安装的外部的包,也可以是引入的文件路径的class.
- 查看文件中有没有需要引入的包。之后加上文件路径:
- oprions, models, util的包里有需要import的py文件。而data一行还是报错找不到module。查看data的包,没有create_dataset.py,但是__init__里面有该函数。
- 经过寻问同学还是不知道为啥,同学们都不会报错。
解决方法
发现原来的colab登录的是学校的Google账号,后来换成自己的再将原来的文件传上去重新运行,然后莫名成功了。。。
Bug 2: tar 解压文件不完全
问题描述
在colab中用tar解压文件,发现运行一半终止了:
尝试过程
查阅得知:
点开本地需要上传的maps.zip,发现文件是完整的,并非压缩包没有下载完整的问题;那么可能是压缩包上传至colab的时候出了问题。
colab不能直接在工作区上传解压后的文件夹。
解决方法
将需要上传的压缩包在本地解压后上传至google drive;在运行时从google drive文件夹复制至目标文件夹。
!cp -r /content/drive/MyDrive/maps /content/maps_generation
!cp -r /content/maps_generation/maps /content
注意:不加-r会报错:“cp: -r not specified; omitting directory …"
-r 表示递归地复制目录下的所有字目录文件。若给出的源文件是一个目录文件,则需要此行。
Bug 3: 训练时报错
问题描述
训练时报错:
/usr/local/lib/python3.7/dist-packages/torchvision/transforms/transforms.py:288: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum.
"Argument interpolation should be of type InterpolationMode instead of int. "
尝试过程
查阅资料:https://github.com/rosinality/stylegan2-pytorch/issues/285
后面补充说不修改也能运行,所以暂时没管。有时间再看。
解决方法
Bug 4: vscode clone项目报错
问题描述
因为需要修改代码,从git上clone自己的仓库在vscode修改。
报错:
error: RPC failed; curl 56 LibreSSL SSL_read: Connection reset by peer, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
尝试过程
参考:https://cloud.tencent.com/developer/article/1554281
可能是由于大文件造成的提交或者拉取失败,调大了buffer重试:
git config --global http.postBuffer 1048576000
再次报错:
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
查阅https://confluence.atlassian.com/bitbucketserverkb/git-clone-fails-fatal-the-remote-end-hung-up-unexpectedly-fatal-early-eof-fatal-index-pack-failed-779171803.html
按照
https://stackoverflow.com/questions/21277806/fatal-early-eof-fatal-index-pack-failed上的方法,出现失败:
Cloning into 'maps_generation'...
error: RPC failed; curl 35 LibreSSL SSL_read: Operation timed out, errno 60
fatal: The remote end hung up unexpectedly
解决方法
再次参考
https://cloud.tencent.com/developer/article/1554281尝试配置ssh key:
备用:一个电脑里配置多个ssh key pair:
https://www.jianshu.com/p/0d416aaacaea
cd .rsa
ls
cat id_rsa.pub
将得到的公钥复制到github->setting->SSH and GPG keys -> SSH keys -> new ssh key
成功!
Bug 5: github push报错
问题描述
在vscode上修改了代码后push:
登录github查看,发现并没有改动。
尝试过程
查阅资料:
https://blog.youkuaiyun.com/jiangyu1013/article/details/84031418
https://blog.youkuaiyun.com/qq_42852004/article/details/104867607
解决方法
总结一下要用git的步骤:
- 设置ssh
- 设置git global
git config --global user.name "ASxx"
git config --global user.email "123456789@qq.com"
- vscode打开终端的快捷键:control+shift+~
- clone
- 创建分支
git checkout -b my-test //在当前分支下创建my-test的本地分支分支
git push origin my-test //将my-test分支推送到远程
git branch --set-upstream-to=origin/my-test //将本地分支my-test关联到远程分支my-test上
git branch -a //查看远程分支
- 修改代码
- 点保存
- commit
git commit -m "XXX"
如果报错
Changes not staged for commit:
git add .
- push
git push
- 如果需要回滚:
git log #查看提交记录,复制需要的commit号
git reset --hard <commit_id> #回滚
#作一点修改后
git add .
git commit
git push --force #强制提交,不然它会要你pull
Bug 6: colab文件夹出现重复数据
问题描述
运行时报错:
can’t find 756(1).jpg
尝试过程
打开colab notebook工作文件夹,发现文件中有一些数据出现了重复。
认为应该是训练的文件加载时出了问题,出现了重复保存在工作文件夹中的情况。
11. 查看本地解压的文件包,没有问题。
怀疑是将本地加载的文件包上传到google drive的时候,因为文件太大他出现了重复。
12. 查看Google drive上的文件,没有问题。
13. 先手动删掉了本地工作文件夹中的重复数据,看是否会有其他问题:手动删除后问题解决了。
经过查询:
https://blog.youkuaiyun.com/u011304078/article/details/100079523
上传大量的图片数据时,上传图片的数量有可能出错,比如上传了10000张图片,上传成功后显示“”成功上传10000张图片“ ,但是有可能上传了10020张,多了20张,这20张图是与原图片重复的。重复的名称后会加上(1)这样的命名方式。
解决方法
既然是colab固有的弊端,那么通过代码的方式来解决。
除去目录下所有用(1)结尾的文件:
参考:
https://maoxian.de/2015/12/1362.html
!find /content/maps_generation/maps -maxdepth 3 -name '*(1)\.jpg' | xargs rm -rf
但是发现,没有删掉相应的文件。一开始以为是正则表达式的问题,将正则表达式搜索的结果打印出来发现没问题:
经过一番搜索,发现是括号的问题:
因为有括号的文件在删除时需要加上引号,而直接用通道的方法无法实现。
目前暂时只能将找到的结果手动删除。如有更好的方法,多多赐教!
Bug7 : 训练时文件加载报错
问题描述
之前能够成功训练,但是突然出现这个错误
尝试过程
尝试重启,尝试回滚代码,尝试使用fork的代码,失败。
解决方法
在跑代码的时候突然发现自己在notebook中改了配置
删除后成功。
Bug 8: 增加新数据后报错
问题描述
在原有的验证代码里,更换了新的文件,报错:
尝试过程
在stackoverflow上的搜索结果是可能因为通道数目不对,让convert(“RGB”),但是我发现自己是convert了的。后来发现是原有的图片大小是256256,新加的图片大小是600600,需要resize.
resize报错:
解决方法
是resize的姿势不对:
gt_img = transform(Image.open(os.path.join(gt_file,name)).resize((256, 256), Image.BILINEAR)).unsqueeze(0)