# Đến từ DiffusionPipeline

Nếu bạn đã quen thuộc với [DiffusionPipeline](/docs/diffusers/main/vi/api/pipelines/overview#diffusers.DiffusionPipeline) và đang làm việc với [ModularPipeline](/docs/diffusers/main/vi/api/modular_diffusers/pipeline#diffusers.ModularPipeline) lần đầu tiên, một số điểm sẽ hoạt động khác đi. Chúng được liệt kê ở đây để bạn lưu ý trước khi đi qua [quickstart](./quickstart).

- **Việc tải là lười và linh hoạt.** [from_pretrained()](/docs/diffusers/main/vi/api/modular_diffusers/pipeline#diffusers.ModularPipeline.from_pretrained) xây dựng pipeline từ `modular_model_index.json` của kho lưu trữ mà không tải bất kỳ trọng số nào. [load_components()](/docs/diffusers/main/vi/api/modular_diffusers/pipeline#diffusers.ModularPipeline.load_components) sau đó tải chúng, và không nhất thiết phải tải tất cả cùng lúc: mặc định nó tải mọi thứ, nhưng bạn có thể chỉ tải các thành phần được chỉ định bằng `names`, hoặc bộ thành phần cần cho một workflow cụ thể bằng `workflow`. [update_components()](/docs/diffusers/main/vi/api/modular_diffusers/pipeline#diffusers.ModularPipeline.update_components) cho phép bạn tái sử dụng một thành phần mà bạn đã có, hoặc một thành phần khác với thông số kỹ thuật của kho lưu trữ. Xem [Tải thành phần](./modular_pipeline#loading-components) và [Cập nhật thành phần](./modular_pipeline#updating-components).
- **[ModularPipeline](/docs/diffusers/main/vi/api/modular_diffusers/pipeline#diffusers.ModularPipeline) đọc một index khác, `modular_model_index.json`**, nhưng nó cũng hoạt động với một repository chỉ có `model_index.json`, miễn là model có một modular pipeline. Điều ngược lại không đúng: [DiffusionPipeline](/docs/diffusers/main/vi/api/pipelines/overview#diffusers.DiffusionPipeline) và các lớp `AutoPipeline` không hoạt động với một repository chỉ có `modular_model_index.json`.
- **Một lời gọi sẽ trả về trạng thái pipeline**, trong đó cũng chứa các giá trị trung gian (`prompt_embeds`, `latents`, ...). Hãy yêu cầu những gì bạn cần bằng đối số `output`, `output="images"` hoặc `output=["images", "latents"]`, hoặc đọc một thuộc tính của trạng thái, như trong [quickstart](./quickstart#run-a-pipeline). Xem [States](./modular_diffusers_states).
- **Classifier-free guidance được hỗ trợ trong thành phần `guider`**, không phải là đối số gọi `guidance_scale`: `pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0))`. Xem [hướng dẫn về guiders](../using-diffusers/guiders).
- **Không có `callback_on_step_end`**; tuy nhiên, bạn có thể chèn một khối vào vòng lặp khử nhiễu để sử dụng các hàm callback hiện có của mình. Xem [Pipeline dạng module](../using-diffusers/callback#modular-pipelines) trong hướng dẫn về callback.
- **Pipeline là một đồ thị các khối** mà bạn có thể thay đổi (xóa, chèn, thay thế) trước khi xây dựng nó bằng [init_pipeline()](/docs/diffusers/main/vi/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks.init_pipeline); `pipe.blocks` trả về một bản sao, vì vậy hãy chỉnh sửa các khối trước. Xem [Tạo các workflow mới](./quickstart#compose-new-workflows).
- **Việc offload được xử lý bởi một [ComponentsManager](/docs/diffusers/main/vi/api/modular_diffusers/pipeline_components#diffusers.ComponentsManager)**, có thể phục vụ nhiều pipeline chia sẻ các thành phần. Xem [hướng dẫn ComponentsManager](./components_manager#offloading).

