服务器算力测试
文本分类的项目,有个需求是测服务器算力,*终填写表格如下:
需要测试的是一秒能跑多少词,多少条文本,以及每个词和文本占用的内存和显存。
测试方式:去除模型加载等不需要的时间,采取逐步加数据量的方式,通过差值计算。
一、测试运行时间
from time import time
start = time()
for i in range(10):
print(“你要测试的代码段”)
stop = time()
print(“Stop: ” + str(stop))
print(str(stop-start) + “秒”)
二、测内存占用
memory_profiler 每行代码的内存使用情况
首先,安装所需要的模块
pip install memory_profiler
pip install psutil
##导包,函数前加装饰器
from memory_profiler import profile
@profile(precision=4,stream=open(‘memory_profiler.log’,’w+’))
def test():
pass
脚本运行方式:
运行方式不同
mprof run memory_profiler_test.py : 分析结果会保存到一个 .dat格式文件中
mprof plot :把结果以图片到方式显示出来(直接在本目录下运行此命令即可,程序会自动找出.dat文件,也可以直接打开,看具体数值) (要安装 pip install matplotlib)
mprof clean : : 清空所有 .dat文件
三、测显存
pip安装pynvml
pip install nvidia-ml-py3
这一块不是太懂,我自己的使用方式是运行我的模型,然后用再运行下面的代码脚本。
import pynvml
pynvml.nvmlInit()
# 这里的0是GPU id
handle = pynvml.nvmlDeviceGetHandleByIndex(0) # 指定GPU ID ,这里指定为0
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(meminfo.used)
*后的显示结果应该是字节。