feat: support third-party oneflow device extension #549
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes of this PR made:
_init_distributed_env
, import oneflow’s third-party library (i.e., oneflow-npu and oneflow-xpu) based on the actual device in use, because _DistributeUtil is only called once, thus we will import the required third-party library only once.BasePipeline
: if the user provides themodel_path
parameter, thenBasePipeline
will load the model based on this parameter (which has a higher priority than the model configuration in config’smodel.cfg.pretrained_model_path
). If this parameter is not provided, the default will be to usemodel.cfg.pretrained_model_path
.tokenization.tokenizer
in the config does not have apretrained_model_path
set, the default will be to use the filetokenizer.model
undermodel.cfg.pretrained_model_path
(this is usually correct, as it is the default storage location and naming used by hugging face).