一、基于tensorflow的FCN
最近在学习全卷积网络FCN,运行下面链接写的基于tensorflow的FCNhttps://github.com/tensorflow/tensorflow/issues/6698,一直报错
Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms),经过google,发现下面问题中的高赞回答解决了我的问题https://github.com/tensorflow/tensorflow/issues/6698:
在代码开头添加:
方式一:
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
set_session(session)
方式二:
限制GPU内存使用量小于70%也能解决这个报错
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto(
gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
)
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
set_session(session)
在运行https://github.com/JihongJu/keras-fcn这个程序的时候,发现方式一不起作用,必须限制GPU内存使用量不少于70%(不能再大,再大也会报错)
另附VGG16.npy的下载链接:https://pan.baidu.com/s/1gg9jLw3 密码:umce(参考自https://blog.youkuaiyun.com/isyiming/article/details/79233770)
二、基于keras的FCN
0、import keras_fcn.backend as K1 报错,即使我是用源文件安装的也报错,参考https://github.com/JihongJu/keras-fcn/issues/30的答案,将/backend文件夹删除,并将该文件夹下的文件合并,且重命名为backend.py解决了报错。
1、下载的VOC2011数据解压后,将TrainVal/VOCdevkit/VOC2011 放入keras-fcn-master\data文件夹下即可
2、在windows平台运行https://github.com/JihongJu/keras-fcn这个程序的时候,在'voc2011/train.py'中第35行,会报错
OSError: Unable to create file (Unable to open file: name = '/tmp/fcn_vgg16_weights.h5', errno = 2, error message = 'no such file or directory', flags = 13, o_flags = 302),参考https://github.com/raghakot/keras-vis/issues/68的回答,在working directory下新建tmp文件夹即可
3、运行的时候还会报错“raise NotImplementedError”,“ raise StopIteration(e)”,参考https://github.com/aurora95/Keras-FCN/issues/47发现将Keras版本退回至2.0.8版本可以解决问题