代码MLSP调试记录

代码地址:

https://github.com/subpic/ava-mlsp

目的:

根据作者论文实现代码结果

过程:

问题1:

from keras import backend as K
K.set_image_dim_ordering("tf")

error: K has no attribute "set_image_dim_ordering"

keras中未包含“set_image_dim_ordering"属性,而此属性是用于设置keras后端的数据维度顺序,
即将keras的数据维度顺序设置为tensflow的格式。

  • 解决方法
    安装版本为1.13., 将keras版本升级到2.1.6,问题解除。

问题2:

x = apps.inception_block(input_feats, size=1024)

Value error: value input is float32, but allowed type is int32, int64

输入数据中inception_block模块的branch3*3中shape未使用int型.

  • 解决方法
    在size/2前面加上int就行:int(size/2)

问题3:
model path问题
下载的mlsp_wide_best_weight.h文件放在对应路径即可,文件大小250M

  • 解决方法
    root_path + 'ava-mlsp-master/models/irnv2_mlsp_wide_orig/model_best_weights.h5‘

问题4:

helper.model问题
读取测试集合时出现:‘pandas’ has no attribute '__dict__'

主要原因在于,读取csv文件数据为pandas时,并没有__dict__方法可用,直接使用对应元祖的索引序号提取对应测试集图片,可得到测试结果。 将读取数据对应部分改为 :

row.__dict__.intput_name改为:
row[15]

最终得到测试结果:

Evaluated on test-set
SRCC/PLCC: 0.752 0.755
ACCURACY: 0.816087916499

数据分布图如下:
代码MLSP调试记录_第1张图片

总结:

  • 作者代码大部分是借助于keras和tensorflow开源代码完成工作,不需要从头开始,提高实现idea效率
  • 作者写的代码十分严谨,从每个函数的功能声明到数据的生成和可视化,构成一个完整的系统。
  • 在实现完成所需功能后,还将通用函数形成库函数作为keras基础上的功能包开源,是有效提高代码效率的方式之一。

你可能感兴趣的:(图像美学评估)