tensorflow 模型优化

首先如何计算CPU的flops:

输入 cat /proc/cpuinfo

物理CPU个数:        cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
每个CPU物理核数:    cat /proc/cpuinfo |grep "cpu cores"|uniq
每个CPU逻辑核数:    cat /proc/cpuinfo |grep "siblings"|uniq
总CPU逻辑核数:        cat /proc/cpuinfo |grep -c "processor"
我的服务器是两个芯片组,每个芯片组是10核,支持超线程,所以逻辑CPU是40。
超线程指物理内核+逻辑内核,芯片上只存在一个物理内核,但是这个物理内核可以模拟出一个逻辑内核,于是系统信息就显示了两个内核,一真一假。
tensorflow 模型优化_第1张图片

图中第一行表示:这台机器又27+1=28个核心(processor的编号是从0开始),cpu cores  =14表示这台机器的每个cpu有14个核心,所有28/14=2个cpu,第五行才是cpu型号和频率。

注意所谓的一台机器的总核心数就是:一台机器的总核心数=机器中processor的个数=cpu的个数*单个cpu的核心数。

例如上图:2.4GHz*28*16=1075.2Gflops

计算某个机器的浮点运算能力:CPU的峰值计算能力(每秒多少次浮点运算)=

 CPU频率×CPU核心数*浮点运算单元数

注意:浮点运算单元数根据不同的CPU型号不同,intel一般是16,AMD的是8.可以去官网查询,太平洋在线也行。

sudo dmidecode|grep -P -A5 "Memory Device" |grep Size----------查看内存槽数、哪个槽位插了内存,大小是多少


sudo dmidecode -t memory |grep "Maximum Capacity"----------最大支持的内存数


sudo dmidecode|grep -A16 "Memory Device"|grep 'Speed'------查看内存速率
上述参考:https://blog.csdn.net/qq_25948717/article/details/80450301

模型打印

如果不知道自己模型的开头结点以及输出节点可以采用:

bazel build tensorflow / tools / graph_transforms:summarize_graph

先编译,然后

~/code/tensorflow/bazel-bin/tensorflow/tools/graph_transforms/summarize_graph --in_graph=./input_graph.pb

计算自己图的flops

首先编译:

bazel build -c opt tensorflow/tools/benchmark:benchmark_model

然后:

~/code/tensorflow/bazel-bin/tensorflow/tools/benchmark/benchmark_model \
--graph=./hed_graph.pb --input_layer="node,is_training" \
--input_layer_shape=1,256,256,3: --input_layer_type="float,bool" \
--output_layer="node" --show_run_order=false --show_time=false \
--show_memory=false --show_summary=true --show_flops=true

这里不能像教程一样加0.

模型压缩

其实就是8比特定点量化

bazel build tensorflow/tools/graph_transforms:transform_graph && \
bazel-bin/tensorflow/tools/graph_transforms/transform_graph \
--in_graph=/tmp/tensorflow_inception_optimized.pb \
--out_graph=/tmp/tensorflow_inception_quantized.pb \
--inputs='Mul:0' --outputs='softmax:0' --transforms='quantize_weights'

参考:https://tensorflow.juejin.im/mobile/optimizing.html#toc-2

 

你可能感兴趣的:(搬砖,人工智障)