比赛地址:零基础入门语义分割比赛-地表建筑物识别,该比赛是由天池和Datawhale联合举办的学习赛,进入比赛页面可以下载相关的数据集。
学习任务:学习任务,查看学习任务,有层次递进的进行学习。
源码地址:源码baseline,源码在Datawhale的github上面,里面可以找到这次比赛的源码。
赛题理解:
学习目标:
赛题数据:
评价指标:
读取数据:
配置环境:
此次环境是在本地anaconda中配置的,过程中需要安装一些列python库,和bebug一系列的问题。这里简述一些配置环境过程中的问题。
添加conda下载源:
跟pip一样,conda也可以添加一些国内的下载源,这样在下载的时候就非常快,可以参考我的博客添加conda下载源
anaconda创建虚拟环境:
在进行一个新的任务时候,最好新建一个虚拟环境,在新建的虚拟环境进行试验,以免环境太乱,当任务结束的时候虚拟环境还可以进行删除。
创建虚拟环境:可能需要几分钟,这里的python版本可以进行指定
conda create --name Seg python=3.8(在base环境中直接创建即可)
验证是否生成:
打开anaconda prompt输入conda env list
环境创建完成后会在anaconda文件夹中多一个envs文件夹,里面就是添加的环境变量。
激活虚拟环境:
Linux: source activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)
jupyter notebook打开D盘中的文件:
由于我将文件夹放在了D盘中,而jupyter notebook在打开的时候默认显示C盘中的文件,这时候我们就看不到D盘中的文件,解决方法也很简单,jupyter notebook打开D盘中的文件
这样我们就成功安装了虚拟环境,并用jupyter notebook打开了D盘中的文件。
在jupyter notebook中切换虚拟环境:
进入jupyter notebook发现kernel仍然是原来的虚拟环境,找不到新建的虚拟环境,解决方法如下在jupyter notebook中切换不同的虚拟环境
安装cv2:
或者pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple
安装albumentations:
ModuleNotFoundError: No module named 'albumentations'
解决方案:
pip install albumentations -i https://pypi.tuna.tsinghua.edu.cn/simple
报错:
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'D:\\anaconda\\Lib\\site-packages\\cv2\\cv2.cp38-win_amd64.pyd'
Consider using the `--user` option or check the permissions.
解决方案:
pip install --user albumentations -i https://pypi.tuna.tsinghua.edu.cn/simple
安装numpy:
ModuleNotFoundError: No module named 'numpy'
解决办法:conda install numpy
安装pandas:
ModuleNotFoundError: No module named 'pandas'
解决办法:conda install pandas
安装tqdm:
ModuleNotFoundError: No module named 'tqdm'
解决办法:conda install tqdm
安装matplotlib:
ModuleNotFoundError: No module named 'matplotlib'
conda install matplotlib
安装scipy:
ModuleNotFoundError: No module named 'scipy'
解决办法:conda install scipy
安装skimage:
ModuleNotFoundError: No module named 'skimage'
解决办法:conda install scikit-image
安装imgaug:
ModuleNotFoundError: No module named 'imgaug'
解决办法:conda install imgaug
安装torch:
ModuleNotFoundError: No module named 'torch'
解决办法:conda install pytorch
在jupyter中安装python库:
pip3 install torch -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install torch -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
安装torchvision:
ModuleNotFoundError: No module named 'torchvision'
解决办法:conda install torchvision
安装python包的时候文件夹权限报错:
在安装Python包的时候可能会出现文件夹权限的错误,解决办法:安装python包的时候文件夹权限报错
报错1:
TypeError: image must be numpy array type
原因:没有读取到图片
这个报错解决了好久,原因是因为路径中出现了中文,没有识别出来,指向了空文件。
train_mask = pd.read_csv('./数据/train_mask.csv', sep='\t', names=['name', 'mask'])
改成英文即可。
报错2:
AttributeError: module 'torchvision.models' has no attribute 'segmentation'
解决办法:
先看一下torchvision的版本是多少,print(torchvision.__version__),输出版本是0.2.2。所以猜测可能原因是版本太低,尝试升级版本。
输入:
pip install --upgrade torchvision==0.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
或者
conda update torchvision
但是报错:
于是尝试手动安装torch,和torchvision库。
参考链接:anaconda手动安装torch1.7.1和torchvision0.8.1
问题即可解决。
报错3:
在代码中,import albumentations as A的时候,出现错误:anaconda服务似乎挂掉了,但是会立刻重启的。解决办法:Jupyter notebook报错:anaconda服务似乎挂掉了,但是会立刻重启的.
报错4:
在开始运行模型的时候报错:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2.41 GiB already allocated; 49.14 MiB free; 2.51 GiB reserved in total by PyTorch)。原因:显存不够。解决办法:改小batch-size
训练结果:
我们发现训练成功,且保存了最佳模型。进行测试后得到tmp文件。上传至天池得分数0.7254。
欢迎关注公众号:一起进步~