Automatic m.half() profile on x.half()
This commit is contained in:
parent
0bd9c48609
commit
3004fb5bc1
|
|
@ -88,7 +88,8 @@ def profile(x, ops, n=100, device=None):
|
||||||
print(torch.__version__, device.type, torch.cuda.get_device_properties(0) if device.type == 'cuda' else '')
|
print(torch.__version__, device.type, torch.cuda.get_device_properties(0) if device.type == 'cuda' else '')
|
||||||
print(f"\n{'Params':>12s}{'GFLOPS':>12s}{'forward (ms)':>16s}{'backward (ms)':>16s}{'input':>24s}{'output':>24s}")
|
print(f"\n{'Params':>12s}{'GFLOPS':>12s}{'forward (ms)':>16s}{'backward (ms)':>16s}{'input':>24s}{'output':>24s}")
|
||||||
for m in ops if isinstance(ops, list) else [ops]:
|
for m in ops if isinstance(ops, list) else [ops]:
|
||||||
m = m.to(device) if hasattr(m, 'to') else m
|
m = m.to(device) if hasattr(m, 'to') else m # device
|
||||||
|
m = m.half() if hasattr(m, 'half') and isinstance(x, torch.Tensor) and x.dtype is torch.float16 else m # type
|
||||||
dtf, dtb, t = 0., 0., [0., 0., 0.] # dt forward, backward
|
dtf, dtb, t = 0., 0., [0., 0., 0.] # dt forward, backward
|
||||||
try:
|
try:
|
||||||
flops = thop.profile(m, inputs=(x,), verbose=False)[0] / 1E9 * 2 # GFLOPS
|
flops = thop.profile(m, inputs=(x,), verbose=False)[0] / 1E9 * 2 # GFLOPS
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue