Customization এবং Control

Latest Technologies - স্টেবল ডিফিউশন (Stable Diffusion)
88
88

Stable Diffusion-এ ইমেজ জেনারেশনের সময় Customization এবং Control খুবই গুরুত্বপূর্ণ, কারণ এটি ব্যবহারকারীকে নির্দিষ্ট ইনপুট বা প্রম্পট অনুযায়ী ইমেজ তৈরি করতে দেয়। মডেলটি কাস্টমাইজ করা এবং নির্দিষ্ট নিয়ন্ত্রণ প্রদান করা হলে আপনি আরও সুনির্দিষ্ট এবং উচ্চমানের ইমেজ তৈরি করতে পারেন। নিচে কিভাবে Stable Diffusion-এ কাস্টমাইজেশন এবং কন্ট্রোল প্রয়োগ করা যায় তার বিস্তারিত ব্যাখ্যা দেওয়া হলো।

Customization এবং Control: পরিচিতি

Stable Diffusion মডেলটি কাস্টমাইজ এবং নিয়ন্ত্রণ করতে ব্যবহারকারী নির্দিষ্ট প্রম্পট, মাস্ক, এবং অন্যান্য প্যারামিটার ব্যবহার করতে পারেন। এর ফলে মডেলটি ব্যবহারকারী নির্দেশ অনুযায়ী ইমেজ তৈরি করতে সক্ষম হয়। কাস্টমাইজেশন এবং কন্ট্রোলের মাধ্যমে আপনি ইমেজের স্টাইল, ফিচার, রঙ, কম্পোজিশন ইত্যাদি কন্ট্রোল করতে পারেন।

কাস্টমাইজেশন এবং কন্ট্রোলের উপায়

  1. প্রম্পট টিউনিং: প্রম্পটের মাধ্যমে আপনি মডেলকে বিস্তারিত নির্দেশনা দিতে পারেন, যেমন একটি নির্দিষ্ট স্টাইল বা পরিবেশ উল্লেখ করা।
  2. Guidance Scale (CFG Scale): এই প্যারামিটার ব্যবহার করে মডেলকে নির্দিষ্ট প্রম্পট অনুযায়ী কতটা কঠোরভাবে ফলো করতে হবে তা নির্ধারণ করা যায়।
  3. মাল্টিপল প্রম্পট (Prompt Combination): একাধিক প্রম্পট বা শর্ত যোগ করে আপনি আরও কাস্টম ইমেজ তৈরি করতে পারেন।
  4. ইমেজ কন্ডিশনিং: একটি নির্দিষ্ট ইমেজ বা মাস্ক ব্যবহার করে মডেলকে নির্দেশ দেওয়া যায় কোন অংশে ফোকাস করতে হবে বা কোন অংশে পরিবর্তন করতে হবে।
  5. স্টাইল ট্রান্সফার: কাস্টম স্টাইল বা আর্টিস্টিক প্রম্পট ব্যবহার করে ইমেজের আর্ট স্টাইল কন্ট্রোল করা যায়।

১. প্রম্পট টিউনিং

প্রম্পটের মাধ্যমে ইমেজ কেমন দেখতে হবে তা নির্দেশনা দেওয়া হয়। আপনি যদি নির্দিষ্ট স্টাইল, মুড, বা ফিচার উল্লেখ করেন তবে মডেল সেভাবেই ইমেজ তৈরি করবে।

  • উদাহরণ: "A fantasy forest with glowing blue mushrooms, digital art, highly detailed"
  • এই প্রম্পটে মডেলকে নির্দেশ দেওয়া হয়েছে কী ধরনের ফিচার থাকবে এবং ইমেজটি কেমন দেখতে হবে।

২. Guidance Scale (CFG Scale)

Guidance Scale মডেলকে নির্দেশ করে যে কতটা জোরালোভাবে প্রম্পট অনুসরণ করতে হবে। এটি মূলত Classifier-Free Guidance (CFG) হিসেবে পরিচিত। উচ্চতর স্কেল মানে মডেলটি প্রম্পট কঠোরভাবে অনুসরণ করবে, আর নিম্ন স্কেল মানে এটি আরও সৃজনশীলভাবে ইমেজ তৈরি করবে।

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4").to("cuda")
prompt = "A futuristic cityscape with flying cars"
guidance_scale = 7.5  # প্রম্পট অনুসরণের মাত্রা

image = pipe(prompt, guidance_scale=guidance_scale).images[0]
image.save("controlled_output.png")
  • Guidance Scale এর মান সাধারণত ৭ থেকে ১৫ এর মধ্যে থাকে, তবে এটি পরিবর্তন করে আপনি ইমেজের আউটপুট পরিবর্তন দেখতে পারেন।

৩. মাল্টিপল প্রম্পট (Prompt Combination)

Stable Diffusion একাধিক প্রম্পট বা শর্ত ব্যবহার করে ইমেজ জেনারেশন করতে পারে। এতে ইমেজের বিভিন্ন ফিচার এবং স্টাইল একত্রে ব্যবহার করা যায়।

  • উদাহরণ: "A dragon in a snowy mountain, intricate design, realistic" এবং "digital painting, concept art"

এই ধরনের প্রম্পট কম্বিনেশন ব্যবহার করে আপনি ইমেজের বিভিন্ন দিক নির্ধারণ করতে পারেন।

৪. ইমেজ কন্ডিশনিং

ইমেজ কন্ডিশনিংয়ের মাধ্যমে একটি নির্দিষ্ট ইনপুট ইমেজ ব্যবহার করে তার ওপর ভিত্তি করে ইমেজ জেনারেট করা যায়। উদাহরণস্বরূপ, যদি আপনি একটি মুখের ছবি দেন এবং প্রম্পট হিসেবে "A futuristic robot face" উল্লেখ করেন, মডেল সেই অনুযায়ী ইমেজটি পরিবর্তন করবে।

from diffusers import StableDiffusionInpaintPipeline

pipe = StableDiffusionInpaintPipeline.from_pretrained("runwayml/stable-diffusion-inpainting").to("cuda")

# মাস্ক এবং ইমেজ লোড করা
input_image = Image.open("face_image.png")
mask_image = Image.open("mask_image.png")

# প্রম্পট দিয়ে ইমেজ জেনারেট করা
prompt = "A robotic face with futuristic features"
output_image = pipe(prompt=prompt, image=input_image, mask_image=mask_image).images[0]
output_image.save("inpainted_image.png")

৫. স্টাইল ট্রান্সফার

স্টাইল ট্রান্সফারের মাধ্যমে আপনি একটি নির্দিষ্ট আর্টিস্টিক স্টাইল বা ফরম্যাট ব্যবহার করে ইমেজ তৈরি করতে পারেন। উদাহরণস্বরূপ:

  • "A cityscape, in the style of Van Gogh"
  • "A portrait of a woman, Renaissance art style"

কাস্টমাইজেশন এবং কন্ট্রোলের উদাহরণ

  1. মুড এবং পরিবেশ কন্ট্রোল:
    • প্রম্পট: "A serene lake under a starry sky, calm and peaceful, photorealistic"
    • গাইডেন্স স্কেল: 8.5
    • আউটপুট: একটি শান্ত পরিবেশে একটি প্রাকৃতিক দৃশ্য।
  2. স্টাইল কন্ট্রোল:
    • প্রম্পট: "A digital painting of an ancient warrior, in the style of Japanese ink art"
    • আউটপুট: জাপানি ইঙ্ক আর্ট স্টাইলে একটি যোদ্ধার ডিজিটাল পেইন্টিং।

মডেল কাস্টমাইজেশনের আরও টিপস

  • Seed Control: ইমেজ র্যান্ডমাইজেশনে কন্ট্রোল রাখতে seed সেট করুন, যাতে প্রতিবার একই ইনপুট দিলে একই আউটপুট পাওয়া যায়।
  • ইমেজ রেজোলিউশন সেট করা: ইমেজের আকার ও গুণগত মান কন্ট্রোল করতে আউটপুট ইমেজের রেজোলিউশন সেট করুন।
  • Iteration এবং Sampling Method পরিবর্তন: মডেলের পারফরম্যান্স বাড়াতে এবং ইমেজের গুণগত মান বাড়াতে ডিফিউশন মডেলের ইটারেশন সংখ্যা এবং স্যাম্পলিং মেথড পরিবর্তন করুন।

সারসংক্ষেপ

Stable Diffusion-এ কাস্টমাইজেশন এবং কন্ট্রোলের মাধ্যমে মডেলের আউটপুট আরও নির্দিষ্ট, সৃজনশীল এবং বাস্তবসম্মত করা যায়। প্রম্পট টিউনিং, গাইডেন্স স্কেল, মাল্টিপল প্রম্পট, ইমেজ কন্ডিশনিং, এবং স্টাইল ট্রান্সফার ব্যবহার করে আপনি নির্দিষ্ট স্টাইল, মুড, এবং কম্পোজিশন অনুযায়ী ইমেজ তৈরি করতে পারেন। সঠিক কাস্টমাইজেশন পদ্ধতি ব্যবহার করে Stable Diffusion-এর মতো মডেল থেকে আরও ভালো আউটপুট পাওয়া সম্ভব।

Custom মডেল ব্যবহার এবং নিজের ইমেজ জেনারেশন কন্ট্রোল করা

98
98

Stable Diffusion বা অন্যান্য জেনারেটিভ মডেল ব্যবহার করে Custom মডেল তৈরি এবং নিজের ইমেজ জেনারেশন কন্ট্রোল করা সম্ভব। Custom মডেল ব্যবহার করলে আপনি মডেলটিকে আপনার প্রয়োজন অনুযায়ী ট্রেন করতে পারেন এবং নিজের ইনপুট বা কন্ট্রোল দিয়ে ইমেজ জেনারেশন করতে পারেন।

Custom মডেল তৈরি এবং ব্যবহার করার ধাপসমূহ

ডেটা সংগ্রহ এবং প্রস্তুতি:

  • প্রথমে, আপনার মডেল ট্রেন করার জন্য ডেটাসেট সংগ্রহ করতে হবে। উদাহরণস্বরূপ, যদি আপনি একটি বিশেষ স্টাইলে ইমেজ জেনারেট করতে চান, তাহলে ঐ স্টাইলে বিভিন্ন ইমেজ সংগ্রহ করুন।
  • ডেটাসেট প্রস্তুত করার সময়, প্রতিটি ইমেজ সঠিক আকারে রিসাইজ করুন এবং টেক্সট লেবেল বা ট্যাগ যোগ করুন (যদি টেক্সট-টু-ইমেজ মডেল ব্যবহার করেন)।

মডেল আর্কিটেকচার নির্বাচন:

  • আপনার কাজের জন্য উপযুক্ত মডেল আর্কিটেকচার নির্বাচন করুন। Stable Diffusion, DALL·E, বা GAN-এর মতো মডেল নির্বাচন করা যেতে পারে।
  • যদি আপনার কাজ Diffusion মডেল বা GAN ভিত্তিক হয়, তবে সেই মডেলগুলির কনফিগারেশন এবং হাইপারপ্যারামিটার পরিবর্তন করতে হবে।

ট্রান্সফার লার্নিং এবং ফাইন-টিউনিং:

  • আপনার সংগ্রহ করা ডেটাসেট দিয়ে প্রি-ট্রেন করা মডেল (যেমন: Stable Diffusion) ফাইন-টিউন করুন। এতে মডেলটি আপনার ডেটাসেটের বৈশিষ্ট্যগুলি শেখে এবং কাস্টমাইজড ইমেজ তৈরি করতে সক্ষম হয়।
  • PyTorch বা TensorFlow ব্যবহার করে ট্রেনিং করা যায়। উদাহরণস্বরূপ:

Custom ইমেজ জেনারেশন এবং কন্ট্রোল:

  • ট্রেনিং শেষে, আপনি আপনার কাস্টম মডেল দিয়ে ইমেজ জেনারেশন শুরু করতে পারেন। ইমেজ জেনারেশনে আপনার কন্ট্রোল বাড়ানোর জন্য বিভিন্ন ইনপুট প্যারামিটার বা কন্ডিশনাল ইনপুট ব্যবহার করা যায়।
  • আপনি "prompt" প্যারামিটার পরিবর্তন করে টেক্সট ইনপুট দিয়ে ইমেজের কন্ট্রোল করতে পারেন। এছাড়া, ইমেজ ইনপুট ব্যবহার করে Inpainting বা Image-to-Image জেনারেশন করতে পারেন।

Image-to-Image জেনারেশন (Img2Img):

  • Img2Img পদ্ধতিতে একটি ইনপুট ইমেজ ব্যবহার করে সেটির উপর নির্দিষ্ট পরিবর্তন বা ফিল্টার প্রয়োগ করে নতুন ইমেজ তৈরি করা যায়। উদাহরণ:
  • এখানে "base_image.png" আপনার ইনপুট ইমেজ এবং "prompt" অনুযায়ী ইমেজের পরিবর্তন হবে। "strength" প্যারামিটার দিয়ে আপনি কতটুকু পরিবর্তন হবে তা কন্ট্রোল করতে পারেন (০ থেকে ১ এর মধ্যে)।

কন্ট্রোলিং মডেল পারামিটার এবং হাইপারপ্যারামিটার:

  • আপনার ইমেজ জেনারেশনের আরও কন্ট্রোল পেতে, আপনি মডেলের বিভিন্ন হাইপারপ্যারামিটার পরিবর্তন করতে পারেন। উদাহরণস্বরূপ:
    • লার্নিং রেট: ট্রেনিং এর গতি কন্ট্রোল করতে।
    • ব্যাচ সাইজ: বড় ব্যাচ সাইজ মেমোরি বেশি খরচ করে কিন্তু ট্রেনিং দ্রুত হয়।
    • Diffusion স্টেপ সংখ্যা: Diffusion মডেল ব্যবহারের সময় কতগুলো স্টেপে ইমেজ পুনর্গঠন করা হবে তা নির্ধারণ করা যায়।

Custom মডেল এবং কন্ট্রোলের সুবিধা

  1. সৃজনশীলতা এবং বৈচিত্র্য:
    • Custom মডেল ব্যবহার করলে আপনি বিশেষ ধরনের ইমেজ বা ডিজাইন তৈরি করতে পারেন, যা স্ট্যান্ডার্ড মডেল থেকে আলাদা এবং আরও সৃজনশীল হতে পারে।
  2. বিশেষায়িত কাজের জন্য উপযোগী:
    • আপনার প্রয়োজন অনুযায়ী মডেল ট্রেন করলে তা বিশেষ কাজের জন্য উপযোগী হবে। উদাহরণস্বরূপ, একটি মেডিক্যাল ইমেজিং মডেল, যা বিশেষ ধরনের রোগের ছবি জেনারেট করতে সক্ষম।
  3. ডেটা এজমেন্টেশন:
    • Custom মডেল ব্যবহার করে কৃত্রিমভাবে ডেটাসেট তৈরি করা যায়, যা মেশিন লার্নিং মডেল ট্রেনিংয়ের সময় সহায়ক। বিশেষ করে, যখন পর্যাপ্ত পরিমাণ ডেটা পাওয়া যায় না, তখন Custom মডেল দ্বারা ডেটা এজমেন্ট করা যায়।

চ্যালেঞ্জ এবং সীমাবদ্ধতা

  • বড় ডেটাসেট এবং কম্পিউটেশনাল রিসোর্স প্রয়োজন: Custom মডেল ট্রেনিংয়ের জন্য বড় ডেটাসেট এবং উচ্চ ক্ষমতাসম্পন্ন GPU প্রয়োজন, যা সবসময় সহজলভ্য নয়।
  • সময় এবং ব্যয়: শূন্য থেকে মডেল ট্রেন করা বা ফাইন-টিউনিং করা সময়সাপেক্ষ এবং কম্পিউটেশনাল খরচ বেশি হতে পারে।
  • মডেল টিউনিং এবং অপটিমাইজেশনের দক্ষতা প্রয়োজন: Custom মডেল ফাইন-টিউনিং এবং হাইপারপ্যারামিটার টিউনিং সঠিকভাবে না করলে মডেলটি কার্যকর হবে না।

উপসংহার

Custom মডেল ব্যবহার এবং নিজের ইমেজ জেনারেশন কন্ট্রোল করা একটি অত্যন্ত শক্তিশালী পদ্ধতি, যা বিভিন্ন শিল্পে, বিশেষ করে ডিজিটাল আর্ট, গেমিং, VR, এবং বিশেষায়িত ডোমেইনে ব্যবহার করা যেতে পারে। সঠিক ডেটাসেট এবং মডেল আর্কিটেকচার নির্বাচন করে মডেল ফাইন-টিউনিং করলে আপনি আপনার কাস্টম মডেলকে নিজের প্রয়োজন অনুযায়ী পরিচালনা করতে সক্ষম হবেন।

Guidance Scale এবং অন্যান্য Parameter পরিবর্তন করা

106
106

Guidance Scale এবং অন্যান্য প্যারামিটারগুলি সাধারণত ডিফিউশন মডেলের ইনপুট হিসাবে ব্যবহৃত হয়, বিশেষ করে যখন আপনি স্টেবল ডিফিউশন বা অন্যান্য জেনারেটিভ মডেল ব্যবহার করছেন। এখানে Guidance Scale এবং অন্যান্য প্যারামিটারগুলি সম্পর্কে কিছু গুরুত্বপূর্ণ তথ্য দেওয়া হলো:

১. Guidance Scale

  • Description: Guidance Scale একটি গুরুত্বপূর্ণ প্যারামিটার যা ইনপুট টেক্সটের প্রভাবকে নিয়ন্ত্রণ করে। এটি প্রাথমিকভাবে মডেলকে নির্দেশ করে যে ইনপুটের সাথে কতটা দৃঢ়ভাবে অনুসরণ করতে হবে।
  • Higher Values: উচ্চ মানের Guidance Scale (যেমন ৭-২০) প্রায়ই মডেলকে ইনপুট টেক্সটের প্রভাবকে বাড়িয়ে দেয়, ফলে ফলাফল আরও প্রাসঙ্গিক এবং নির্দিষ্ট হয়।
  • Lower Values: নিম্ন মানের Guidance Scale (যেমন ১-৩) মডেলকে কিছুটা স্বাধীনভাবে কাজ করার অনুমতি দেয়, ফলে ফলাফলগুলি আরও বৈচিত্র্যময় কিন্তু কখনও কখনও অপ্রাসঙ্গিক হতে পারে।

২. Other Parameters

  • Steps: এটি নির্দেশ করে যে কতগুলো ধাপে মডেল কাজ করবে। সাধারণত, আরও বেশি ধাপ মানে আরও ভাল ফলাফল, তবে এটি প্রসেসিং সময় বাড়ায়।
  • Seed: এটি একটি সংখ্যা যা মডেলকে নির্দিষ্ট একটি আউটপুট তৈরি করতে সাহায্য করে। একই Seed ব্যবহার করলে একই ইনপুটের জন্য একই আউটপুট পাওয়া যাবে।
  • Width & Height: আপনি আউটপুট ইমেজের আকার নির্ধারণ করতে পারেন। অধিকাংশ মডেল একটি নির্দিষ্ট আকারে কাজ করে, সুতরাং সঠিক অনুপাত বজায় রাখা গুরুত্বপূর্ণ।
  • Sampling Method: বিভিন্ন স্যাম্পলিং পদ্ধতি (যেমন DDIM, PLMS) ব্যবহার করা যেতে পারে, যা বিভিন্ন ফলাফলের গুণমান এবং বৈচিত্র্য প্রদান করে।

৩. Example Usage

from diffusers import StableDiffusionPipeline

# Load the pipeline
pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")

# Set the parameters
guidance_scale = 7.5
num_inference_steps = 50
seed = 42

# Generate image
image = pipeline(prompt="A fantasy landscape", 
                 guidance_scale=guidance_scale, 
                 num_inference_steps=num_inference_steps, 
                 generator=torch.manual_seed(seed)).images[0]

# Save the image
image.save("fantasy_landscape.png")

৪. পরামর্শ

  • Experimentation: বিভিন্ন প্যারামিটারগুলির সাথে পরীক্ষা করুন, বিশেষ করে Guidance Scale, কারণ এটি ফলাফলের গুণমান ও প্রাসঙ্গিকতা বড় ধরনের প্রভাব ফেলে।
  • Visualization: বিভিন্ন কনফিগারেশনগুলি ব্যবহার করে উৎপন্ন ইমেজগুলি পর্যবেক্ষণ করুন, যাতে আপনি আপনার পছন্দসই ফলাফলগুলির জন্য সঠিক সেটিংস খুঁজে বের করতে পারেন।
Content added || updated By

উদাহরণসহ ইমেজ জেনারেশন কন্ট্রোল করা

90
90

ইমেজ জেনারেশন কন্ট্রোল করা মানে হলো, আপনি যেভাবে চান সেভাবে ছবি তৈরি করতে সক্ষম হওয়া। এতে বিভিন্ন উপায় রয়েছে, যেমন:

১. টেক্সট প্রম্পট:

আপনি একটি স্পষ্ট ও বিস্তারিত টেক্সট প্রম্পট প্রদান করে একটি ইমেজ জেনারেট করতে পারেন। উদাহরণস্বরূপ:

  • প্রম্পট: "একটি সূর্যাস্তের দৃশ্য, যেখানে আকাশে গোলাপি ও কমলা রঙের মেঘ, এবং সামনের দিকে একটি শান্ত হ্রদ।"

২. স্টাইল কন্ট্রোল:

কিছু ইমেজ জেনারেশন টুলে, আপনি বিশেষ একটি স্টাইল বেছে নিতে পারেন। উদাহরণস্বরূপ:

  • স্টাইল: "অ্যাবস্ট্রাক্ট আর্ট" বা "রিয়ালিজম"।

৩. ভ্যারিয়েবল কন্ট্রোল:

আপনি কিছু ভ্যারিয়েবল কন্ট্রোল করে ছবির আকার, রং বা শৈলী পরিবর্তন করতে পারেন। উদাহরণস্বরূপ:

  • ভ্যারিয়েবল: "বৃহৎ আকার, উজ্জ্বল রং"।

৪. ফাইন-টিউনিং:

কিছু প্ল্যাটফর্মে, আপনি আগে থেকেই তৈরি ইমেজগুলির ভিত্তিতে ফাইন-টিউন করতে পারেন। উদাহরণস্বরূপ:

  • আপনি একটি বেস ইমেজ নিতে পারেন এবং তার উপর কিছু পরিবর্তন করতে পারেন, যেমন "এই ছবির পেছনে একটি পাহাড় যোগ করুন।"

৫. একাধিক ইমেজ জেনারেশন:

কিছু প্ল্যাটফর্মে, আপনি একাধিক ছবি তৈরি করতে পারেন এবং তার মধ্যে থেকে বেছে নিতে পারেন। উদাহরণস্বরূপ:

  • "একটি বনভূমির দৃশ্যের তিনটি ভিন্ন রূপ তৈরি করুন।"

উদাহরণ:

ধরুন, আপনি একটি "মেঘলা দিনে একটি গাড়ি রাস্তার পাশে দাঁড়িয়ে" এর ছবি তৈরি করতে চান। আপনি প্রম্পট ব্যবহার করতে পারেন:

  • প্রম্পট: "একটি মেঘলা দিনে একটি লাল গাড়ি রাস্তার পাশে দাঁড়িয়ে আছে, পিছনে সবুজ গাছ ও একটি পাহাড়।"

এই ধরণের কন্ট্রোল ব্যবহার করে, আপনি আপনার প্রয়োজন অনুসারে সঠিক ছবি তৈরি করতে পারবেন।

Batch Processing এবং Multiple Image Generation

96
96

Stable Diffusion-এ Batch Processing এবং Multiple Image Generation করার জন্য, আপনাকে কিছু বিশেষ কৌশল ব্যবহার করতে হবে। এখানে আমি একটি সাধারণ নির্দেশিকা দিচ্ছি:

১. প্রয়োজনীয় লাইব্রেরি ইনস্টল করুন

প্রথমে, আপনার পাইটর্চ এবং স্টেবল ডিফিউশন ইনস্টল থাকতে হবে। যদি এটি ইনস্টল করা না থাকে, তাহলে নিম্নলিখিত কমান্ড ব্যবহার করে ইনস্টল করুন:

pip install torch torchvision torchaudio
pip install diffusers
pip install transformers
pip install accelerate

২. মডেল লোড করুন

স্টেবল ডিফিউশন মডেল লোড করতে হবে। নিম্নলিখিত কোডের মাধ্যমে এটি করতে পারেন:

from diffusers import StableDiffusionPipeline

model_id = "CompVis/stable-diffusion-v1-4"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

৩. Batch Processing এর জন্য কোড

Batch Processing করার জন্য আপনি একটি লুপ ব্যবহার করতে পারেন যা একাধিক ইমেজ জেনারেট করবে। উদাহরণস্বরূপ:

import torch

# Prompts list
prompts = [
    "A fantasy landscape",
    "A futuristic city",
    "An underwater scene",
]

# Generate images
for prompt in prompts:
    with torch.no_grad():
        image = pipe(prompt).images[0]
        image.save(f"{prompt}.png")  # Save each image with the prompt as filename

৪. Multiple Image Generation

আপনি একই সময়ে একাধিক ইমেজ জেনারেট করতে পারেন। এজন্য, একটি Batch Size নির্ধারণ করুন:

from PIL import Image

# Batch size
batch_size = 3
prompt_batches = [prompts[i:i + batch_size] for i in range(0, len(prompts), batch_size)]

# Generate images in batches
for batch in prompt_batches:
    with torch.no_grad():
        images = pipe(batch).images
        for idx, img in enumerate(images):
            img.save(f"output_image_{idx}.png")  # Save images from batch

৫. অতিরিক্ত টিপস

  • GPU ব্যবহার: Batch Processing করার সময় GPU ব্যবহারের জন্য pipe.to("cuda") ব্যবহার করুন।
  • সেটিংস: ইমেজের গুণমান এবং আকার পরিবর্তন করার জন্য বিভিন্ন প্যারামিটার যেমন num_inference_steps, guidance_scale ইত্যাদি সেট করতে পারেন।
Promotion