以前にtensorrtに関する記事を書きました:異なるバッチサイズでのtensorrtのパフォーマンス比較
モデルはまだこの記事で使用されているモデルですが、openvinoモデルに変換され、ベンチマークを使用してテストされます
ベンチマークを使用するには、自分でコンパイルする必要があります:https://blog.csdn.net/zhou_438/article/details/112974101
その後、テストすることができます
特定の例では、次のコマンドはbatchsize = 32です。
benchmark_app.exe -m ctdet_coco_dlav0_512.xml -d CPU -i 2109.png -b 32
残りのバッチサイズは、自分でテストしてから、観察のためにデータを要約する必要があります
次に、データを視覚化すると、結果は次のようになります。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.tight_layout()
df1=pd.read_csv("FirstInference.txt",sep=' ')
df2=pd.read_csv("Latency.txt",sep=' ')
df=pd.merge(df1,df2,how = 'inner',on='batchsize')
print(df.head())
x =df['batchsize'].values
y1 =df['FirstInference'].values
y2 =df['Latency'].values
plt.plot(x, y1, 'ro--',label='FirstInference')
plt.plot(x, y2, 'bo-',label='Latency')
plt.xlabel('batchsize')
plt.ylabel('time(ms)')
plt.legend()
plt.show()
CPUのバッチサイズがいくら大きくても、推論時間は実際には直線的に増加することがわかります。
スループットにほとんど変化はなく、グラフは大きく変動しているように見えますが、実際にはデータの変化はわずかです。