有一些用户在使用ArcGIS深度学习过程中遇到了报错信息不知道如何处理,这里我总结了一些常见的,用于大家快速自查。
一、Python环境相关类
11、克隆python环境失败
在自定义python环境时,有人反馈使用Pro的python包管理器克隆python环境失败,因为克隆过程中会联网检测一些包的更新,网络不好的情况下容易中断,这里可以提供几个经验和解决办法:
如果克隆失败,手动复制到其它文件夹,然后再上图中选择“Add”,选择复制的地址(有人试过此种方法基本都能成功,不过偶尔出现安装的包不能通过conda管理的情况);
最佳方法:使用clone命令,如下:
conda create --name deeplearning --clone arcgispro-py3
activate deeplearning
经验1:选择网络比较好的时间段(比如有人反馈早晨基本能成功)
经验2:克隆到C盘(相比于其它盘)更容易成功。
12、无法安装深度学习包
如果所需的python包缺失,运行工具时会报错,明确指出缺包:
另外,因为包的镜像源都在国外,网络慢的情况下很多人也反馈下不下来:
网络导致的安装失败的典型场景之一
我们有同事自己打包了需要的python库,可以一键安装所需的各种包,获取地址请参见《ArcGIS深度学习环境安装》一文。
如果是自己安装的包或者各种原因显示缺包,请参见以下办法:
1)将镜像源设置为国内。国内常见源:
· 阿里云:
http://mirrors.aliyun.com/pypi/simple/
· 豆瓣(douban):
http://pypi.douban.com/simple/
· 清华大学:
https://pypi.tuna.tsinghua.edu.cn/simple/
· 中国科学技术大学:
http://pypi.mirrors.ustc.edu.cn/simple/
但是需要注意的一点是,国内源有可能不能及时获取最新的包,更新方法:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow |
2)下载离线的安装包,不过注意离线安装包不是纯离线,也会联网下一些东西,但下载量比在线版少很多了。这里推荐大家一个下载离线包的地址:https://pypi.org,这里可以找到大部分包的离线版:
当然,也可以从官网下载包,事实上从官网下载是最安全和保险的,pytorch的官网如下:https://pytorch.org/
注意选择CUDA的版本时,也需要根据你的机器的GPU情况来选择,查看本机CUDA的版本信息请自行搜索。
安装的命令也非常简单,pip install (whl文件路径)\xxx.whl。
关于ArcGIS Pro需要的深度学习包到底有哪些,推荐大家仔细阅读帮助,这里因为微信不能加外部链接,大家就自己手动输入吧:
https://pro.arcgis.com/zh-cn/pro-app/tool-reference/image-analyst/install-deep-learning-frameworks.htm
二、深度学习操作相关
21、python包安装失败,缺乏环境
有时候明明安装了python包,但实际上可能没成功,如果python环境安装不正确,会报缺包错误,解决方法是重新安装缺少的包。
很多人也会很奇怪, 说明明已经安装好了各种包,为什么还缺包呢?怎么才知道自己装没装好呢?这里给大家提供一个检测包是否安装好了的判断依据:在pro中选择“analysis”->“python”,在打开的python控制台中import各种框架,如imort torch,import fastai等 ,如果能成功导入就说明环境安装是成功的是可用的。
22、Unknown dataset_type
目前(Pro2.5和2.6版本)不支持kitti格式的样本,如果要做识别,请选择VOC格式导出。
23、CUDA out of memory(显性显存不足)
ArcGIS Pro深度学习要求GPU显存至少要达到2G(部分模型2G也不够,如MaskRCNN),如果不到2G,会直接报显存错误“CUDAout of memory”:
这个问题没有什么好的解决办法,升级硬件是王道。
24、隐性显存不足(tenso和gpu相关的错误)
除了显性不足之外,在实际使用中,即便显存大于2G满足基本需求,但有些参数设置过大,或者模型本身比较耗内存,同样也会出现显存溢出错误,如下面几个图中的报错都属于这种情况,但这个错误比较隐蔽,一般不太容易看出,解决办法是把Batch size设置得更小一点,极端情况下可能需要设置为1才能成功。
还有同学反馈,有时候设置到1都不行,最后重启下pro就好了,在此请大家关注下显存和内存使用情况,Pro默认会占用一定的内存空间不释放,用久了之后会导致深度学习的显存不足,重启下Pro释放下内存空间能一定程度上解决问题。
下面这些截图中显示的错误,经验上都与隐形显存不足有关,如遇到,请降低batch size或者清理gpu显存占用。
25、Error 032659 list index out of range
有时候打开模型训练窗口,刚输入样本就会提示“list index out of range”错误,并且开始会提到updateParameter Execution错误提示,这可能是一个比较隐蔽的bug,在某些意外的情况下被激活(一般很少发生这个问题)。解决方法是,在model type中选择一个与样本类型相对应的模型,错误即自动消失。
26、list index out of range(2)
上面讲过一种情况的listindex out of range,是一种疑似bug的情况导致的,只需要选中一个模型就能消除该错误,不过下面这种情况的错误提示跟上面有所不同,并没有在开始时提到updateParameter Execution错误,只在最后报了indexerror:
我们还没分析出确切的原因,不过群里有人遇到过,他自己的经验是,使用training samples manager制作样本并使用export trainingdata工具导出会遇到这个错误,但是使用label objects for deep learning 工具直接导出样本则不会报这个错。
原则上,这两种方式导出的样本是一样的,都是可行的,我自己在使用过程中两种都试过,都没有问题,既然有人遇到过这种情况,所以这里一并写出来,供大家参考,我初步怀疑是因为大家的样本中缺少classvalue字段导致,请大家检查数据,如果确实没有,请大家上述两个工具重新导入生成样本。
27、ERROR 999999
输出参数不能为shapefile文件(shapefile限制太多,已经不适合现在复杂的数据存储了),请改为输出到Geodatabase中。
28、无法使用标量参数初始化Python栅格函数
目前在训练和推理过程中,尤其是训练过程,不能有中文路径,文件名也不用中文,在采集样本时类型的名称不用中文,类型的值最好用数字1、2、3……等表示,某些模型(如MaskRCNN)中类型的值用tree、grey等字符串表示时也会报错,请全部改为中文。
29、缺少模型权重文件
第一次进行模型训练时,需要从网络上下载初始的模型权重文件,有时候网络不好会导致下载失败,会报ssl等错误。
解决办法是从报错的网址中下载模型文件,并放到C:\Users\admin\.cache\torch\checkpoints目录下。大家下载下来后放到指定的位置就可以了,地址:
链接:https://pan.baidu.com/s/1K0H7XWr47buFG9HvBQjnlA
提取码:c3uq
210、Cannot identify image file
目前ArcGIS Pro深度学习只支持8位三波段影像,用16位影像就会报这个错误,不能识别影像文件。在制作样本时,多波段(超过3波段)也会报不识别的错误。
三、Pro软件及授权相关
31、安装ArcGIS Pro报错
ArcGIS Pro的安装需要.Net Framework 4.8,如果没有安装会报错,安装一下即可。
32、pro连不上arcgis.com
原因:网络不好,请使用手机热点(能解决90%的问题);
另外10%的问题排查请参见:http://zhihu.esrichina.com.cn/article/3931
以下错误截图虽然表象不一,原因都是连不上arcgis.com所致。
33、深度学习工具显示没有许可
解决方案:Pro深度学习需要image analyst扩展模块的许可。正式版用户请联系销售。
34、安装了中文版显示为英文
有的朋友明明下载的是中文版,或者安装过中文语言包,可是Pro的界面显示仍然为英文,解决办法:在pro的设置中配置一下即可,步骤如下:
(1)在开始界面,点击Settings,接入配置界面:
(2)在配置界面点击options,在弹出的对话框中,选择language项,在其右侧的界面中第一项的下拉列表中选择中文(中国),点击ok。
(3)关掉应用程序,重新打开,即发现已经切换为中文的应用程序界面了。