This commit is contained in:
nttstar
2019-10-16 14:37:38 +08:00
60 changed files with 8579 additions and 2299 deletions

View File

@@ -180,12 +180,17 @@ def evaluate(embeddings, actual_issame, nrof_folds=10, pca = 0):
return tpr, fpr, accuracy, val, val_std, far
def load_bin(path, image_size):
bins, issame_list = pickle.load(open(path, 'rb'))
try:
with open(path, 'rb') as f:
bins, issame_list = pickle.load(f) #py2
except UnicodeDecodeError as e:
with open(path, 'rb') as f:
bins, issame_list = pickle.load(f, encoding='bytes') #py3
data_list = []
for flip in [0,1]:
data = nd.empty((len(issame_list)*2, 3, image_size[0], image_size[1]))
data_list.append(data)
for i in xrange(len(issame_list)*2):
for i in range(len(issame_list)*2):
_bin = bins[i]
img = mx.image.imdecode(_bin)
if img.shape[1]!=image_size[0]:
@@ -213,7 +218,7 @@ def test(data_set, mx_model, batch_size, nfolds=10, data_extra = None, label_sha
_label = nd.ones( (batch_size,) )
else:
_label = nd.ones( label_shape )
for i in xrange( len(data_list) ):
for i in range( len(data_list) ):
data = data_list[i]
embeddings = None
ba = 0
@@ -255,7 +260,7 @@ def test(data_set, mx_model, batch_size, nfolds=10, data_extra = None, label_sha
_xnorm = 0.0
_xnorm_cnt = 0
for embed in embeddings_list:
for i in xrange(embed.shape[0]):
for i in range(embed.shape[0]):
_em = embed[i]
_norm=np.linalg.norm(_em)
#print(_em.shape, _norm)
@@ -293,7 +298,7 @@ def test_badcase(data_set, mx_model, batch_size, name='', data_extra = None, lab
_label = nd.ones( (batch_size,) )
else:
_label = nd.ones( label_shape )
for i in xrange( len(data_list) ):
for i in range( len(data_list) ):
data = data_list[i]
embeddings = None
ba = 0
@@ -438,7 +443,7 @@ def test_badcase(data_set, mx_model, batch_size, name='', data_extra = None, lab
# imgb = cv2.transpose(imgb)
# imgb = cv2.flip(imgb, 0)
#else:
# for ii in xrange(2):
# for ii in range(2):
# imgb = cv2.transpose(imgb)
# imgb = cv2.flip(imgb, 1)
dist = out[2]
@@ -469,7 +474,7 @@ def dumpR(data_set, mx_model, batch_size, name='', data_extra = None, label_shap
_label = nd.ones( (batch_size,) )
else:
_label = nd.ones( label_shape )
for i in xrange( len(data_list) ):
for i in range( len(data_list) ):
data = data_list[i]
embeddings = None
ba = 0
@@ -571,7 +576,7 @@ if __name__ == '__main__':
ver_name_list.append(name)
if args.mode==0:
for i in xrange(len(ver_list)):
for i in range(len(ver_list)):
results = []
for model in nets:
acc1, std1, acc2, std2, xnorm, embeddings_list = test(ver_list[i], model, args.batch_size, args.nfolds)