mirror of https://github.com/alibaba/MNN.git
77 lines
3.4 KiB
Python
77 lines
3.4 KiB
Python
#!/usr/bin/python
|
|
import sys
|
|
import urllib
|
|
import os
|
|
CONVERTER = os.path.join("build", "MNNConvert")
|
|
print("Converter Path:" + CONVERTER)
|
|
|
|
def download(url, dest):
|
|
if os.path.exists(dest):
|
|
print(dest + " exists, skip")
|
|
return
|
|
print("Download " + url + " -> " + dest)
|
|
urllib.urlretrieve(url, dest)
|
|
|
|
|
|
def get_caffe1(urlmodel, destmodel, urlproto, destproto, name, position):
|
|
download(urlmodel, destmodel)
|
|
download(urlproto, destproto)
|
|
print("Caffe Dest: " + position)
|
|
print(os.popen(CONVERTER + " -f CAFFE --modelFile " + destmodel + " --prototxt " + destproto + " --MNNModel " + position + " --bizCode 0000").read())
|
|
|
|
def get_tensorflow_lite(urlmodel, destmodel, name, position):
|
|
download(urlmodel, destmodel)
|
|
print("Tflite Dest: " + position)
|
|
print(os.popen(CONVERTER + " -f TFLITE --modelFile " + destmodel + " --MNNModel " + position + " --bizCode 0000").read())
|
|
|
|
# get models
|
|
|
|
|
|
## Using SqueezeNet V1.0 downloaded from: https://github.com/DeepScale/SqueezeNet/
|
|
get_caffe1(
|
|
"https://raw.githubusercontent.com/DeepScale/SqueezeNet/master/SqueezeNet_v1.0/squeezenet_v1.0.caffemodel" ,
|
|
"build/squeezenet_v1.0.caffe.caffemodel" ,
|
|
"https://raw.githubusercontent.com/DeepScale/SqueezeNet/master/SqueezeNet_v1.0/deploy.prototxt" ,
|
|
"build/squeezenet_v1.0.caffe.prototxt" ,
|
|
"SqueezeNet V1.0" ,
|
|
"resource/model/SqueezeNet/v1.0/squeezenet_v1.0.caffe.mnn")
|
|
|
|
## Using SqueezeNet V1.1 downloaded from: https://github.com/DeepScale/SqueezeNet/
|
|
get_caffe1(
|
|
"https://raw.githubusercontent.com/DeepScale/SqueezeNet/master/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel" ,
|
|
"build/squeezenet_v1.1.caffe.caffemodel" ,
|
|
"https://raw.githubusercontent.com/DeepScale/SqueezeNet/b6b5ae2ce884a3866c21efd31e103defde8631ae/SqueezeNet_v1.1/deploy.prototxt" ,
|
|
"build/squeezenet_v1.1.caffe.prototxt" ,
|
|
"SqueezeNet V1.1" ,
|
|
"resource/model/SqueezeNet/v1.1/squeezenet_v1.1.caffe.mnn")
|
|
|
|
## Using MobileNet V2 downloaded from: http://download.tensorflow.org/models/tflite_11_05_08/mobilenet_v2_1.0_224.tgz
|
|
get_tensorflow_lite(
|
|
"http://download.tensorflow.org/models/tflite_11_05_08/mobilenet_v2_1.0_224.tgz" ,
|
|
"build/mobilenet_v2_1.0_224.tflite" ,
|
|
"MobileNet V2 TFLite" ,
|
|
"resource/model/MobileNet/v2/mobilenet_v2_1.0_224.tflite.mnn")
|
|
|
|
## Using MobileNet V2 downloaded from: http://download.tensorflow.org/models/tflite_11_05_08/mobilenet_v2_1.0_224_quant.tgz
|
|
get_tensorflow_lite(
|
|
"http://download.tensorflow.org/models/tflite_11_05_08/mobilenet_v2_1.0_224_quant.tgz" ,
|
|
"mobilenet_v2_1.0_224_quant.tflite" ,
|
|
"MobileNet V2 TFLite Quantized" ,
|
|
"resource/model/MobileNet/v2/mobilenet_v2_1.0_224_quant.tflite.mnn")
|
|
|
|
## Using deeplab v3 downloaded from: https://storage.googleapis.com/download.tensorflow.org/models/tflite/gpu/deeplabv3_257_mv_gpu.tflite
|
|
get_tensorflow_lite(
|
|
"https://storage.googleapis.com/download.tensorflow.org/models/tflite/gpu/deeplabv3_257_mv_gpu.tflite" ,
|
|
"build/deeplabv3_257_mv_gpu.tflite" ,
|
|
"deeplabv3" ,
|
|
"resource/model/Portrait/Portrait.tflite.mnn")
|
|
|
|
## Using MobileNet V1 downloaded from: https://github.com/shicai/MobileNet-Caffe/
|
|
get_caffe1(
|
|
"https://raw.githubusercontent.com/shicai/MobileNet-Caffe/master/mobilenet.caffemodel" ,
|
|
"build/mobilenet_v1.caffe.caffemodel" ,
|
|
"https://raw.githubusercontent.com/shicai/MobileNet-Caffe/master/mobilenet_deploy.prototxt" ,
|
|
"build/mobilenet_v1.caffe.prototxt" ,
|
|
"MobileNet V1" ,
|
|
"resource/model/MobileNet/v1/mobilenet_v1.caffe.mnn")
|