tensorflow benchmark 基准测试

Posted qinshixu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow benchmark 基准测试相关的知识,希望对你有一定的参考价值。

一.模型介绍
1.resnet 深度残差网络,主要模型有resnet18,resnet34,resnet50,resnet101,resnet152,
ResNet可以提供18、34、50、101、152甚至更多层的网络,同时获得更好的精度,ResNet已经被广泛运用于各种特征提取应用中,
当深度学习网络层数越深时,理论上表达能力会更强,但是CNN网络达到一定的深度后,再加深,分类性能不会提高,而是会导致网络收敛更缓慢,
准确率也随着降低,即使把数据集增大,解决过拟合的问题,分类性能和准确度也不会提高

2.VGG 是由 Simonyan 和 Zisserman 在论文 “Very Deep Convolutional Networks for Large Scale Image Recognition” 中提出卷积神经网络模型,其名称来源于作者所在的牛津大学视觉几何组 (Visual Geometry Group) 的缩写。VGG 中根据卷积核大小和卷积层数目的不同,可分为 A、A-LRN、B、C、D、E 共6个配置 (ConvNet Configuration),其中以 D 和 E 两种配置较为常用,分别称为 VGG16 和 VGG19

3.GoogleNet GoogLeNet是由谷歌公司研究出来的深度学习网络结构,其最大的创新就是提出了Inception模块,
所以2014年提出的GoogLeNet网络又称为Inception V1,后来谷歌公司又不断对其进行改进,先后又提出了V2、V3以及V4的改进版。
Inception V1凭借其独有的Inception结构在控制参数量的同时又扩展了网络的深度,Inception V1网络的深度有22层,
但是参数量却只有500万个,大大少于VGGNet的1亿3000万和AlexNet的6000万的参数量


4.AlexNet 今天人们不会在采用或借鉴 AlexNet 来设计网络来,不过无疑是 AlexNet 出现,在次掀起神经网络的热度。
AlexNet 是 2012年 ImageNet竞赛冠军获得者 Hinton 和他的学生 Alex Krizhevsky 设计的。

5.Inception v3 主要提出了分解卷积,把大卷积因式分解成小卷积和非对称卷积,通过大量使用 Inception 模块的降维和并行结构实现的,
允许减轻结构变化对附近组件的影响
二.测试环境
使用 Tensorflow Benchmark 进行基准测试
镜像: nvcr.io/nvidia/tensorflow:20.10-tf2-py3
CUDA: 1.11(rtx-3090最低cuda版本为1.11)
测试代码:https://github.com/tensorflow/benchmarks
框架:tensorflow
显卡:RTX-3090(腾讯黑石服务器RTX-3090)
启动命令:
GPU:python benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\
--num_gpus=1 --batch_size=128 --model=vgg16
CPU:python benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\
--device=cpu --model=googlenet --data_format=NHWC --batch_size=32
# --batch_size 和 --model 可根据具体场景修改
#
三.测试数据

rtx-3090

模型名称

32

64

128

256



1 卡

resnet50

429.86 images/s

493.24

528.54 

540.37

VGG16

251.35

318.07

315.83

322.55

GoogleNet

985.36

1136.53

1275.25

1359.34

AlexNet

3171.42

4387.80

5047.62

5229.61

Inception v3

284.64

323.61

340.32

OOM








CPU

模型名称

32

64

128

256



90(核)

resnet50

17.74

16.69

15.14

14.83

VGG16

7.08

7.49

7.50

7.3

GoogleNet

66.30

61.50

54.56

50.36

AlexNet

119.05

142.02

160.15

164.54

Inception v3

14.45

13.86

13.11

12.3







以上是关于tensorflow benchmark 基准测试的主要内容,如果未能解决你的问题,请参考以下文章

使用JMH做Benchmark基准测试

解读 ruby​​ 的基准测试结果:Benchmark.bm 和 Benchmark.bmbm 的区别

Go语言基准测试(benchmark)三部曲之一:基础篇

使用benchmark.js进行前端代码基准测试

Go语言基准测试(benchmark)三部曲之二:内存篇

Go语言基准测试(benchmark)三部曲之三:提高篇