Bắt đầu ngayBắt đầu miễn phí

Chỉnh sửa ảnh tùy biến

Tạo ảnh bằng AI đã rất ấn tượng, nhưng một số mô hình còn hỗ trợ chỉnh sửa ảnh tùy biến — một biến thể đa phương thức của tạo ảnh, nhận cả prompt văn bản và ảnh nguồn. Hãy thử biến đổi bức chân dung tự họa nổi tiếng của Van Gogh thành nhân vật hoạt hình Snoopy bằng StableDiffusionControlNetPipeline:

Famous Van Gogh painting

Lưu ý: Suy luận với các mô hình diffusion có thể mất nhiều thời gian, nên chúng tôi đã tải sẵn ảnh đã tạo cho bạn. Chạy các prompt khác nhau sẽ không tạo ảnh mới.

Phiên bản ảnh đã qua bộ lọc Canny đã được tạo sẵn (canny_image). Các lớp StableDiffusionControlNetPipelineControlNetModel đã được import từ thư viện diffusers. Danh sách bộ sinh (generator) đã được tạo.

Bài tập này là một phần của khóa học

Mô hình đa phương thức với Hugging Face

Xem khóa học

Hướng dẫn bài tập

  • Tải ControlNetModel từ checkpoint lllyasviel/sd-controlnet-canny.
  • Tải StableDiffusionControlNetPipeline từ checkpoint runwayml/stable-diffusion-v1-5, truyền vào controlnet đã cung cấp.
  • Chạy pipeline với prompt, canny_image, cùng negative_promptgenerator đã cho.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

## NOTE: no imports are required for this exercise
# Load a ControlNetModel from the pretrained checkpoint
controlnet = ____("____", torch_dtype=torch.float16)

# Load a pretrained StableDiffusionControlNetPipeline using the ControlNetModel
pipe = ____(
    "____", controlnet=____, torch_dtype=torch.float16
)
pipe = pipe.to("cuda")

prompt = ["Snoopy, best quality, extremely detailed"]

# Run the pipeline
output = pipe(
    ____,
    ____,
    negative_prompt=["monochrome, lowres, bad anatomy, worst quality, low quality"],
    generator=____,
    num_inference_steps=20,
)

plt.imshow(output.images[0])
plt.show()
Chỉnh sửa và Chạy Mã