model quantization
来源:互联网 发布:吴用 知乎 编辑:程序博客网 时间:2024/06/05 19:57
'''
Author:yangtong
Date: 2017.07.14
File description:scripts for model quantization
'''
import tensorflow
import cv2
from matplotlib import pyplot as plt
import numpy as np
import sys
sys.path.append('/home/y00351600/work/deeplab_v2/deeplab/python')
import caffe
net = caffe.Net('/home/y00351600/work/work-dir/caffes/models/FSRCNN/FSRCNN.prototxt',
'/home/y00351600/work/work-dir/caffes/models/FSRCNN/FSRCNN.caffemodel',caffe.TEST)
#*-----------output info for view ------------*#
print 'estimate weights in each layer:'
keys = net.params.keys()
for key in keys:
print '-------' + key + '---------'
if len(net.params[key])==1:
print 'single val:' + str(net.params[key][0].data)
if len(net.params[key])==2:
print 'abs weight min: ' + str(np.min(abs(net.params[key][0].data))) +'\t ' \
'abs weight max: ' + str(np.max(abs(net.params[key][0].data)))
print 'abs bias min: ' + str(np.min(abs(net.params[key][1].data))) + '\t ' \
'abs bias max: ' + str(np.max(abs(net.params[key][1].data)))
#*--------quantize and store to file----------*#
q_if = {}
for key in keys:
q_if[key] = 0
est_int_part = int(np.max(abs(net.params[key][0].data))+1)
#"""read in a picture and show"""
src_img = cv2.imread('/home/y00351600/work/work-dir/src_images/pic1.jpg')
plt.imshow(src_img)
plt.show()
#"""preprocess pic and set as input blob"""
grayimg = cv2.cvtColor(src_img,cv2.COLOR_BGR2GRAY)
im1 = cv2.resize(grayimg,(300,300))
im1.reshape([1,1,300,300])
net.blobs['data'].data[...] = im1
blob_out = net.forward()
#print type(net.blobs.items())
print 'estimate blob of each layer:'
for k, v in net.blobs.items():
# print v.data.shape
print "-----------" + k + "--------------"
print 'min: ' + str(np.min(abs(v.data)))
print 'max: ' + str(np.max(abs(v.data)))
#**---------show some results-------------**#
a = blob_out.values()
plt.imshow(a[0][0][0])
#plt.show()
Author:yangtong
Date: 2017.07.14
File description:scripts for model quantization
'''
import tensorflow
import cv2
from matplotlib import pyplot as plt
import numpy as np
import sys
sys.path.append('/home/y00351600/work/deeplab_v2/deeplab/python')
import caffe
net = caffe.Net('/home/y00351600/work/work-dir/caffes/models/FSRCNN/FSRCNN.prototxt',
'/home/y00351600/work/work-dir/caffes/models/FSRCNN/FSRCNN.caffemodel',caffe.TEST)
#*-----------output info for view ------------*#
print 'estimate weights in each layer:'
keys = net.params.keys()
for key in keys:
print '-------' + key + '---------'
if len(net.params[key])==1:
print 'single val:' + str(net.params[key][0].data)
if len(net.params[key])==2:
print 'abs weight min: ' + str(np.min(abs(net.params[key][0].data))) +'\t ' \
'abs weight max: ' + str(np.max(abs(net.params[key][0].data)))
print 'abs bias min: ' + str(np.min(abs(net.params[key][1].data))) + '\t ' \
'abs bias max: ' + str(np.max(abs(net.params[key][1].data)))
#*--------quantize and store to file----------*#
q_if = {}
for key in keys:
q_if[key] = 0
est_int_part = int(np.max(abs(net.params[key][0].data))+1)
#"""read in a picture and show"""
src_img = cv2.imread('/home/y00351600/work/work-dir/src_images/pic1.jpg')
plt.imshow(src_img)
plt.show()
#"""preprocess pic and set as input blob"""
grayimg = cv2.cvtColor(src_img,cv2.COLOR_BGR2GRAY)
im1 = cv2.resize(grayimg,(300,300))
im1.reshape([1,1,300,300])
net.blobs['data'].data[...] = im1
blob_out = net.forward()
#print type(net.blobs.items())
print 'estimate blob of each layer:'
for k, v in net.blobs.items():
# print v.data.shape
print "-----------" + k + "--------------"
print 'min: ' + str(np.min(abs(v.data)))
print 'max: ' + str(np.max(abs(v.data)))
#**---------show some results-------------**#
a = blob_out.values()
plt.imshow(a[0][0][0])
#plt.show()
阅读全文
0 0
- model quantization
- Quantization
- Quantization
- Vector quantization
- Trellis quantization
- Vector Quantization
- Vector Quantization
- Iterative Quantization
- Clustering (番外篇): Vector Quantization
- VQ(Vector quantization)
- 聚类 Vector Quantization
- sgu-205 Quantization Problem
- sgu205:Quantization Problem(dp)
- H.264 Quantization
- VQ(vector quantization) record
- Model?
- Model
- model
- eclipse导出可直接运行的jar项目
- Destroy 和 DestroyImmediate 使用区别
- linux常用命令sort,uniq,cut,wc
- 552. Student Attendance Record II
- CSS三种样式
- model quantization
- windows配置logstash java环境
- CentOS6.5final下RabbitMQ3.6.10的安装和使用
- python None和Null
- 拼多多前端笔试题(二)
- &和&&的区别(与) 和 ||和|的区别(或)
- 查看ubuntu下Qt的版本
- a 标签 定义了高宽撑不开
- mysql limit 分页问题分析