def euclidean_distance_full3(self, dim, alvo): dist1 = np.zeros((len(alvo), dim)) alvo = np.asarray( alvo ) #necessario para utilizar a funcao eucl_dist -- otimizacao da distancia euclidiana dist1 = dist(alvo, alvo) alvo = alvo.tolist( ) #necessario voltar para lista para nao afetar a programacao feita anteriormente dist1 = dist1.tolist() return dist1
def euclidean_distance_full2(self, dim): dist1 = np.zeros((len(self.pop), dim)) self.pop = np.asarray( self.pop ) #necessario para utilizar a funcao eucl_dist -- otimizacao da distancia euclidiana dist1 = dist(self.pop, self.pop) self.pop = self.pop.tolist( ) #necessario voltar para lista para nao afetar a programacao feita anteriormente dist1 = dist1.tolist() self.full_euclidean.append(dist1)
def euclidean_distance_individual(self, alvo, archive, dim): dist1 = np.zeros((len(archive), dim)) alvo = np.asarray([alvo]) archive = np.asarray( archive ) #necessario para utilizar a funcao eucl_dist -- otimizacao da distancia euclidiana dist1 = dist(alvo, archive) archive = archive.tolist( ) #necessario voltar para lista para nao afetar a programacao feita anteriormente dist1 = dist1.tolist() dist1 = dist1.pop() return dist1, dist1.index(min(dist1))
def euclidean_distance_generic(self, alvo, population, dim): dist1 = np.zeros((len(population), dim)) alvo = np.asarray([alvo]) population = np.asarray( population ) #necessario para utilizar a funcao eucl_dist -- otimizacao da distancia euclidiana dist1 = dist(alvo, population) population = population.tolist( ) #necessario voltar para lista para nao afetar a programacao feita anteriormente dist1 = dist1.tolist() dist1 = dist1.pop() return dist1, dist1.index(min(dist1))
def euclidean_distance2(self, alvo, dim): dist1 = np.zeros((len(self.pop), dim)) alvo = np.asarray([alvo]) self.pop = np.asarray( self.pop ) #necessario para utilizar a funcao eucl_dist -- otimizacao da distancia euclidiana dist1 = dist(alvo, self.pop) self.pop = self.pop.tolist( ) #necessario voltar para lista para nao afetar a programacao feita anteriormente dist1 = dist1.tolist() dist1 = dist1.pop() return dist1, dist1.index(min(dist1))
## Use this script to perform quick tests on the codebase for verification import numpy as np from sklearn.metrics.pairwise import pairwise_distances from eucl_dist.cpu_dist import dist from eucl_dist.gpu_dist import dist as gdist a = np.random.rand(10000, 3) b = np.random.rand(10000, 3) print( np.allclose(pairwise_distances(a, b, 'sqeuclidean'), dist(a, b), atol=1e-5)) print( np.allclose(pairwise_distances(a, b, 'sqeuclidean'), gdist(a, b), atol=1e-5)) a = np.random.rand(800, 2048).astype(np.float32) b = np.random.rand(800, 2048).astype(np.float32) print( np.allclose(pairwise_distances(a, b, 'sqeuclidean'), dist(a, b), atol=1e-5)) print( np.allclose(pairwise_distances(a, b, 'sqeuclidean'), gdist(a, b), atol=1e-5))