हाल ही में, AI द्वारा वीडियो बनाने की तकनीक काफी चर्चा में है। क्या आपने MidJourney या Stable Diffusion से छवियां बनाने की कोशिश की है? आज हम एक कदम आगे बढ़कर AI वीडियो जनरेशन की दुनिया में प्रवेश करेंगे! कल्पना कीजिए – कुछ शब्द टाइप करें और देखें कैसे वे एक चलती-फिरती वीडियो में बदल जाते हैं, या एक स्थिर छवि को जीवंत होते देखें… जादू लगता है, है ना? और यह जादू “पायरामिड फ्लो” नामक टूल के माध्यम से बिल्कुल मुफ्त में आजमाया जा सकता है। इस टूल की सबसे आकर्षक विशेषता है इसका ब्राउज़र-आधारित GUI इंटरफ़ेस। प्रोग्रामिंग में अनुभव न होने पर भी, बस सही सेटअप के साथ कोई भी इसका उपयोग कर सकता है। चलिए, पायरामिड फ्लो के साथ AI वीडियो जनरेशन की रोमांचक दुनिया की खोज करते हैं!
पायरामिड फ्लो क्या है?
पायरामिड फ्लो एक अभिनव AI टूल है, जो टेक्स्ट या इमेज से वीडियो बना सकता है। यह फ्लो मैचिंग तकनीक पर आधारित है और पूरी तरह से ओपन-सोर्स डेटा पर प्रशिक्षित है – यानी यह सभी के लिए निःशुल्क उपलब्ध है।
इसकी प्रमुख विशेषताएं हैं:
- उच्च गुणवत्ता वाला वीडियो जनरेशन (768p रेजोल्यूशन में 10 सेकंड तक, 24FPS)
- टेक्स्ट से वीडियो बनाने की क्षमता
- इमेज से वीडियो में रूपांतरण
- उपयोगकर्ता-मित्र ब्राउज़र-आधारित GUI
- मेमोरी उपयोग का अनुकूलन
आवश्यक सिस्टम आवश्यकताएं
पायरामिड फ्लो को चलाने के लिए आपको निम्नलिखित की आवश्यकता होगी:
- Python 3.8.10 (अनुशंसित वर्जन)
- NVIDIA GPU वाला कंप्यूटर
- Visual Studio Code (अनुशंसित एडिटर)
- CUDA-संगत GPU ड्राइवर
सेटअप प्रक्रिया
Windows पर VSCode का उपयोग करके सेटअप करने की प्रक्रिया समझाएंगे।
Python वर्जन प्रबंधन
सबसे पहले, हमें सही Python वर्जन (3.8.10) का उपयोग सुनिश्चित करना होगा। वर्तमान वर्जन की जांच करें:
python --version
मेरे सिस्टम में Python 3.10.11 था, इसलिए इसे 3.8.10 में बदलना था।
प्रोजेक्ट सेटअप
GitHub से प्रोजेक्ट को क्लोन करें:
git clone https://github.com/jy0205/Pyramid-Flow
cd Pyramid-Flow
pyenv का उपयोग करके लोकल Python वर्जन सेट करें:
pyenv local 3.8.10
वर्चुअल एनवायरनमेंट बनाना
एक नया Python वर्चुअल एनवायरनमेंट बनाएं:
python -m venv venv
venv\Scripts\activate
जब आपके कमांड प्रॉम्प्ट के आगे (venv) दिखाई दे, तो समझें कि वर्चुअल एनवायरनमेंट सक्रिय हो गया है।
पैकेज इंस्टॉलेशन
सबसे पहले, pip को अपडेट करें:
python -m pip install --upgrade pip
आवश्यक पैकेज इंस्टॉल करने के लिए दो तरीके हैं। पहला और अनुशंसित तरीका है requirements.txt का उपयोग:
pip install -r requirements.txt
या फिर, आप अलग-अलग पैकेज इंस्टॉल कर सकते हैं:
pip install gradio torch Pillow diffusers huggingface_hub
दोनों तरीके काम करेंगे, लेकिन हम requirements.txt का उपयोग करने की सलाह देते हैं। इससे आप वही वर्जन इंस्टॉल कर पाएंगे जो प्रोजेक्ट के लिए टेस्ट किए गए हैं। यह कमांड प्रोजेक्ट के निर्माताओं द्वारा चुने गए सभी आवश्यक Python पैकेज एक साथ इंस्टॉल कर देता है।
GUI को शुरू करना
पैकेज इंस्टॉल होने के बाद, GUI को शुरू करें:
python app.py
diffusion_transformer_768p/config.json: 100%|█████████████████| 465/465 [00:00<00:00, 226kB/s]
README.md: 100%|█████████████████████████████████████████| 9.38k/9.38k [00:00<00:00, 4.45MB/s]
diffusion_transformer_image/config.json: 100%|████████████████| 465/465 [00:00<00:00, 233kB/s]
text_encoder_2/config.json: 100%|█████████████████████████████| 782/782 [00:00<00:00, 391kB/s]
text_encoder/config.json: 100%|███████████████████████████████| 613/613 [00:00<00:00, 204kB/s]
(…)t_encoder_2/model.safetensors.index.json: 100%|███████| 19.9k/19.9k [00:00<00:00, 6.63MB/s]
tokenizer/merges.txt: 100%|████████████████████████████████| 525k/525k [00:00<00:00, 1.21MB/s]
tokenizer/special_tokens_map.json: 100%|██████████████████████| 588/588 [00:00<00:00, 235kB/s]
tokenizer/tokenizer_config.json: 100%|████████████████████████| 705/705 [00:00<00:00, 276kB/s]
tokenizer/vocab.json: 100%|██████████████████████████████| 1.06M/1.06M [00:00<00:00, 1.61MB/s]
tokenizer_2/special_tokens_map.json: 100%|███████████████| 2.54k/2.54k [00:00<00:00, 1.26MB/s]
spiece.model: 100%|████████████████████████████████████████| 792k/792k [00:00<00:00, 2.17MB/s]
tokenizer_2/tokenizer.json: 100%|████████████████████████| 2.42M/2.42M [00:01<00:00, 1.68MB/s]
tokenizer_2/tokenizer_config.json: 100%|█████████████████| 20.8k/20.8k [00:00<00:00, 5.93MB/s]
model.safetensors: 100%|███████████████████████████████████| 246M/246M [00:49<00:00, 5.00MB/s]
diffusion_pytorch_model.bin: 100%|███████████████████████| 1.34G/1.34G [02:03<00:00, 10.9MB/s]
Fetching 24 files: 17%|██████▌ | 4/24 [02:03<12:53, 38.69s/it]
diffusion_pytorch_model.safetensors: 18%|██▋ | 1.38G/7.89G [02:02<12:30, 8.66MB/s]
diffusion_pytorch_model.safetensors: 40%|██████ | 3.16G/7.89G [04:16<04:17, 18.4MB/s]
diffusion_pytorch_model.safetensors: 32%|████▊ | 2.53G/7.89G [04:16<05:16, 16.9MB/s]
diffusion_pytorch_model.safetensors: 32%|████▊ | 2.55G/7.89G [04:15<15:01, 5.92MB/s]
model-00001-of-00002.safetensors: 29%|█████▏ | 1.43G/4.99G [02:01<03:59, 14.9MB/s]
model-00001-of-00002.safetensors: 64%|███████████▌ | 3.22G/4.99G [04:15<02:12, 13.4MB/s]
model-00002-of-00002.safetensors: 27%|████▉ | 1.24G/4.53G [01:59<06:22, 8.62MB/s]
model-00002-of-00002.safetensors: 59%|██████████▋ | 2.69G/4.53G [04:14<03:21, 9.12MB/s]
ध्यान दें: आपको यह वॉर्निंग मिल सकती है:
[WARNING] CUDA is not available. Proceeding without GPU.
चिंता न करें – हम GPU सेटअप में इसे ठीक करेंगे।
GPU कॉन्फ़िगरेशन
अपने GPU का उपयोग करने के लिए, पहले अपना CUDA वर्जन चेक करें:
nvcc -V
मेरे सिस्टम में CUDA 12.4 इंस्टॉल था। अपने CUDA वर्जन के अनुसार उपयुक्त PyTorch वर्जन इंस्टॉल करें। CUDA 12.4 के लिए:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
अब बेसिक सेटअप पूरा हो गया है। लेकिन मैंने सेटअप के दौरान कुछ समस्याओं का सामना किया, जो आपके लिए भी उपयोगी हो सकती हैं…
सेटअप के दौरान आई वास्तविक चुनौतियां
मैंने ऊपर सेटअप प्रक्रिया को सरल तरीके से समझाया, लेकिन वास्तव में कुछ समस्याएं आईं। खासकर Python वर्जन बदलने में एक अनोखी समस्या का सामना करना पड़ा।
VSCode में वर्जन स्विच की समस्या
pyenv से Python 3.8.10 सेट करने के बाद भी:
python --version
Python 3.10.11
क्या हुआ? pyenv local 3.8.10
चलाने के बाद भी वर्जन नहीं बदला। जांच-पड़ताल के बाद पता चला कि यह VSCode की एक विशेषता है – वर्जन बदलने के लिए VSCode को पूरी तरह से बंद करके फिर से खोलना पड़ता है।
वर्जन फाइल की खोज
VSCode को पुनः शुरू करने के बाद, प्रोजेक्ट की फाइलें देखी:
dir
2024/11/22 16:52 <DIR> .
2024/11/22 16:51 <DIR> ..
2024/11/22 16:51 1,446 .gitignore
2024/11/22 16:52 8 .python-version
2024/11/22 16:51 <DIR> annotation
2024/11/22 16:51 15,269 app.py
2024/11/22 16:51 5,619 app_multigpu.py
2024/11/22 16:51 <DIR> assets
2024/11/22 16:51 8,105 causal_video_vae_demo.ipynb
2024/11/22 16:51 <DIR> dataset
2024/11/22 16:51 <DIR> diffusion_schedulers
2024/11/22 16:51 <DIR> docs
2024/11/22 16:51 3,391 image_generation_demo.ipynb
2024/11/22 16:51 4,909 inference_multigpu.py
2024/11/22 16:51 1,086 LICENSE
2024/11/22 16:51 <DIR> pyramid_dit
2024/11/22 16:51 16,508 README.md
2024/11/22 16:51 406 requirements.txt
2024/11/22 16:51 <DIR> scripts
2024/11/22 16:51 <DIR> tools
2024/11/22 16:51 <DIR> train
2024/11/22 16:51 <DIR> trainer_misc
2024/11/22 16:51 14,387 utils.py
2024/11/22 16:51 7,052 video_generation_demo.ipynb
2024/11/22 16:51 <DIR> video_vae
इसमें एक महत्वपूर्ण .python-version
फाइल मिली, जिसमें सिर्फ “3.8.10” लिखा था। इसे आप VSCode एक्सप्लोरर या Windows फाइल एक्सप्लोरर में देख सकते हैं।
फिर से वर्जन चेक करने पर:
python --version
Python 3.8.10
अब आखिरकार सही वर्जन सेट हो गया!
एक और समस्या: गायब पैकेज
जब मैंने सोचा कि सब तैयार है:
python app.py
तब यह एरर आया:
Traceback (most recent call last):
File "app.py", line 3, in
import gradio as gr
ModuleNotFoundError: No module named 'gradio'
गायब पैकेज को इंस्टॉल करने की कोशिश की:
pip install gradio torch Pillow diffusers huggingface_hub
और फिर यह वॉर्निंग मिली:
WARNING: You are using pip version 21.1.1; however, version 24.3.1 is available.
तो pip को भी अपडेट किया:
python -m pip install --upgrade pip
और सुनिश्चित करने के लिए:
pip install -r requirements.txt
सेटअप प्रक्रिया का अगला चरण
विभिन्न समस्याओं को हल करने के बाद हमने बुनियादी सेटअप पूरा कर लिया। लेकिन अभी एक महत्वपूर्ण सेटिंग बाकी है।
GPU सेटिंग
जब आप एप्लिकेशन चलाएंगे, तो यह वॉर्निंग दिखाई दे सकती है:
[WARNING] CUDA is not available. Proceeding without GPU.
यह वॉर्निंग बताती है कि आपका GPU सही तरह से पहचाना नहीं जा रहा है। वीडियो जनरेशन के लिए बहुत अधिक कंप्यूटिंग पावर की आवश्यकता होती है, इसलिए GPU सेटिंग बहुत महत्वपूर्ण है।
सबसे पहले, अपने सिस्टम में इंस्टॉल CUDA का वर्जन चेक करें:
nvcc -V
मेरे सिस्टम में CUDA 12.4 था:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:30:10_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
इस वर्जन के अनुसार PyTorch इंस्टॉल करें:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
अब आखिरकार, वीडियो जनरेशन के लिए आवश्यक सारा सेटअप पूरा हो गया है!
चलिए अब वीडियो जनरेट करने की कोशिश करते हैं…
वीडियो जनरेशन का प्रयास करें
अब जब हमारा सेटअप पूरा हो गया है, तो चलिए वीडियो बनाना शुरू करें। एप्लिकेशन को शुरू करें:
python app.py
पहली बार चलाने पर, यह काफी बड़े मॉडल फाइल्स डाउनलोड करना शुरू करेगा। इसमें कुछ समय लग सकता है, तो धैर्य रखें। डाउनलोड पूरा होने के बाद, आपका ब्राउज़र अपने आप खुल जाएगा और Gradio इंटरफेस दिखाई देगा।
GUI का उपयोग
इंटरफेस में मुख्य रूप से दो टैब हैं:
- Text-to-Video (टेक्स्ट से वीडियो)
- प्रॉम्प्ट: अपनी इच्छित वीडियो का विवरण लिखें
- Duration: वीडियो की लंबाई (384p के लिए 16 फ्रेम तक, 768p के लिए 31 फ्रेम तक)
- Guidance Scale: वर्णन का कितना सटीक पालन किया जाए
- Video Guidance Scale: मोशन की तीव्रता
- Resolution: 384p या 768p में से चुनें
- Image-to-Video (इमेज से वीडियो)
- Input Image: शुरुआती इमेज अपलोड करें
- प्रॉम्प्ट: इमेज को कैसे एनिमेट करना है, वह बताएं
- अन्य सेटिंग्स: Text-to-Video जैसी ही
बेहतर परिणामों के लिए टिप्स
- शुरुआत 384p रेजोल्यूशन से करें (GPU पर कम लोड)
- प्रॉम्प्ट में जितना हो सके उतना विस्तृत विवरण दें
- अगर आपके पास मेरी तरह 8GB GPU मेमोरी है, तो कुछ जनरेशन के बाद “CUDA out of memory” एरर आ सकता है – ऐसा होने पर बस ब्राउज़र रिफ्रेश कर लें
वास्तविक जनरेशन के उदाहरण
टेक्स्ट से वीडियो: पहला प्रयास
मैंने इस क्रिएटिव प्रॉम्प्ट के साथ शुरुआत की:
A movie trailer featuring the adventures of the 30 year old space man wearing a red wool knitted motorcycle helmet, blue sky, salt desert, cinematic style, shot on 35mm film, vivid colors
सेटिंग्स इस प्रकार की:
- Resolution: 384p (शुरुआत के लिए सुरक्षित विकल्प)
- Duration: 16
- Guidance Scale: 7.0
- Video Guidance Scale: 5.0
परिणाम आश्चर्यजनक था! लाल बुना हुआ हेलमेट पहने एक अंतरिक्ष यात्री रेगिस्तान में चलता हुआ दिखाई दिया। प्रॉम्प्ट में मांगी गई सिनेमैटिक क्वालिटी बिल्कुल सटीक थी।
इमेज से वीडियो: स्टैटिक इमेज को जीवंत करना
अगले प्रयोग में, मैंने सैंपल “ग्रेट वॉल” की इमेज का उपयोग किया और यह प्रॉम्प्ट सेट किया:
FPV flying over the Great Wall
सेटिंग्स:
- Resolution: 384p
- Duration: 16
- Video Guidance Scale: 4.0
स्थिर छवि धीरे-धीरे जीवंत हो गई, ऐसा लग रहा था जैसे ड्रोन से फिल्माया गया हो!
मेमोरी उपयोग की जांच
वीडियो जनरेशन GPU मेमोरी का काफी उपयोग करता है। वास्तविक उपयोग जानने के लिए, मैंने यह डायग्नोस्टिक स्क्रिप्ट चलाई:
import torch
print(f"कुल मेमोरी: {torch.cuda.get_device_properties(0).total_memory / 1024**2:.0f}MB")
print(f"आवंटित: {torch.cuda.memory_allocated() / 1024**2:.0f}MB")
print(f"कैश: {torch.cuda.memory_reserved() / 1024**2:.0f}MB")
परिणाम:
कुल मेमोरी: 8188MB
आवंटित: 0MB
कैश: 0MB
मेरे पास केवल 8GB GPU मेमोरी है, इसलिए उच्च रेजोल्यूशन (768p) में जनरेशन मुश्किल था और कुछ बार जनरेट करने के बाद मेमोरी कम पड़ने लगी।
समस्या समाधान और महत्वपूर्ण टिप्स
GPU मेमोरी की समस्या
वास्तविक उपयोग में सबसे बड़ी चुनौती GPU मेमोरी की सीमा थी। मेरे 8GB GPU सेटअप में निम्नलिखित समस्याएं आईं:
- 768p रेजोल्यूशन में काम करना लगभग असंभव था
- 384p में भी कुछ वीडियो बनाने के बाद मेमोरी की कमी हो जाती थी
- “CUDA out of memory” एरर बार-बार आता था
समाधान के तरीके
मेमोरी की समस्या से निपटने के लिए ये उपाय कारगर रहे:
- कम रेजोल्यूशन (384p) में काम करें
- Duration (फ्रेम संख्या) कम करें
- एरर आने पर ब्राउज़र रिफ्रेश करें
- GPU मेमोरी क्लीयर करने के लिए एप्लिकेशन रीस्टार्ट करें
व्यावहारिक उपयोग के सुझाव
सीमित संसाधनों का कुशल उपयोग करने के लिए:
- पहले कम रेजोल्यूशन में कॉन्सेप्ट टेस्ट करें
- अच्छे परिणाम मिलने पर उच्च रेजोल्यूशन में प्रयास करें
- मेमोरी की समस्या आने पर एप्लिकेशन को रीस्टार्ट करें
निष्कर्ष
पायरामिड फ्लो एक शक्तिशाली और रोमांचक AI टूल है, हालांकि इसे बेहतर प्रदर्शन के लिए अच्छे GPU स्पेसिफिकेशन की आवश्यकता होती है। 16GB या उससे अधिक GPU मेमोरी वाला सिस्टम निश्चित रूप से बेहतर अनुभव प्रदान करेगा।
फिर भी, मेरे जैसे सीमित 8GB सेटअप से भी आप प्रभावशाली वीडियो बना सकते हैं – बस थोड़ा धैर्य रखना और हार्डवेयर की सीमाओं के भीतर काम करना जरूरी है।
AI वीडियो जनरेशन का क्षेत्र तेजी से विकसित हो रहा है, और पायरामिड फ्लो जैसे टूल्स इसे पहले से कहीं अधिक सुलभ बना रहे हैं। चाहे आप कंटेंट क्रिएटर हों, AI एन्थूसिएस्ट हों, या नवीनतम तकनीक में रुचि रखने वाले व्यक्ति, यह प्रयोग करने का बेहतरीन समय है।
एक बार जरूर प्रयास करें – बेसिक हार्डवेयर से भी आप क्या कुछ बना सकते हैं, यह देखकर आप हैरान रह जाएंगे। और याद रखें, आज की सीमाएं कल की मामूली बात होंगी। AI वीडियो जनरेशन का भविष्य और भी उज्जवल है!