48 weight_decay: float = 0,
49 ) -> None:
50 if lr <= 0.0:
51 raise ValueError("Invalid learning rate: {}".format(lr)) 52 if eps < 0.0:
53 raise ValueError("Invalid epsilon value: {}".format(eps))
54 if not 0.0 <= betas[0] < 1.0:
61 )
62 if weight_decay < 0:
63 raise ValueError(
64 "Invalid weight_decay value: {}".format(weight_decay) 65 )
66
67 defaults = dict(
50 if lr <= 0.0:
51 raise ValueError("Invalid learning rate: {}".format(lr))
52 if eps < 0.0:
53 raise ValueError("Invalid epsilon value: {}".format(eps)) 54 if not 0.0 <= betas[0] < 1.0:
55 raise ValueError(
56 "Invalid beta parameter at index 0: {}".format(betas[0])
53 raise ValueError("Invalid epsilon value: {}".format(eps))
54 if not 0.0 <= betas[0] < 1.0:
55 raise ValueError(
56 "Invalid beta parameter at index 0: {}".format(betas[0]) 57 )
58 if not 0.0 <= betas[1] < 1.0:
59 raise ValueError(
57 )
58 if not 0.0 <= betas[1] < 1.0:
59 raise ValueError(
60 "Invalid beta parameter at index 1: {}".format(betas[1]) 61 )
62 if weight_decay < 0:
63 raise ValueError(
f-strings are the fastest way to format strings as compared to the following methods:
%
format()
str.join
+
operator to concatinate stringTemplate.substitute
Some less preferred ways to format strings are the following:
from string import Template
menu = ('eggs', 'spam', 42.4)
old_order = "%s and %s: %.2f ¤" % menu # [consider-using-f-string]
beginner_order = menu[0] + " and " + menu[1] + ": " + str(menu[2]) + " ¤"
joined_order = " and ".join(menu[:2])
format_order = "{} and {}: {:0.2f} ¤".format(menu[0], menu[1], menu[2])
named_format_order = "{eggs} and {spam}: {price:0.2f} ¤".format(eggs=menu[0], spam=menu[1], price=menu[2])
template_order = Template('$eggs and $spam: $price ¤').substitute(eggs=menu[0], spam=menu[1], price=menu[2])
Consider using f-strings as shown below:
menu = ('eggs', 'spam', 42.4)
f_string_order = f"{menu[0]} and {menu[1]}: {menu[2]:0.2f} ¤"