[Diffusion] Add StableDiffusionInpaint pipeline (#760)

* Update Inpaint pipeline

* Update concat

* Add GaussianRandomKernel

* Update GaussianRandom

* Add vae endoder

* Add unet infer

* Add vae decoder predict

* add PrepareMaskAndMaskedImage

* Add imwrite

* Add time counter

* Fix pipeline

* use FDTensor move

* Fix scaled_linear dpm solver

* Add RGB2BGR
This commit is contained in:
Jack Zhou
2022-12-02 19:30:32 +08:00
committed by GitHub
parent 9531e99948
commit d74e1209ae
12 changed files with 639 additions and 59 deletions

View File

@@ -88,11 +88,13 @@ template <typename T>
void ConcatKernel(const std::vector<FDTensor>& input, FDTensor* output,
int axis) {
auto output_shape = ComputeAndCheckConcatOutputShape(input, axis);
output->Resize(output_shape, TypeToDataType<T>::dtype, output->name,
input[0].device);
FDTensor output_tmp;
output_tmp.Resize(output_shape, TypeToDataType<T>::dtype, output->name,
input[0].device);
ConcatFunctor<T> functor;
functor(input, axis, output);
functor(input, axis, &output_tmp);
*output = std::move(output_tmp);
}
void Concat(const std::vector<FDTensor>& x, FDTensor* out, int axis) {