【问题标题】:How can I output some data during a model.fit() run in tensorflow?如何在 tensorflow 中运行 model.fit() 期间输出一些数据?
【发布时间】:2020-06-05 12:01:10
【问题描述】:

我想在model.fit() 运行期间而不是之前打印张量的值和/或形状。 在 PyTorch 中,我可以将 print(input.shape) 语句放入 model.forward() 函数中。

TensorFlow中有类似的东西吗?

【问题讨论】:

    标签: python tensorflow neural-network pytorch


    【解决方案1】:

    您可以将一个回调对象传递给model.fit()方法,然后在拟合期间的不同阶段执行操作。

    https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/Callback

    class MyCustomCallback(tf.keras.callbacks.Callback):
    
      def on_train_batch_begin(self, batch, logs=None):
        print('Training: batch {} begins at {}'.format(batch, datetime.datetime.now().time()))
    
      def on_train_batch_end(self, batch, logs=None):
        print('Training: batch {} ends at {}'.format(batch, datetime.datetime.now().time()))
    
      def on_test_batch_begin(self, batch, logs=None):
        print('Evaluating: batch {} begins at {}'.format(batch, datetime.datetime.now().time()))
    
      def on_test_batch_end(self, batch, logs=None):
        print('Evaluating: batch {} ends at {}'.format(batch, datetime.datetime.now().time()))
    
    
    model = get_model()
    model.fit(x_train, y_train, callbacks=[MyCustomCallback()])
    

    https://www.tensorflow.org/guide/keras/custom_callback

    【讨论】:

    • 回答 OP 的问题@Reactgular,你将如何输出模型训练期间输入的实际数据的形状?更一般地,如何访问on_train_batch_begin 中的训练数据?似乎没有参数可以访问实际的训练数据张量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多