我在训练Lora模型时,当设置的batch_size大于2时(3或4),训练的过程会非常慢,系统预估训练完成要两个小时。此时GPU使用率100%,而且风扇不转,总感觉像是GPU不够用了。
当设置的batch_size为2时,训练就很快,系统预估训练完成要20到30分钟。此时此时GPU使用率浮动在80%到100%之间,而且GPU风扇狂转,这时候应该是GPU够用了。
但是网上大部分资料都说提高batch_size会加快训练速度么?为什么我设置大了反而导致速度异常缓慢呢?
我的电脑配置
GPU:技嘉3080, 10G显存
内存:32G
引用 皆我百晓生 小程序回复内容作答:
你可以使用以下Python代码实现此功能:
def calculate_difference(num):
odd_sum = 0 # 奇数和
even_sum = 0 # 偶数和
for digit in num:
if int(digit) % 2 == 0:
even_sum += int(digit)
else:
odd_sum += int(digit)
return odd_sum - even_sum
# 输入车牌数量
n = int(input())
# 逐行处理车牌
for _ in range(n):
plate = input()
difference = calculate_difference(plate)
print(difference)
这个代码定义了一个名为calculate_difference
的函数,该函数接受一个字符串类型的车牌号作为参数,并计算奇数和减去偶数和的差值。
然后,在主程序中,首先输入车牌数量n
。接下来,使用一个循环来逐行读取车牌号并计算差值,并将结果打印出来。