如何在重新连接的Jupyter笔记本中记录Keras的培训进度?

如何在重新连接的Jupyter笔记本中记录Keras的培训进度?,keras,jupyter-notebook,tqdm,Keras,Jupyter Notebook,Tqdm,通过Keras回调,可以通过多种方式显示培训进度。可以通过以下方式使用TQM: class EpochProgressBar(keras.callbacks.Callback): def on_train_begin(self, logs={}): self.total_epochs = self.params['epochs'] self.current_epoch = 0 self.pbar = tqdm_notebook(total=

通过Keras回调,可以通过多种方式显示培训进度。可以通过以下方式使用TQM:

class EpochProgressBar(keras.callbacks.Callback):
    def on_train_begin(self, logs={}):
        self.total_epochs = self.params['epochs']
        self.current_epoch = 0
        self.pbar = tqdm_notebook(total=self.total_epochs, desc='epochs')
    def on_epoch_end(self, batch, logs={}):
        self.current_epoch += 1
        #print(f'epoch {self.current_epoch} of epochs {self.total_epochs}')
        self.pbar.update(1);
更简单的是,每个循环都会清除一个简单的基于文本的进度输出:

class ProgressStatus(keras.callbacks.Callback):
    # callbacks = [ProgressStatus()]
    def on_train_begin(self, logs={}):
        self.total_epochs = self.params['epochs']
        self.current_epoch = 0
    def on_epoch_end(self, batch, logs={}):
        self.current_epoch += 1
        clear_output(wait=True)
        print(f'epoch {self.current_epoch} of epochs {self.total_epochs}')
当我重新加载笔记本窗口(或断开与笔记本的连接,然后通过SSH重新连接并在浏览器中再次打开)时,我会丢失不断更新的输出。只是冻结了。当我重新连接到笔记本或重新加载页面时,如何确保输出不断更新


(我知道TensorBoard之类的产品——我希望笔记本电脑中能继续动态显示进度)。

Hey@BlandCorporation——因为这确实是一个关于软件(用于运行统计/机器学习)的问题,而不是关于机器学习的问题,所以本网站不讨论这个问题。“我建议将其移至StackOverflow,我认为这是一个相当合理的问题。”Dougal说得很公平。
class ProgressStatus(keras.callbacks.Callback):
    # callbacks = [ProgressStatus()]
    def on_train_begin(self, logs={}):
        self.total_epochs = self.params['epochs']
        self.current_epoch = 0
    def on_epoch_end(self, batch, logs={}):
        self.current_epoch += 1
        clear_output(wait=True)
        print(f'epoch {self.current_epoch} of epochs {self.total_epochs}')
callbacks = [ProgressStatus()]