当前位置: 代码迷 >> 综合 >> keras实现FCN代码问题记录-Keras implementation of FCN for Semantic Segmentation
  详细解决方案

keras实现FCN代码问题记录-Keras implementation of FCN for Semantic Segmentation

热度:73   发布时间:2023-10-09 03:35:34.0

  本人想实现FCN网络,训练自己的数据集,在调通tensorflow实现FCN代码的情况下,了解了程序实现神经网络的大致流程,对于调试代码也掌握了一些技巧,鉴于我的数据在tensorflow实现FCN的程序中跑出来的结果不甚理想,于是参考https://github.com/aurora95/Keras-FCN的代码,使用keras框架实现FCN,在调试网络的过程中遇到了很多问题,差不多花费了三天的时间终于能运行了,遇到的很多问题,现在估计能记起的也不多了,有些问题很小,网上没有答案,基于调试代码的心得,记录。

1、学会使用github。之前接触过github,下载代码,不过都有中文介绍,就没有细看,这次没有中文指引的情况下,必须要研究下github的界面了,在code界面下的readme.md很重要,介绍了安装的步骤,安装方法,要按照上面的说明去操作,不得不说全部是英文的阅读起来虽然没障碍,可是对于陌生的代码内容,信息的获取还是受限的。慢慢读,还是可以做到的,这里安装的过程中要用到github的代码,需要本地部署,参考了https://www.open-open.com/lib/view/open1454507333214.html的步骤,像下面这种安装语句都需要在git客户端进行操作。 

cd ~/src
git clone git@github.com:ahundt/tf-image-segmentation.git -b Keras-FCN

                                                                              安装代码示列

keras实现FCN代码问题记录-Keras implementation of FCN for Semantic Segmentation
git客户端

2、重要的安装:在运行代码的过程中,出现了很多的错误,有的百度,csdn上会有答案,有一些没有,这就要具体问题具体分析了,一个很重要的查找途径就是github中Issues界面,都是大家运行代码中出现的问题,耐心寻找,很多问题都会有答案。https://github.com/aurora95/Keras-FCN/blob/master/utils/get_weights_path.py,运行这个程序可以解决下载权重问题,有些使用代码控制运行程序,看的懂得话,可以在编译器打开程序直接运行。

3、NameError: name 'transform_matrix_offset_center' is not defined。这个问题,我已经解决了,但是问题太多,忘记是怎么解决的了,经过回想,应该是重新安装了,keras 2.1.6,因为有的代码只能在这个版本下运行,版本的问题很重要,要安装对应的版本,tensorflow要安装1.4.2.可以解决很多后面的报错。

4、TypeError: _obtain_input_shape() got an unexpected keyword argument 'include_top',解决:https://github.com/rcmalli/keras-vggface/issues/14

5、train.py:训练模型

  evalute.py:测试模型,图像分割精度

  inference.py:实际应用,测试结果。

总结频频出现的错误,推测原因:一是安装包版本问题,二是应采用ubuntu系统,在window是系统下很多问题。

最后的分割结果很差,FCN的分割精度本身不高,还有没有调参数,导致过拟合了,这应该是后面要学习的方向,图像识别的重点难点就是数据集和调参,是一门实验性的科学。

 

 

  相关解决方案