问题描述:
【功能模块】
mindspore.nn.transformer.TransformerEncoder
【操作步骤&问题现象】
1、参数中必须设置seq_length,而实际上只有在参数use_past=True时需要seq_length
2、希望能够调整seq_length为use_past=True时必填,在文本Transformer使用时,seq_length在不同batch会变动,导致无法使用该API
【截图信息】
Encoder中只有EncoderLayer需要seq_length,而EncoderLayer中只有MultiHeadAttention以及use_past=True分支下需要使用,MultiHeadAttention中只有use_past=True分支下需要使用,如果可以设置seq_length在use_past=True时必填会便于使用
解答:
当前MindSpore对输入shape可变的场景支持有限,正在逐步补齐; 建议先将输入数据padding到定长。