【发布时间】:2021-07-02 06:57:01
【问题描述】:
import tensorflow as tf
import numpy as np
x=np.random.rand(20,10,64)
y=np.random.randint(10,size=(20,1))
class mymodel(tf.keras.Model):
def __init__(self):
super(mymodel,self).__init__()
self.l1 = tf.keras.layers.LSTM(10,return_state=True)
self.l2 = tf.keras.layers.Dense(10,activation=tf.keras.activations.softmax)
def call(self,input):
print('hi')
x=self.l1(input)
# tf.print(x[0],x[1],x[2])
x=self.l2(x[0])
return x
model =mymodel()
model.compile(loss = tf.keras.losses.SparseCategoricalCrossentropy())
model.fit(x,y)
当我运行上面的代码时,我得到了 2 hi 打印出来。在这个例子中,只有 1 个 epoch 并且在那个 epoch 1 批次(批次大小为 20)内,那么为什么调用方法被调用了两次。
【问题讨论】:
标签: tensorflow