淘先锋技术网

首页 1 2 3 4 5 6 7

当时不记得是在解决什么问题的时候看到说要在mean = np.load(mean_file)后面加上.mean(1).mean(1)

看代码看了好一段时间都没有解决同一数据集在测试和训练验证时得到的精度不一致的问题

看到网上也有人问类似的问题,但解决方法对于我的情况都不适用

于是尝试删掉后面的.mean(1).mean(1),结果就意外地解决了这个问题,而且程序也没有报错

当时加这个的时候也没多想为什么,我的理解是两次mean(1)之后得到的是一个值(三通道的话是对应通道的三个值),相当于对于每一个输入所有的像素点都减去同一个均值,而原始的mean_file是与输入大小一样的均值矩阵

import numpy as np
mean = np.load('chromosomes_mean.npy')
print mean.shape
print mean.mean(1).shape
print mean.mean(1).mean(1).shape


output:

(3, 200, 200)
(3, 200)
(3,)