1. 数据集过大情况下,使用np.memmap内存映射读取大文件,在前几次程序运行时无错误,今天忽然报错:ValueError: cannot mmap an empty file. 这句话的意思是无法映射空文件,检查原因,发现是需要映射的大文件目录发生了改变,但并未在程序中修改该文件的路径导致。
2. GPU并行进行BERT inference的设置:由于数据量达到百万条,inference的速度相当慢,因此采用多GPU并行对数据进行测试,这里参考了这篇文章的做法,不同之处在于
if torch.cuda.device_count() > 1:
model = nn.DataParallel(model)
这句话没有放在
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")#第一行代码
model.to(device)#第二行代码
这两行代码之间,而是放在它们后面,效果相同。同时,使用多GPU测试时,batch size可以扩展到原来batch size的相应倍数,以提高训练速度。