问题描述
不知道为什么最后一行显示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 (将#修改为@)