如何让 tar 不为 None?

问题描述

不知道为什么最后一行显示tar为0,形状为(None,None)。
但是,最后的第二行显示 tar 的形状是 (64,27)。
如何让tar不为None?

train_step_signature = [
    tf.TensorSpec(shape=(None,None),dtype=tf.int64),tf.TensorSpec(shape=(None,]

@tf.function(input_signature=train_step_signature)
def train_step(inp,tar):
    print(tar)
    
for epoch in range(EPOCHS):
    start = time.time()
  
    train_loss.reset_states()
    train_accuracy.reset_states()

    # inp -> portuguese,tar -> english
    for (batch,(inp,tar)) in enumerate(train_dataset):

        print(tar)
        train_step(inp,tar)
        break

输出是:

tf.Tensor(  
[[1942  777 1186 ...    0    0    0]  
 [1942   22  164 ...    0    0    0]  
 [1942    1  410 ...    0    0    0]  
 ...   
 [1942  824  895 ...    0    0    0]  
 [1942  393  356 ...    0    0    0]  
 [1942 1518 1209 ...    0    0    0]],shape=(64,27),dtype=int64)  
 Tensor("tar:0",shape=(None,dtype=int64)

在第九行添加两行时,我得到了错误的句子:
类型错误不支持 - 的操作数类型:'nonetype' 和 'int'
如何解决这个问题?

train_step_signature = [
    tf.TensorSpec(shape=(None,tar):
    print(tar)
    img=tf.pad(tar[:,0:2],[[0,0],[0,tar.shape[1]-2]])
    print(img)

for epoch in range(EPOCHS):
    start = time.time()
  
    train_loss.reset_states()
    train_accuracy.reset_states()

    # inp -> portuguese,tar)
        break

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)