راهاندازی Jupyter برای پروژههای هوش مصنوعی
🧠 مقدمه
اگر با مدلهای تصویری مثل Stable Diffusion یا ComfyUI کار میکنی، یه مرحله بعدی منطقی استفاده از Jupyter Notebook برای اجرای مستقیم کد، تست مدل، یا خودکارسازی کارهاست.
Jupyter محیطیه که توش میتونی سلول به سلول کد بزنی، نتایج رو بلافاصله ببینی، و از GPU سرورت برای پردازش استفاده کنی — بدون نیاز به UI سنگین.
در این آموزش یاد میگیری:
- نصب و راهاندازی JupyterLab روی سرور GPU یا سیستم شخصی؛
- تنظیم پسورد، امنیت و دسترسی از راه دور؛
- بررسی GPU و CUDA در نوتبوک؛
- و اجرای یک مثال ساده با مدل Stable Diffusion!
⚙️ مرحله ۱: نصب پیشنیازها
اول مطمئن شو Python نسخه 3.9 یا بالاتر روی سیستم نصبه.
در محیط Ubuntu (مثل سرورهای GPU) دستور زیر رو بزن:
sudo apt update && sudo apt install python3-venv python3-pip -y
سپس یک محیط مجازی بساز:
python3 -m venv venv
source venv/bin/activate
و داخلش JupyterLab نصب کن:
pip install jupyterlab ipykernel
🚀 مرحله ۲: اجرای اولیه JupyterLab
برای اولین بار اجرا:
jupyter lab --ip=0.0.0.0 --port=8888
Jupyter حالا روی پورت 8888 فعاله. در لاگها یه لینک شامل token میبینی شبیه این:
http://localhost:8888/lab?token=xxxxxxxxxxxxx
اگر روی سرور هستی، آیپی سرورت رو جای localhost بذار:
برای دسترسی راحتتر و امنتر میتونی پسورد بسازی 👇
🔒 مرحله ۳: تنظیم پسورد برای Jupyter
از دستور زیر داخل ترمینال استفاده کن:
jupyter notebook password
یک پسورد امن بزن (مثلاً MyComfyAI@2024)
حالا میتونی بدون token لاگین کنی.
💡 اگر داری روی سرور GPU عمومی کار میکنی، پیشنهاد میشه از tunnel یا reverse proxy استفاده کنی، مثل SSH tunneling.
⚡ مرحله ۴: فعالسازی GPU و بررسی CUDA
اگر کارت گرافیک داری، مطمئن شو PyTorch با CUDA سازگاره:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
برای تست GPU داخل Jupyter، سلول زیر رو اجرا کن:
import torch
torch.cuda.is_available(), torch.cuda.get_device_name(0)
اگر خروجی شبیه این بود:
(True, 'NVIDIA RTX A5000')
یعنی کارت گرافیکت آمادهست! 🎉
🧩 مرحله ۵: نصب ماژولهای عمومی برای پروژههای تصویری
ماژولهای پرکاربرد برای مدلهای تصویری:
pip install diffusers transformers accelerate safetensors einops pillow
🖼️ مرحله ۶: اجرای نمونه Stable Diffusion با Diffusers
یک نوتبوک جدید باز کن، اسمش رو sdxl_test.ipynb بذار و این کد رو داخلش بریز:
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-2-1-base",
torch_dtype=torch.float16
).to("cuda")
prompt = "A stunning cyberpunk cityscape at night, neon lights, ultra-detailed"
image = pipe(prompt, num_inference_steps=25).images[0]
image.save("output.png")
اگر مراحل درست پیش رفته باشه، خروجی تصویر رو در فولدر پروژهات میبینی 🎨
⚙️ مرحله ۷: اجرای خودکار هنگام بوت سرور (اختیاری)
میخوای Jupyter بعد از ریبوت سرور خودش اجرا بشه؟
کافیه یک سرویس سیستمی بسازی:
nano ~/.local/bin/start_jupyter.sh
داخلش بنویس:
#!/bin/bash
source /home/youruser/venv/bin/activate
nohup jupyter lab --ip=0.0.0.0 --port=8888 > jupyter.log 2>&1 &
سپس:
chmod +x ~/.local/bin/start_jupyter.sh
هر بار سرور بالا بیاد، اجرای اسکریپت رو با cron یا systemd تنظیم کن.
🪄 تفاوت Jupyter با ComfyUI
| ویژگی | Jupyter | ComfyUI |
|---|---|---|
| رابط کاربری | مبتنی بر کد، برای توسعهدهندگان | بصری و نودبیس |
| مناسب برای | تست سریع مدل، LoRA Training، Automation | طراحی Workflow و ترکیب گرافیکی |
| انعطافپذیری | بسیار بالا (کدنویسی کامل) | محدود به نودهای موجود |
| نیاز به GPU؟ | بهتره، ولی میتونه با CPU هم کار کنه | بله، برای اجرای مدلها لازم است |
✨ پیشنهادی: از ComfyUI برای طراحی Workflow و از Jupyter برای آموزش، دیتاستسازی یا اسکریپتنویسی خودکار همزمان استفاده کن.
📦 مرحله ۸: ذخیره، خروجی و اشتراکگذاری نوتبوکها
برای خروجی گرفتن از Notebook به HTML یا PDF:
jupyter nbconvert --to html my_notebook.ipynb
یا برای اشتراک با همکاران:
- آپلود در GitHub
- یا استفاده از nbviewer.org
🧭 جمعبندی
الان میتونی:
- Jupyter رو روی سرور یا لوکال راه بندازی؛
- GPUت رو با Python تست کنی؛
- Stable Diffusion رو مستقیم داخل Notebook اجرا کنی؛
- و پایه رو برای آموزش LoRA یا Automation در Notebook بسازی.