Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TQM在使用子类模型时激增_Python_Tensorflow_Keras_Tqdm - Fatal编程技术网

Python TQM在使用子类模型时激增

Python TQM在使用子类模型时激增,python,tensorflow,keras,tqdm,Python,Tensorflow,Keras,Tqdm,早上好,下午好,晚上好。 我现在对TF和ML还不熟悉,从漂亮的手册Handsonml2中学到了很多东西 我现在在子类模型页面,但是发生了一些尴尬的事情 通常,当我们训练模型时,我们会看到这一点。 TQM打印每个时代,显示了巨大的进步 然而,当我使用子类模型时,事情是这样的。 似乎课堂上有什么东西干扰了TQM,让它尽可能多地打印。 这些是我的模型类代码 class WideAndDeepModel(keras.models.Model): def __init__(self, unit

早上好,下午好,晚上好。 我现在对TF和ML还不熟悉,从漂亮的手册Handsonml2中学到了很多东西

我现在在子类模型页面,但是发生了一些尴尬的事情

通常,当我们训练模型时,我们会看到这一点。

TQM打印每个时代,显示了巨大的进步

然而,当我使用子类模型时,事情是这样的。

似乎课堂上有什么东西干扰了TQM,让它尽可能多地打印。 这些是我的模型类代码

class WideAndDeepModel(keras.models.Model):
    def __init__(self, units=30, activation="relu", **kwargs):
      super().__init__(**kwargs)
      self.hidden1 = keras.layers.Dense(units, activation=activation)
      self.hidden2 = keras.layers.Dense(units, activation=activation)
      self.main_output = keras.layers.Dense(1)
      self.aux_output = keras.layers.Dense(1)
    
    def call(self, inputs):
      input_A, input_B = inputs
      hidden1 = self.hidden1(input_B)
      hidden2 = self.hidden2(hidden1)
      concat = keras.layers.concatenate([input_A, hidden2])
      main_output = self.main_output(concat)
      aux_output = self.aux_output(hidden2)
      return main_output, aux_output

model = WideAndDeepModel(30, activation="relu")
它会做出奇怪的反应,如图2所示, 如果我使用几乎相同的API,则不会产生任何问题 但要在函数中进行

就像

input_A = keras.layers.Input(shape=[5], name="wide_input")
input_B = keras.layers.Input(shape=[6], name="deep_input")
hidden1 = keras.layers.Dense(30, activation="relu")(input_B)
hidden2 = keras.layers.Dense(30, activation="relu")(hidden1)
concat = keras.layers.concatenate([input_A, hidden2])
output = keras.layers.Dense(1, name="output")(concat)
aux_output = keras.layers.Dense(1, name="aux_output")(hidden2)
model = keras.models.Model(inputs=[input_A, input_B], outputs=[output])
有人知道为什么吗?有可能预防吗? 我会等待答案

*如果我删除Aux输出部分,则不会产生这种结果。
然而,我想知道为什么会发生…

答案非常简单。 Tqdm在新行上打印,如果行太长,无法在一行中显示, 因此,将终端加宽可以简单地解决问题


-问题已解决-

请改进代码的格式,因为当前类
WideAndDeepModel
的函数缩进无效。此外,请尝试您的例子。@flyingdutchman sry对于粗糙的作品,我将尽可能多地编辑。@ML_引擎我的比那些人简单。。。我只是把我的IDE终端弄宽了。。。