Skip to content

Commit f48d76b

Browse files
committed
Merge branch 4.x
2 parents 8c6a0fa + 02e875e commit f48d76b

File tree

1 file changed

+56
-63
lines changed

1 file changed

+56
-63
lines changed

testdata/dnn/download_models.py

Lines changed: 56 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
import tarfile
88
import requests
99

10-
if sys.version_info[0] < 3:
11-
from urllib2 import urlopen
12-
else:
13-
from urllib.request import urlopen
14-
15-
1610
class Model:
1711
MB = 1024*1024
1812
BUFSIZE = 10*MB
@@ -31,12 +25,12 @@ def __str__(self):
3125

3226
def printRequest(self, r):
3327
def getMB(r):
34-
d = dict(r.info())
28+
d = dict(r.headers)
3529
for c in ['content-length', 'Content-Length']:
3630
if c in d:
3731
return int(d[c]) / self.MB
3832
return '<unknown>'
39-
print(' {} {} [{} Mb]'.format(r.getcode(), r.msg, getMB(r)))
33+
print(' {} [{} Mb]'.format(r.status_code, getMB(r)))
4034

4135
def verify(self):
4236
if not self.sha:
@@ -54,7 +48,7 @@ def verify(self):
5448
self.sha_actual = sha.hexdigest()
5549
return self.sha == self.sha_actual
5650
except Exception as e:
57-
print(' catch {}'.format(e))
51+
print(' verify {}'.format(e))
5852

5953
def get(self):
6054
if self.verify():
@@ -90,31 +84,42 @@ def get(self):
9084

9185
def download(self):
9286
try:
93-
r = urlopen(self.url, timeout=60)
87+
session = requests.Session()
88+
r = session.get(self.url, stream=True, timeout=60)
9489
self.printRequest(r)
95-
self.save(r)
90+
91+
with open(self.filename, 'wb') as f:
92+
print(' progress ', end='')
93+
sys.stdout.flush()
94+
for buf in r.iter_content(self.BUFSIZE):
95+
if not buf:
96+
continue
97+
f.write(buf)
98+
print('>', end='')
99+
sys.stdout.flush()
100+
96101
except Exception as e:
97-
print(' catch {}'.format(e))
102+
print(' download {}'.format(e))
98103

99104
def extract(self):
100105
try:
101106
with tarfile.open(self.archive) as f:
102107
assert self.member in f.getnames()
103-
self.save(f.extractfile(self.member))
104-
except Exception as e:
105-
print(' catch {}'.format(e))
108+
r = f.extractfile(self.member)
106109

107-
def save(self, r):
108-
with open(self.filename, 'wb') as f:
109-
print(' progress ', end='')
110-
sys.stdout.flush()
111-
while True:
112-
buf = r.read(self.BUFSIZE)
113-
if not buf:
114-
break
115-
f.write(buf)
116-
print('>', end='')
117-
sys.stdout.flush()
110+
with open(self.filename, 'wb') as f:
111+
print(' progress ', end='')
112+
sys.stdout.flush()
113+
while True:
114+
buf = r.read(self.BUFSIZE)
115+
if not buf:
116+
break
117+
f.write(buf)
118+
print('>', end='')
119+
sys.stdout.flush()
120+
121+
except Exception as e:
122+
print(' extract {}'.format(e))
118123

119124
def handle_bad_download(self):
120125
if os.path.exists(self.filename):
@@ -220,14 +225,14 @@ def get_confirm_token(response): # in case of large files
220225
filename='squeezenet_v1.1.caffemodel'),
221226
Model(
222227
name='MobileNet-SSD', # https://github.com/chuanqi305/MobileNet-SSD
223-
url='https://drive.google.com/uc?export=download&id=0B3gersZ2cHIxRm5PMWRoTkdHdHc',
224-
sha='994d30a8afaa9e754d17d2373b2d62a7dfbaaf7a',
225-
filename='MobileNetSSD_deploy.caffemodel'),
228+
url='https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/97406996b1eee2d40eb0a00ae567cf41e23369f9/mobilenet_iter_73000.caffemodel',
229+
sha='19e3ec38842f3e68b02c07a1c24424a1e9db57e9',
230+
filename='MobileNetSSD_deploy_19e3ec3.caffemodel'),
226231
Model(
227232
name='MobileNet-SSD',
228-
url='https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/daef68a6c2f5fbb8c88404266aa28180646d17e0/MobileNetSSD_deploy.prototxt',
229-
sha='d77c9cf09619470d49b82a9dd18704813a2043cd',
230-
filename='MobileNetSSD_deploy.prototxt'),
233+
url='https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/97406996b1eee2d40eb0a00ae567cf41e23369f9/deploy.prototxt',
234+
sha='50cf80235a8fcccc641bf9f8efc803edbf21c615',
235+
filename='MobileNetSSD_deploy_19e3ec3.prototxt'),
231236
Model(
232237
name='OpenFace', # https://github.com/cmusatyalab/openface
233238
url='https://storage.cmusatyalab.org/openface-models/nn4.small2.v1.t7',
@@ -298,7 +303,7 @@ def get_confirm_token(response): # in case of large files
298303
filename='ssd_mobilenet_v2_coco_2018_03_29.pb'),
299304
Model(
300305
name='Colorization',
301-
url='https://raw.githubusercontent.com/richzhang/colorization/master/models/colorization_deploy_v2.prototxt',
306+
url='https://raw.githubusercontent.com/richzhang/colorization/caffe/models/colorization_deploy_v2.prototxt',
302307
sha='f528334e386a69cbaaf237a7611d833bef8e5219',
303308
filename='colorization_deploy_v2.prototxt'),
304309
Model(
@@ -432,29 +437,17 @@ def get_confirm_token(response): # in case of large files
432437
filename='faster_rcnn_resnet50_coco_2018_01_28.pb'),
433438
Model(
434439
name='AlexNet (ONNX)',
435-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/bvlc_alexnet.tar.gz',
436-
sha='c713be2852472582224fa7395e2ab4641f8b6356',
437-
filename='bvlc_alexnet.tar.gz'),
438-
Model(
439-
name='AlexNet (ONNX)',
440-
archive='bvlc_alexnet.tar.gz',
441-
member='bvlc_alexnet/model.onnx',
440+
url='https://github.com/onnx/models/raw/69c5d3751dda5349fd3fc53f525395d180420c07/vision/classification/alexnet/model/bvlcalexnet-8.onnx',
442441
sha='b256703f2b125d8681a0a6e5a40a6c9deb7d2b4b',
443442
filename='onnx/models/alexnet.onnx'),
444443
Model(
445444
name='GoogleNet (ONNX)',
446-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/bvlc_googlenet.tar.gz',
447-
sha='739732220ba2e3efa88f7c26f13badad9b7514bc',
448-
filename='bvlc_googlenet.tar.gz'),
449-
Model(
450-
name='GoogleNet (ONNX)',
451-
archive='bvlc_googlenet.tar.gz',
452-
member='bvlc_googlenet/model.onnx',
445+
url='https://github.com/onnx/models/raw/69c5d3751dda5349fd3fc53f525395d180420c07/vision/classification/inception_and_googlenet/googlenet/model/googlenet-8.onnx',
453446
sha='534a16d7e2472f6a9a1925a5ee6c9abc2f5c02b0',
454447
filename='onnx/models/googlenet.onnx'),
455448
Model(
456449
name='CaffeNet (ONNX)',
457-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/bvlc_reference_caffenet.tar.gz',
450+
url='https://github.com/onnx/models/raw/4eff8f9b9189672de28d087684e7085ad977747c/vision/classification/caffenet/model/caffenet-8.tar.gz',
458451
sha='f9f5dd60d4c9172a7e26bd4268eab7ecddb37393',
459452
filename='bvlc_reference_caffenet.tar.gz'),
460453
Model(
@@ -477,7 +470,7 @@ def get_confirm_token(response): # in case of large files
477470
filename='onnx/data/output_caffenet.pb'),
478471
Model(
479472
name='RCNN_ILSVRC13 (ONNX)',
480-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/bvlc_reference_rcnn_ilsvrc13.tar.gz',
473+
url='https://github.com/onnx/models/raw/cbda9ebd037241c6c6a0826971741d5532af8fa4/vision/classification/rcnn_ilsvrc13/model/rcnn-ilsvrc13-8.tar.gz',
481474
sha='b1b27a41066c26f824d57e99036dc885459017f0',
482475
filename='bvlc_reference_rcnn_ilsvrc13.tar.gz'),
483476
Model(
@@ -500,7 +493,7 @@ def get_confirm_token(response): # in case of large files
500493
filename='onnx/data/output_rcnn_ilsvrc13.pb'),
501494
Model(
502495
name='ZFNet512 (ONNX)',
503-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/zfnet512.tar.gz',
496+
url='https://github.com/onnx/models/raw/f884b33c3e2371952aad7ea091898f418c830fe5/vision/classification/zfnet-512/model/zfnet512-8.tar.gz',
504497
sha='c040c455c8aac71c8cda57595b698b76449e4ff4',
505498
filename='zfnet512.tar.gz'),
506499
Model(
@@ -523,7 +516,7 @@ def get_confirm_token(response): # in case of large files
523516
filename='onnx/data/output_zfnet512.pb'),
524517
Model(
525518
name='VGG16_bn (ONNX)',
526-
url='https://s3.amazonaws.com/onnx-model-zoo/vgg/vgg16-bn/vgg16-bn.tar.gz',
519+
url='https://github.com/onnx/models/raw/f884b33c3e2371952aad7ea091898f418c830fe5/vision/classification/vgg/model/vgg16-bn-7.tar.gz',
527520
sha='60f4685aed632d2ce3b137017cf44ae1a5c55459',
528521
filename='vgg16-bn.tar.gz'),
529522
Model(
@@ -546,7 +539,7 @@ def get_confirm_token(response): # in case of large files
546539
filename='onnx/data/output_vgg16-bn.pb'),
547540
Model(
548541
name='ResNet-18v1 (ONNX)',
549-
url='https://s3.amazonaws.com/onnx-model-zoo/resnet/resnet18v1/resnet18v1.tar.gz',
542+
url='https://github.com/onnx/models/raw/69c5d3751dda5349fd3fc53f525395d180420c07/vision/classification/resnet/model/resnet18-v1-7.tar.gz',
550543
sha='d132be4857d024de9caa21fd5300dee7c063bc35',
551544
filename='resnet18v1.tar.gz'),
552545
Model(
@@ -569,7 +562,7 @@ def get_confirm_token(response): # in case of large files
569562
filename='onnx/data/output_resnet18v1.pb'),
570563
Model(
571564
name='ResNet-50v1 (ONNX)',
572-
url='https://s3.amazonaws.com/onnx-model-zoo/resnet/resnet50v1/resnet50v1.tar.gz',
565+
url='https://github.com/onnx/models/raw/69c5d3751dda5349fd3fc53f525395d180420c07/vision/classification/resnet/model/resnet50-v1-7.tar.gz',
573566
sha='a4ac2da7e0024d61fdb80481496ba966b48b9fea',
574567
filename='resnet50v1.tar.gz'),
575568
Model(
@@ -592,7 +585,7 @@ def get_confirm_token(response): # in case of large files
592585
filename='onnx/data/output_resnet50v1.pb'),
593586
Model(
594587
name='ResNet50-Int8 (ONNX)',
595-
url='https://github.com/onnx/models/raw/master/vision/classification/resnet/model/resnet50-v1-12-int8.tar.gz',
588+
url='https://github.com/onnx/models/raw/771185265efbdc049fb223bd68ab1aeb1aecde76/vision/classification/resnet/model/resnet50-v1-12-int8.tar.gz',
596589
sha='2ff2a58f4a27362ee6234915452e86287cdcf269',
597590
filename='resnet50-v1-12-int8.tar.gz'),
598591
Model(
@@ -626,7 +619,7 @@ def get_confirm_token(response): # in case of large files
626619
filename='ssd_mobilenet_v1_ppn_coco.pb'),
627620
Model(
628621
name='ResNet101_DUC_HDC (ONNX)',
629-
url='https://s3.amazonaws.com/onnx-model-zoo/duc/ResNet101_DUC_HDC.tar.gz',
622+
url='https://github.com/onnx/models/raw/69c5d3751dda5349fd3fc53f525395d180420c07/vision/classification/resnet/model/resnet101-v1-7.tar.gz',
630623
sha='f8314f381939d01045ac31dbb53d7d35fe3ff9a0',
631624
filename='ResNet101_DUC_HDC.tar.gz'),
632625
Model(
@@ -649,7 +642,7 @@ def get_confirm_token(response): # in case of large files
649642
filename='onnx/data/output_resnet101_duc_hdc.pb'),
650643
Model(
651644
name='TinyYolov2 (ONNX)',
652-
url='https://www.cntk.ai/OnnxModels/tiny_yolov2/opset_1/tiny_yolov2.tar.gz',
645+
url='https://github.com/onnx/models/raw/3d4b2c28f951064ab35c89d5f5c3ffe74a149e4b/vision/object_detection_segmentation/tiny-yolov2/model/tinyyolov2-1.tar.gz',
653646
sha='b9102abb8fa6f51368119b52146c30189353164a',
654647
filename='tiny_yolov2.tar.gz'),
655648
Model(
@@ -672,7 +665,7 @@ def get_confirm_token(response): # in case of large files
672665
filename='onnx/data/output_tiny_yolo2.pb'),
673666
Model(
674667
name='CNN Mnist (ONNX)',
675-
url='https://www.cntk.ai/OnnxModels/mnist/opset_7/mnist.tar.gz',
668+
url='https://github.com/onnx/models/raw/cbda9ebd037241c6c6a0826971741d5532af8fa4/vision/classification/mnist/model/mnist-7.tar.gz',
676669
sha='8bcd3372e44bd95dc8a211bc31fb3025d8edf9f9',
677670
filename='mnist.tar.gz'),
678671
Model(
@@ -741,7 +734,7 @@ def get_confirm_token(response): # in case of large files
741734
filename='onnx/data/output_LResNet100E_IR.pb'),
742735
Model(
743736
name='Emotion FERPlus (ONNX)',
744-
url='https://www.cntk.ai/OnnxModels/emotion_ferplus/opset_7/emotion_ferplus.tar.gz',
737+
url='https://github.com/onnx/models/raw/7cee9777a86dd6e80040d6b786869a83d2ad1273/vision/body_analysis/emotion_ferplus/model/emotion-ferplus-7.tar.gz',
745738
sha='9ff80899c0cd468999db5d8ffde98780ef85455e',
746739
filename='emotion_ferplus.tar.gz'),
747740
Model(
@@ -764,7 +757,7 @@ def get_confirm_token(response): # in case of large files
764757
filename='onnx/data/output_emotion_ferplus.pb'),
765758
Model(
766759
name='Squeezenet (ONNX)',
767-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/squeezenet.tar.gz',
760+
url='https://github.com/onnx/models/raw/f884b33c3e2371952aad7ea091898f418c830fe5/vision/classification/squeezenet/model/squeezenet1.0-8.tar.gz',
768761
sha='57348321d4d460c07c41af814def3abe728b3a03',
769762
filename='squeezenet.tar.gz'),
770763
Model(
@@ -787,7 +780,7 @@ def get_confirm_token(response): # in case of large files
787780
filename='onnx/data/output_squeezenet.pb'),
788781
Model(
789782
name='DenseNet121 (ONNX)',
790-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/densenet121.tar.gz',
783+
url='https://github.com/onnx/models/raw/4eff8f9b9189672de28d087684e7085ad977747c/vision/classification/densenet-121/model/densenet-8.tar.gz',
791784
sha='338b70e871e73b0550fc8ccc0863b8382e90e8e5',
792785
filename='densenet121.tar.gz'),
793786
Model(
@@ -810,7 +803,7 @@ def get_confirm_token(response): # in case of large files
810803
filename='onnx/data/output_densenet121.pb'),
811804
Model(
812805
name='Inception v1 (ONNX)',
813-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/inception_v1.tar.gz',
806+
url='https://github.com/onnx/models/raw/4eff8f9b9189672de28d087684e7085ad977747c/vision/classification/inception_and_googlenet/inception_v1/model/inception-v1-8.tar.gz',
814807
sha='94ecb2bd1426704dca578dc746e3c27bedf22352',
815808
filename='inception_v1.tar.gz'),
816809
Model(
@@ -833,7 +826,7 @@ def get_confirm_token(response): # in case of large files
833826
filename='onnx/data/output_inception_v1.pb'),
834827
Model(
835828
name='Inception v2 (ONNX)',
836-
url='https://s3.amazonaws.com/download.onnx/models/opset_8/inception_v2.tar.gz',
829+
url='https://github.com/onnx/models/raw/4eff8f9b9189672de28d087684e7085ad977747c/vision/classification/inception_and_googlenet/inception_v2/model/inception-v2-8.tar.gz',
837830
sha='d07a442a84d939232c37c976fd8d624fa9f82026',
838831
filename='inception_v2.tar.gz'),
839832
Model(
@@ -856,7 +849,7 @@ def get_confirm_token(response): # in case of large files
856849
filename='onnx/data/output_inception_v2.pb'),
857850
Model(
858851
name='Shufflenet (ONNX)',
859-
url='https://s3.amazonaws.com/download.onnx/models/opset_9/shufflenet.tar.gz',
852+
url='https://github.com/onnx/models/raw/f884b33c3e2371952aad7ea091898f418c830fe5/vision/classification/shufflenet/model/shufflenet-9.tar.gz',
860853
sha='c99afcb7fcc809c0688cc99cb3709a052fde1de7',
861854
filename='shufflenet.tar.gz'),
862855
Model(

0 commit comments

Comments
 (0)