✔️

timmの推論時間の比較

2023/06/12に公開

timmの各モデルの精度[1]およびRTX3090での処理時間[2]はあるのですが、CPUだとどうなのか?が分からないので、推論速度を計測しました。


Google ColabのCPU、GPU、TPUで測定しました。
timmでpretrained=Trueかつresults-imagenet.csvに存在するものに絞っています。

以下で実行できます。
Open In Colab

結果は以下です。
(出力結果を精度順で並べ替えています)
https://github.com/piment831/example/blob/1b97815ad5298315f98bbe6baa9c05324aad1553/timm_benchmark_results.csv

例えば、CPUで1秒以下の精度順のTOP5は以下

model type time top1
caformer_b36.sail_in22k_ft_in1k cpu 0.81668885 87.422
convnextv2_base.fcmae_ft_in22k_in1k cpu 0.706331892 86.998
convformer_b36.sail_in22k_ft_in1k cpu 0.8217355926 86.998
maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k cpu 0.993503541 86.894
seresnextaa101d_32x8d.sw_in12k_ft_in1k_288 cpu 0.9735314902 86.724

CPUの0.5秒以下だと

model type time top1
convformer_m36.sail_in22k_ft_in1k cpu 0.4480598038 86.146
caformer_s36.sail_in22k_ft_in1k cpu 0.3241664394 85.792
convformer_s36.sail_in22k_ft_in1k cpu 0.3079198384 85.414
convnext_small.in12k_ft_in1k cpu 0.3213646618 85.33
tf_efficientnet_b4.ns_jft_in1k cpu 0.4146365242 85.162

CPUの0.1秒以下だと

model type time top1
fbnetv3_g.ra2_in1k cpu 0.099555085 82.036
levit_conv_256.fb_dist_in1k cpu 0.0788923344 81.52
levit_256.fb_dist_in1k cpu 0.0802123398 81.514
tf_efficientnet_b1.ns_jft_in1k cpu 0.09156966 81.394
convnext_pico_ols.d1_in1k cpu 0.0828551524 80.464

試してはいないですが、CPUなら、fbnetv3_g.ra2_in1kが精度と速度のバランスがよさそうです。

脚注
  1. https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv ↩︎

  2. https://github.com/huggingface/pytorch-image-models/blob/main/results/benchmark-infer-amp-nchw-pt113-cu117-rtx3090.csv ↩︎

Discussion