我正在使用tensorflow图形转换工具来量化图形,使用
input_names = ["prefix/input"]
output_names = ["final_result"]
transforms1 = ["strip_unused_nodes","fold_constants(ignore_errors=true)", "fold_batch_norms", "fold_old_batch_norms","quantize_weights" ]
transformed_graph_def = TransformGraph(graph.as_graph_def(), input_names,output_names, transforms1)我使用选项quantize_weights来量化图中的权重,我知道通过更改quantize_weights中的阈值minimum_size,某些节点可以保持未量化状态,因此,让一些节点保持未量化状态当然是可能的。
我想量化除名称为K的特定节点或名称为K(集合)的一组节点之外的所有节点的权重。如何才能做到这一点?
发布于 2021-03-14 16:16:30
编辑:前面的答案引用了Tensorflow Lite代码。我更新了它以引用Tensorflow。
看看Tensorflow's quantize_weights的实现,这些是权重不会被量化的实例:
权重小于1024 (或参数minimum_size)指定的另一个数字)的
如果您能够修改图形中的节点,使其被上述规则之一排除,然后量化,然后将节点恢复到预量化状态,则可以这样做。
https://stackoverflow.com/questions/50304096
复制相似问题