Closed NLP-Peter closed 1 year ago
By default, sockeye-prepare-data
does not use a shared vocabulary. The --shared-vocab
argument turns on vocabulary sharing. This is required to train models that share/tie source and target weights.
Weight tying for sockeye-train
is controlled with the --weight-tying-type
argument. The default value of src_trg_softmax
requires a shared vocabulary (automatically sets --shared-vocab
). This requires the prepared data to also use --shared-vocab
.
To train a model without weight tying, you can add --weight-tying-type none
to the sockeye-train
command. To train a model with weight tying, you can add --shared-vocab
to the sockeye-prepare-data
command.
thanks for your answer. It works for me.
Recently when I am trying to use sockeye3, it always returns an error "Specif or omit --shared-vocab consistently when training and preparing the data" while I am using the sockeye-prepare-data to prepare the data without specifying the shared-vocab. when using sockeye-train, the error shows up. I've confirmed that both the preparing and training procedure did not specify the shared-vocab. So is there anything I can do to fix this problem? or sockeye3 only support shared-vocab?
Best regards Peter