Stop criterion is Infinitive in Perceptron in Sklearn I read code in book "Hand-on Machine Learning in Sklearn and TensorFlow" by Aurelien Geron
from sklearn.linear_model import Perceptron
per_clf = Perceptron(max_iter=100, tol=-np.infty, random_state=42)

As I understand in this document  about Perceptron method
tol argument is the stop criterion and the iteration will stop if
loss > previous_loss - tol
So with tol is negative infinitive(tol= -np.infty) the loss will always need so be huge to stop iteration.
And the epoch will always reach the max_iter in this situation.
Is my thinking right?

The iteration stops when $\text{loss} > \text{previous_loss} - \text{tol}$ that amounts to $\text{previous_loss} - \text{loss} < \text{tol}$.  $\text{previous_loss} - \text{loss} < \text{-np.infty}$ means $\text{previous_loss} + \text{np.infty} < \text{loss}$ which would be impossible and hence the epoch will always reach the max_iter.
