Exemple #1
0
 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
Exemple #2
0
 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)
Exemple #3
0
 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))
Exemple #4
0
 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))
Exemple #5
0
 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))
Exemple #6
0
## 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))