mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
python: better Python 3 support
This commit is contained in:
parent
df02fe0615
commit
78f205ffa5
@ -1,10 +1,14 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
import cv2 as cv
|
import cv2 as cv
|
||||||
import tensorflow as tf
|
import tensorflow as tf
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
|
if sys.version_info > (3,):
|
||||||
|
long = int
|
||||||
|
|
||||||
from tensorflow.python.tools import optimize_for_inference_lib
|
from tensorflow.python.tools import optimize_for_inference_lib
|
||||||
from tensorflow.tools.graph_transforms import TransformGraph
|
from tensorflow.tools.graph_transforms import TransformGraph
|
||||||
from tensorflow.core.framework.node_def_pb2 import NodeDef
|
from tensorflow.core.framework.node_def_pb2 import NodeDef
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from __future__ import print_function
|
||||||
from abc import ABCMeta, abstractmethod
|
from abc import ABCMeta, abstractmethod
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import sys
|
import sys
|
||||||
@ -156,7 +157,7 @@ class DnnCaffeModel(Framework):
|
|||||||
|
|
||||||
|
|
||||||
class ClsAccEvaluation:
|
class ClsAccEvaluation:
|
||||||
log = file
|
log = sys.stdout
|
||||||
img_classes = {}
|
img_classes = {}
|
||||||
batch_size = 0
|
batch_size = 0
|
||||||
|
|
||||||
@ -198,26 +199,26 @@ class ClsAccEvaluation:
|
|||||||
fw_accuracy.append(100 * correct_answers[i] / float(samples_handled))
|
fw_accuracy.append(100 * correct_answers[i] / float(samples_handled))
|
||||||
frameworks_out.append(out)
|
frameworks_out.append(out)
|
||||||
inference_time[i] += end - start
|
inference_time[i] += end - start
|
||||||
print >> self.log, samples_handled, 'Accuracy for', frameworks[i].get_name() + ':', fw_accuracy[i]
|
print(samples_handled, 'Accuracy for', frameworks[i].get_name() + ':', fw_accuracy[i], file=self.log)
|
||||||
print >> self.log, "Inference time, ms ", \
|
print("Inference time, ms ", \
|
||||||
frameworks[i].get_name(), inference_time[i] / samples_handled * 1000
|
frameworks[i].get_name(), inference_time[i] / samples_handled * 1000, file=self.log)
|
||||||
|
|
||||||
for i in range(1, len(frameworks)):
|
for i in range(1, len(frameworks)):
|
||||||
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
||||||
diff = np.abs(frameworks_out[0] - frameworks_out[i])
|
diff = np.abs(frameworks_out[0] - frameworks_out[i])
|
||||||
l1_diff = np.sum(diff) / diff.size
|
l1_diff = np.sum(diff) / diff.size
|
||||||
print >> self.log, samples_handled, "L1 difference", log_str, l1_diff
|
print(samples_handled, "L1 difference", log_str, l1_diff, file=self.log)
|
||||||
blobs_l1_diff[i] += l1_diff
|
blobs_l1_diff[i] += l1_diff
|
||||||
blobs_l1_diff_count[i] += 1
|
blobs_l1_diff_count[i] += 1
|
||||||
if np.max(diff) > blobs_l_inf_diff[i]:
|
if np.max(diff) > blobs_l_inf_diff[i]:
|
||||||
blobs_l_inf_diff[i] = np.max(diff)
|
blobs_l_inf_diff[i] = np.max(diff)
|
||||||
print >> self.log, samples_handled, "L_INF difference", log_str, blobs_l_inf_diff[i]
|
print(samples_handled, "L_INF difference", log_str, blobs_l_inf_diff[i], file=self.log)
|
||||||
|
|
||||||
self.log.flush()
|
self.log.flush()
|
||||||
|
|
||||||
for i in range(1, len(blobs_l1_diff)):
|
for i in range(1, len(blobs_l1_diff)):
|
||||||
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
||||||
print >> self.log, 'Final l1 diff', log_str, blobs_l1_diff[i] / blobs_l1_diff_count[i]
|
print('Final l1 diff', log_str, blobs_l1_diff[i] / blobs_l1_diff_count[i], file=self.log)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from __future__ import print_function
|
||||||
from abc import ABCMeta, abstractmethod
|
from abc import ABCMeta, abstractmethod
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import sys
|
import sys
|
||||||
@ -145,7 +146,7 @@ class PASCALDataFetch(DatasetImageFetch):
|
|||||||
|
|
||||||
|
|
||||||
class SemSegmEvaluation:
|
class SemSegmEvaluation:
|
||||||
log = file
|
log = sys.stdout
|
||||||
|
|
||||||
def __init__(self, log_path,):
|
def __init__(self, log_path,):
|
||||||
self.log = open(log_path, 'w')
|
self.log = open(log_path, 'w')
|
||||||
@ -174,28 +175,28 @@ class SemSegmEvaluation:
|
|||||||
pix_acc, mean_acc, miou = get_metrics(conf_mats[i])
|
pix_acc, mean_acc, miou = get_metrics(conf_mats[i])
|
||||||
|
|
||||||
name = frameworks[i].get_name()
|
name = frameworks[i].get_name()
|
||||||
print >> self.log, samples_handled, 'Pixel accuracy, %s:' % name, 100 * pix_acc
|
print(samples_handled, 'Pixel accuracy, %s:' % name, 100 * pix_acc, file=self.log)
|
||||||
print >> self.log, samples_handled, 'Mean accuracy, %s:' % name, 100 * mean_acc
|
print(samples_handled, 'Mean accuracy, %s:' % name, 100 * mean_acc, file=self.log)
|
||||||
print >> self.log, samples_handled, 'Mean IOU, %s:' % name, 100 * miou
|
print(samples_handled, 'Mean IOU, %s:' % name, 100 * miou, file=self.log)
|
||||||
print >> self.log, "Inference time, ms ", \
|
print("Inference time, ms ", \
|
||||||
frameworks[i].get_name(), inference_time[i] / samples_handled * 1000
|
frameworks[i].get_name(), inference_time[i] / samples_handled * 1000, file=self.log)
|
||||||
|
|
||||||
for i in range(1, len(frameworks)):
|
for i in range(1, len(frameworks)):
|
||||||
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
||||||
diff = np.abs(frameworks_out[0] - frameworks_out[i])
|
diff = np.abs(frameworks_out[0] - frameworks_out[i])
|
||||||
l1_diff = np.sum(diff) / diff.size
|
l1_diff = np.sum(diff) / diff.size
|
||||||
print >> self.log, samples_handled, "L1 difference", log_str, l1_diff
|
print(samples_handled, "L1 difference", log_str, l1_diff, file=self.log)
|
||||||
blobs_l1_diff[i] += l1_diff
|
blobs_l1_diff[i] += l1_diff
|
||||||
blobs_l1_diff_count[i] += 1
|
blobs_l1_diff_count[i] += 1
|
||||||
if np.max(diff) > blobs_l_inf_diff[i]:
|
if np.max(diff) > blobs_l_inf_diff[i]:
|
||||||
blobs_l_inf_diff[i] = np.max(diff)
|
blobs_l_inf_diff[i] = np.max(diff)
|
||||||
print >> self.log, samples_handled, "L_INF difference", log_str, blobs_l_inf_diff[i]
|
print(samples_handled, "L_INF difference", log_str, blobs_l_inf_diff[i], file=self.log)
|
||||||
|
|
||||||
self.log.flush()
|
self.log.flush()
|
||||||
|
|
||||||
for i in range(1, len(blobs_l1_diff)):
|
for i in range(1, len(blobs_l1_diff)):
|
||||||
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
log_str = frameworks[0].get_name() + " vs " + frameworks[i].get_name() + ':'
|
||||||
print >> self.log, 'Final l1 diff', log_str, blobs_l1_diff[i] / blobs_l1_diff_count[i]
|
print('Final l1 diff', log_str, blobs_l1_diff[i] / blobs_l1_diff_count[i], file=self.log)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
@ -206,6 +206,8 @@ class table(object):
|
|||||||
cell.width = len(max(cell.text, key = lambda line: len(line)))
|
cell.width = len(max(cell.text, key = lambda line: len(line)))
|
||||||
|
|
||||||
def reformatTextValue(self, value):
|
def reformatTextValue(self, value):
|
||||||
|
if sys.version_info > (3,): # PY3 fix
|
||||||
|
unicode = str
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
vstr = value
|
vstr = value
|
||||||
elif isinstance(value, unicode):
|
elif isinstance(value, unicode):
|
||||||
|
@ -7,6 +7,10 @@ import os.path
|
|||||||
import sys
|
import sys
|
||||||
from xml.dom.minidom import parse
|
from xml.dom.minidom import parse
|
||||||
|
|
||||||
|
if sys.version_info > (3,):
|
||||||
|
long = int
|
||||||
|
def cmp(a, b): return (a>b)-(a<b)
|
||||||
|
|
||||||
class TestInfo(object):
|
class TestInfo(object):
|
||||||
|
|
||||||
def __init__(self, xmlnode):
|
def __init__(self, xmlnode):
|
||||||
|
@ -335,6 +335,7 @@ if __name__ == "__main__":
|
|||||||
print(cfg.strip())
|
print(cfg.strip())
|
||||||
print('=' * 80)
|
print('=' * 80)
|
||||||
|
|
||||||
|
ABIs = None # make flake8 happy
|
||||||
exec(compile(cfg, cpath, 'exec'))
|
exec(compile(cfg, cpath, 'exec'))
|
||||||
|
|
||||||
log.info("Android NDK path: %s", os.environ["ANDROID_NDK"])
|
log.info("Android NDK path: %s", os.environ["ANDROID_NDK"])
|
||||||
|
@ -79,7 +79,7 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
img = cv.imread(fn, 0)
|
img = cv.imread(fn, 0)
|
||||||
if img is None:
|
if img is None:
|
||||||
print('Failed to load fn1:', fn1)
|
print('Failed to load file:', fn)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
img = np.float32(img)/255.0
|
img = np.float32(img)/255.0
|
||||||
|
Loading…
Reference in New Issue
Block a user