راه‌اندازی 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 بذار:

🌐 مثال:
http://YOUR-SERVER-IP:8888/lab?token=xxxxxxxx

برای دسترسی راحت‌تر و امن‌تر می‌تونی پسورد بسازی 👇


🔒 مرحله ۳: تنظیم پسورد برای 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

ویژگیJupyterComfyUI
رابط کاربریمبتنی بر کد، برای توسعه‌دهندگانبصری و نودبیس
مناسب برایتست سریع مدل، 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 بسازی.

اگر نمی‌خواهی وقتت را صرف نصب و تنظیمات سرور کنی، می‌توانی یک سرور کاملاً آماده و از قبل پیاده‌سازی‌شده تهیه کنی و بلافاصله کار با GPU را شروع کنی.