def computeDistanceMatrix(self,test_set):
batch_size = self.cfgParams.batch_size
nSamp = test_set.numSamples
descrLen = self.descrNet.cfgParams.outputDim[1]
descr = numpy.zeros((nSamp,descrLen))
n_test_batches = nSamp / batch_size
for i in range(n_test_batches):
# if self.macroBatchSize > 0:
# self.setMacroBatchData(test_set,numpy.floor(i / self.macroBatchSize).astype(numpy.int))
# miniBatchIdx = numpy.mod(i,self.macroBatchSize)
# else:
# miniBatchIdx = i
miniBatchIdx = self.dataManager.makeMinibatchAvailable(test_set,i)
d = self.tfComputeDescr(miniBatchIdx)
descr[i*batch_size:(i+1)*batch_size] = d
print("distances done")
dst = scipy.spatial.distance.pdist(descr,'euclidean')
dst = scipy.spatial.distance.squareform(dst)
return dst
评论列表
文章目录