我在Tensorflow中使用玩具模型尝试了量化工具.它确实将模型减少到大约25%,然而,将执行时间增加了许多倍.
两种型号运行时都可以完全使用GPU.所以我想知道出了什么问题?我想有两种可能性:
欢迎任何建议!谢谢!
我使用的模型是:
def dense_cnn_model(weights):
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
def max_pool_2x2(x):
return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
strides=[1, 2, 2, 1], padding='SAME')
x_image = tf.reshape(x, [-1,28,28,1])
h_conv1 = tf.nn.relu(conv2d(x_image, weights["w_conv1"]) + weights["b_conv1"])
h_pool1 = max_pool_2x2(h_conv1)
h_conv2 = tf.nn.relu(conv2d(h_pool1, weights["w_conv2"]) + weights["b_conv2"])
h_pool2 = max_pool_2x2(h_conv2)
h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*64])
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, weights["w_fc1"]) + weights["b_fc1"])
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)
y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, weights["w_fc2"]) + weights["b_fc2"],name='softmax')
return y_conv
Run Code Online (Sandbox Code Playgroud)
使用量化工具,冻结图从13M压缩到3.2M.
-rw-rw-r-- 1 yonghu yonghu …
Run Code Online (Sandbox Code Playgroud)