task11_final

以下是Datawhale组队pandas学习task11中的题目

【任务四】显卡日志
下面给出了3090显卡的性能测评日志结果,每一条日志有如下结构:
Benchmarking #2# #4# precision type #1#
#1#  model average #2# time :  #3# ms
其中#1#代表的是模型名称,#2#的值为train(ing)或inference,
表示训练状态或推断状态,#3#表示耗时,#4#表示精度,
其中包含了float, half, double三种类型,下面是一个具体的例子:

Benchmarking Inference float precision type resnet50
resnet50  model average inference time :  13.426570892333984 ms
请把日志结果进行整理,变换成如下状态,
model_i用相应模型名称填充,按照字母顺序排序,
数值保留三位小数:

Train_half	Train_float	Train_double	Inference_half	Inference_float	Inference_double
model_1	0.954	0.901	0.357	0.281	0.978	1.130
model_2	0.360	0.794	0.011	1.083	1.137	0.394
…	…	…	…	…	…	

【数据下载】链接:https://pan.baidu.com/s/1CjfdtavEywHtZeWSmCGv3A 提取码:4muiBenchmarking #2# #4# precision type #1#
#1# model average #2# time : #3# ms

import pandas as pd 
import numpy as np
import os
df=pd.read_table('benchmark.txt', header=None)
df.head(15)
0
0start
1benchmark start : 2020/12/24 12:12:48
2Number of GPUs on current device : 1
3CUDA Version : 11.0
4Cudnn Version : 8005
5Device Name : GeForce RTX 3090
6uname_result(system='Linux', node='gyh-X11DPi-...
7scpufreq(current=1182.0009166666669, min=1000....
8cpu_count: 36
9memory_available: 129118310400
10Benchmarking Training float precision type mna...
11mnasnet0_5 model average train time : 28.527...
12Benchmarking Training float precision type mna...
13mnasnet0_75 model average train time : 34.10...
14Benchmarking Training float precision type mna...
# 取出Benchmarking #2# #4# precision type #1# 中的 2,4,1
pat_1 = 'Benchmarking (\w+) (\w+) precision type (\w+)'
content_1 = ['type_1','pricision','model_1']
df_1=df[0].str.extract(pat_1).rename(columns=dict(zip(range(3),content_1))).dropna().reset_index(drop=True)
df_1.head()
type_1pricisionmodel_1
0Trainingfloatmnasnet0_5
1Trainingfloatmnasnet0_75
2Trainingfloatmnasnet1_0
3Trainingfloatmnasnet1_3
4Trainingfloatresnet18
# 取出#1#  model average #2# time :  #3# ms 中的1,2,3
pat_2 = '(\w+)\s*model average (\w+).+:\s*(\d+\.\d+)'
content_2 = ['model_2','type_2','time']
df_2 = df[0].str.extract(pat_2).rename(columns=dict(zip(range(3),content_2))).dropna().reset_index(drop=True)
df_2.head()
model_2type_2time
0mnasnet0_5train28.527636528015137
1mnasnet0_75train34.10548686981201
2mnasnet1_0train34.31377410888672
3mnasnet1_3train35.556888580322266
4resnet18train18.660082817077637
df_2['time_around']=pd.to_numeric(df_2.time.str[:6])
df_2.head()
model_2type_2timetime_around
0mnasnet0_5train28.52763652801513728.527
1mnasnet0_75train34.1054868698120134.105
2mnasnet1_0train34.3137741088867234.313
3mnasnet1_3train35.55688858032226635.556
4resnet18train18.66008281707763718.660
res=pd.concat([df_1,df_2],axis=1).pivot(index=['model_2','type_2'],columns='pricision', values='time_around').unstack(1)
res.head()
pricisiondoublefloathalf
type_2inferencetraininferencetraininferencetrain
model_2
densenet121144.11417.20015.636093.35719.772088.976
densenet161511.171290.20031.7500136.62027.5540144.310
densenet169175.80511.40021.5980104.83026.3700121.550
densenet201223.96654.36026.1690129.33033.3930118.940
mnasnet0_511.8748.2328.038928.5276.929427.197
res.columns = res.columns.map(lambda x :x[1]+'_'+x[0])
res.head()
inference_doubletrain_doubleinference_floattrain_floatinference_halftrain_half
model_2
densenet121144.11417.20015.636093.35719.772088.976
densenet161511.171290.20031.7500136.62027.5540144.310
densenet169175.80511.40021.5980104.83026.3700121.550
densenet201223.96654.36026.1690129.33033.3930118.940
mnasnet0_511.8748.2328.038928.5276.929427.197
res=res.sort_index(axis=1,ascending=False)
res.head()
train_halftrain_floattrain_doubleinference_halfinference_floatinference_double
model_2
densenet12188.97693.357417.20019.772015.6360144.11
densenet161144.310136.6201290.20027.554031.7500511.17
densenet169121.550104.830511.40026.370021.5980175.80
densenet201118.940129.330654.36033.393026.1690223.96
mnasnet0_527.19728.52748.2326.92948.038911.87
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值