def computeValDataDistanceMatrix(self):
# TODO: use self.computeDescriptors(self.valdataDB) ?
batchSize = self.cfgParams.batch_size
nSamp = self.n_val_batches * batchSize
descr = numpy.zeros((nSamp,self.descrNet.cfgParams.outputDim[1]))
for i in range(self.n_val_batches):
# if self.macroBatchSize > 0:
# self.setMacroBatchData(self.valdataDB,numpy.floor(i / self.macroBatchSize).astype(numpy.int))
# miniBatchIdx = numpy.mod(i,self.macroBatchSize)
# else:
# miniBatchIdx = i
miniBatchIdx = self.dataManager.makeMinibatchAvailable(self.valdataDB,i)
d = self.tfComputeDescr(miniBatchIdx)
descr[i*batchSize:(i+1)*batchSize] = d
dst = scipy.spatial.distance.pdist(descr,'euclidean')
dst = scipy.spatial.distance.squareform(dst)
return dst
评论列表
文章目录