DALL-E होमब्रेव इस पोस्ट में, हम आपका अपना AI इमेज जेनरेटर चलाने के साथ सेटअप करने पर विचार करेंगे। इसे अंत तक काम करने के लिए आपको CUDA सक्षम कार्ड के साथ एक Linux सिस्टम की आवश्यकता है। मुझे विंडोज़ में काम करने वाली मूल txt-2img स्क्रिप्ट मिली। दुर्भाग्य से, जुलाई में जारी किए गए के लिए, आपको डेटासेट को अनुक्रमित करने के लिए स्कैन की आवश्यकता है, जो केवल लिनक्स पर उपलब्ध है। ने मेरे लिए ठीक काम किया। पुनर्प्राप्ति-संवर्धित प्रसार मॉडल scann डब्ल्यूएसएल यहाँ मोटे तौर पर वह है जो मैं इकट्ठा करता हूँ जिसकी आपको आवश्यकता होगी: लिनक्स (WSL ठीक) 11.3 CUDA ग्राफिक्स = 32GB रैम 50GB डिस्क स्थान (~ 30GB बिना ओपन इमेज के) 3xxx श्रृंखला कार्ड (मैं यहाँ सिर्फ अनुमान लगा रहा हूँ। यह सब 3090 FE के साथ किया जा रहा है) अव्यक्त-प्रसार जब मैं एआई सबरेडिट्स ब्राउज़ कर रहा था, तब मैंने पर बेतरतीब ढंग से ठोकर खाई। कुछ पोस्ट ने इसका उल्लेख किया और मुझे नहीं पता था कि यह क्या था इसलिए मैं गुगल गया। अव्यक्त-प्रसार रेपो मैं कोई कंप्यूटर वैज्ञानिक, गणितज्ञ, या ऐसी कोई भी चीज़ नहीं हूँ जो वास्तव में यह समझने के लिए आवश्यक हो कि यहाँ क्या हो रहा है। नए आरएडी मॉडल के बारे में पेपर समझ में आता है और दिलचस्प है, लेकिन मैंने अभी तक बहुत अधिक शोध नहीं किया है। टेक्स्ट-टू-इमेज बनाम राड अव्यक्त प्रसार के साथ 2 छवि निर्माण तकनीकें संभव हैं। हम स्थापित करेंगे और दोनों पर एक नज़र डालेंगे। मेरा मानना है कि txt2-img मॉडल जिसे हम पहले सेटअप करेंगे, वह वही है जो हम ऑनलाइन अन्य इमेज जनरेशन टूल्स के साथ उपयोग करते हैं - यह एक सुपर लो रेज इमेज क्लिप को एक अच्छा प्रॉम्प्ट मैच बनाता है और इसे डिनोइज़ और अपस्केल करता है। आरएडी मॉडल संदर्भ के रूप में छवियों के एक विन्यास योग्य डेटाबेस का उपयोग करता है और प्रसार करता है जैसे हम अभ्यस्त हैं। ऐसा लगता है कि यह एक सामान्य प्रयोजन जनरेटर के रूप में कम अच्छा है, लेकिन एक विशिष्ट प्रशिक्षण सेट के साथ इस्तेमाल किया जा सकता है जिसे आप संभवतः बना सकते हैं। मैं भविष्य में यह कोशिश करूंगा। RAD 768X768 इमेज भी जेनरेट करता है जो काफी प्रभावशाली है। निर्देश स्थापित करें टेक्स्ट-टू-इमेज सुनिश्चित करें कि आपके पास स्थापित है और आपके शेल में काम करता है। आप प्राप्त कर सकते हैं CUDA 11.3 conda यहां कोंडा , ऐसा न हो कि आप बाद में निर्भरता नरक में समाप्त हो जाएं। मैंने इसे के माध्यम से किया लेकिन कोंडा भी काम कर सकता है। (पुनः) अभी पाइटोरच स्थापित करें pip रेपो को बहुत सारे खाली स्थान के साथ ड्राइव पर क्लोन करें रेपो में और चलाएँ: cd conda env create -f environment.yaml conda activate ldm यह प्रारंभिक वातावरण स्थापित करेगा। यदि आपको बाद में Pytorch के साथ त्रुटियाँ मिलती हैं और इसे पुनः स्थापित करने की आवश्यकता है, तो Environment.yaml पर वापस आएं और सही पैकेज संस्करणों का उपयोग करके पुनः इंस्टॉल करें। मॉडल डाउनलोड करें और आप तब तक जाने के लिए तैयार हैं जब तक कि आपकी मशाल निर्भरता सभी सेटअप सही हो। mkdir -p models/ldm/text2img-large/ wget -O models/ldm/text2img-large/model.ckpt https://ommer-lab.com/files/latent-diffusion/nitro/txt2img-f8-large/model.ckpt अब आप छवियों का नमूना लेने में सक्षम होना चाहिए: python scripts/txt2img.py --prompt "my cool image" उन विकल्पों को देखना सुनिश्चित करें जिन्हें आप README में सेट करने में सक्षम हैं। शेल से सब कुछ चलाना आसान बनाने के लिए आप इस बैश स्क्रिप्ट का उपयोग कर सकते हैं। आप इसे अपनी फ़ाइल में शामिल कर सकते हैं और अपने शेल को फिर से खोल सकते हैं। अपनी आवश्यकताओं के अनुरूप 3 रास्तों को बदलना सुनिश्चित करें। हम PLMS को बाद में देखेंगे। ~/.bashrc function txt2img() { if [ $# -eq 0 ]; then echo "Usage: diffuse '[prompt]' [--plms]" exit 1 fi cd /mnt/c/diffusion/latent-diffusion; conda activate ldm; if [ $2 = '--plms' ]; then python scripts/txt2img.py --prompt $1 --outdir '/mnt/g/My Drive/AI Image Tests/text2img' --plms --n_iter 4 --ddim_eta 0.0 else python scripts/txt2img.py --prompt $1 --outdir '/mnt/g/My Drive/AI Image Tests/text2img' --n_iter 4 --ddim_eta 0.0 fi } चित्र डिफ़ॉल्ट रूप से 512X512 हैं। आप का उपयोग बहुत अच्छे परिणामों के साथ छवियों को बेहतर बनाने के लिए कर सकते हैं। इस ज्यूपिटर नोटबुक समस्या निवारण यदि आपको कमांड चलाने में CUDA मेमोरी त्रुटियाँ मिलती हैं, तो बैच आकार को कम करने का प्रयास करें। स्मृति उपयोग के समस्या निवारण/देखने के लिए का उपयोग करें। htop यदि WSL का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपकी सभी RAM linux के लिए उपलब्ध है। यदि आपको मशाल से संबंधित त्रुटियां मिलती हैं, तो आपको संभवतः पाइटोरच को फिर से स्थापित करना होगा। यह संभवतः संकुल के साथ अन्य समस्याओं का कारण होगा। की करें। pip conda आरडीएम आप आरडीएम के बारे में अधिक पढ़ सकते हैं। जैसा कि पहले कहा गया है, यह अनिवार्य रूप से मौजूदा प्रसार प्रक्रिया के साथ क्लिप विवरण के साथ छवियों के डेटाबेस को जोड़ती है, जो मैं समझता हूं। इस हिस्से को चलने में काफी समय लगता है। यहां ध्यान दें, यह मॉडल, विशेष रूप से जब ओपनइमेज प्रशिक्षण का उपयोग करना वास्तविक चीजों को फिर से बनाने के लिए सबसे अच्छा है और यह बहुत अच्छा नहीं लगता है (अभी तक) और अजीब छवियां बनाना जो हम प्रसार मॉडल से उपयोग कर रहे हैं। टेक्स्ट-टू-इमेज मॉडल पहले काम करें नए पैकेज स्थापित करें और प्रशिक्षण मॉडल डाउनलोड करें। pip install transformers==4.19.2 scann kornia==0.6.4 torchmetrics==0.6.0 pip install git+https://github.com/arogozhnikov/einops.git mkdir -p models/rdm/rdm768x768/ wget -O models/rdm/rdm768x768/model.ckpt https://ommer-lab.com/files/rdm/model.ckpt टेस्ट सब कुछ अब तक काम कर रहा है python scripts/knn2img.py --prompt "I'm a computer" यदि सब कुछ ठीक रहा, तो आपको अपने शेल में एक सफलता पाठ देखना चाहिए। अब हमें सभी इमेज इंडेक्स/मॉडल डाउनलोड करने होंगे। ओपनइमेज ज़िप 11GB है। आर्टबेंच डेटा बहुत छोटा है। mkdir -p data/rdm/retrieval_databases wget -O data/rdm/retrieval_databases/artbench.zip https://ommer-lab.com/files/rdm/artbench_databases.zip wget -O data/rdm/retrieval_databases/openimages.zip https://ommer-lab.com/files/rdm/openimages_database.zip unzip data/rdm/retrieval_databases/artbench.zip -d data/rdm/retrieval_databases/ unzip data/rdm/retrieval_databases/openimages.zip -d data/rdm/retrieval_databases/ mkdir -p data/rdm/searchers wget -O data/rdm/searchers/artbench.zip https://ommer-lab.com/files/rdm/artbench_searchers.zip unzip data/rdm/searchers/artbench.zip -d data/rdm/searchers हम अब आर्टबेंच मॉडल का उपयोग करने के लिए तैयार हैं (जो मेरे सीमित परीक्षण में बहुत अच्छी तरह से काम करते हैं), लेकिन हम वास्तव में जो चाहते हैं वह हमारे संदर्भ के रूप में बड़े पैमाने पर ओपनइमेज मॉडल का उपयोग करना है। हमने डेटा डाउनलोड किया, लेकिन हमें इंडेक्स बनाने की जरूरत है। यदि आप आर्टबेंच डेटाबेस का परीक्षण करना चाहते हैं, तो दौड़ें python scripts/knn2img.py --prompt "A blue pig" --use_neighbors --knn 20 ओपनइमेज इंडेक्स जब तक आपके पास एक सुपर कंप्यूटर न हो, पाइथन मल्टीप्रोसेसिंग (जो मैं बता सकता हूं) में भयानक मेमोरी प्रबंधन हमें उन 4 फाइलों का उपयोग करने से रोक देगा जिन्हें हमने रेपो से स्क्रिप्ट के साथ अनजिप किया था ताकि उन्हें इंडेक्स किया जा सके। मैंने जो कुछ भी करने की कोशिश की, प्रक्रियाएं स्मृति से बाहर हो जाएंगी। सौभाग्य से, हमें केवल फाइलों को संयोजित करने की आवश्यकता है। आप चाहें तो पुरानी पार्ट फाइल्स को डिलीट कर सकते हैं। हमें पार्ट फाइलों को ओपनइमेज फोल्डर से बाहर ले जाने की भी जरूरत है। cd data/rdm/retrieval_databases/openimages/ cat 2000000x768_part1.npz 2000000x768_part2.npz 2000000x768_part3.npz 2000000x768_part4.npz > 2000000x768.npz mv 2000000x768_* ~/temp cd ../../../../ अब जब हम प्रशिक्षण स्क्रिप्ट चलाते हैं, तो हमें स्मृति से बाहर नहीं भागना चाहिए। मुझे लगता है कि प्रशिक्षण स्क्रिप्ट में उनके बहु फ़ाइल फ़ंक्शन में यह कुछ समस्या है। python scripts/train_searcher.py हमें में बैच आकार बदलने की आवश्यकता है ताकि हमारे पास GPU स्मृति समाप्त न हो। आपको 1 से कम करने की आवश्यकता हो सकती है, लेकिन मैं 3090 पर 2 पर सेट करने में सक्षम था। scripts/knn2img.py एक संपादक में खोलें scripts/knn2img.py लाइन 243 पर जाएं या "n_samples" ढूंढें डिफ़ॉल्ट मान को 1 या 2 में बदलें और सहेजें आप इसे कमांड लाइन पैरामीटर का उपयोग करके भी कर सकते हैं, लेकिन चूंकि यह मेरे लिए कभी काम नहीं करेगा, इसलिए मैं डिफ़ॉल्ट मान बदलना चाहता था। ध्यान दें कि यदि आप भविष्य में रेपो को अपडेट करते हैं तो यह संभवतः अधिलेखित हो जाएगा। अब हम openimages डेटाबेस का उपयोग करके RDM इमेज जेनरेट कर सकते हैं: python scripts/knn2img.py --prompt "A blue pig" --database openimages --use_neighbors --knn 20 इसे आसानी से चलाने के लिए एक स्क्रिप्ट है। फिर से, अपनी आवश्यकताओं के अनुरूप 3 रास्तों को बदलना सुनिश्चित करें: ~/.bashrc function diffuse() { if [ $# -eq 0 ]; then echo "Usage: diffuse '[prompt]' [--plms]" exit 1 fi cd /mnt/c/diffusion/latent-diffusion; conda activate ldm; if [ $2 = '--plms' ]; then python scripts/knn2img.py --database openimages --prompt $1 --use_neighbors --outdir '/mnt/g/My Drive/AI Image Tests/RDM' --knn 20 --plms else python scripts/knn2img.py --database openimages --prompt $1 --use_neighbors --outdir '/mnt/g/My Drive/AI Image Tests/RDM' --knn 20 fi } तेजी से चीजें ऊपर आप एक फ़ाइल बनाकर (इस मामले में ) बैचों में प्रॉम्प्ट चला सकते हैं और स्क्रिप्ट को इस तरह -from पैरामीटर के साथ इंगित कर सकते हैं prompts.txt –from-file python scripts/knn2img.py --database openimages --from-file ./prompts.txt --use_neighbors --outdir '/mnt/g/My Drive/AI Image Tests/RDM' --knn 20 नमूना prompts.txt prompt 1 prompt 2 prompt 3 यदि आप बहुत सारी क्वेरीज़ चला रहे हैं तो इससे बहुत समय की बचत होनी चाहिए क्योंकि मॉडल केवल एक बार लोड हो जाता है। टेक्स्ट-टू-इमेज मॉडल में यह विकल्प नहीं है। प्रारंभिक परीक्षण, और पीएलएमएस पीएलएमएस चालू और बंद दोनों मॉडलों के कुछ प्रारंभिक परिणाम नीचे दिए गए हैं। पीएलएमएस को चीजों को तेजी से चलाना चाहिए। अभी के लिए, हम गति वृद्धि को नहीं मापेंगे, लेकिन छवि गुणवत्ता/परिणामों को विषयगत रूप से देखेंगे। चूंकि RDM मॉडल मेरे सिस्टम के लिए एक बार में केवल 2 फ़ोटो ही बनाएगा, इसलिए मैंने उस मॉडल के लिए ग्रिड के बजाय दोनों फ़ोटो शामिल किए। मैं लगभग निश्चित रूप से भविष्य में और अधिक विशिष्ट परीक्षण करूंगा और इन मॉडलों को भविष्य की तुलना पोस्ट में शामिल किया जाएगा। पहाड़ी पर लकड़ी का घर, लैंडस्केप फोटोग्राफी टेक्स्ट-टू-इमेज बिना pls pls . के साथ आरडीएम बिना pls pls . के साथ एक बैंगनी स्टॉप साइन टेक्स्ट-टू-इमेज बिना pls pls . के साथ आरडीएम बिना pls pls . के साथ फॉक्स डेन, डिजिटल आर्ट टेक्स्ट-टू-इमेज बिना pls pls . के साथ आरडीएम बिना pls pls . के साथ बड़ा खेल जीतना, पुरस्कार विजेता फोटोग्राफी टेक्स्ट-टू-इमेज बिना pls pls . के साथ आरडीएम बिना pls pls . के साथ रेत के टीलों में चलती स्पोर्ट्स कार टेक्स्ट-टू-इमेज बिना pls pls . के साथ आरडीएम बिना pls pls . के साथ अपना खुद का कॉल करने के लिए एक छवि जेनरेटर और वहां आपके पास है - कोई और क्रेडिट या मासिक सीमा नहीं, केवल शुद्ध एआई छवि निर्माण सब कुछ। एक बार जब मैं कुछ ट्यूनिंग सेटिंग्स का पता लगा लेता हूं और अपना खुद का इमेज ट्रेनिंग डेटाबेस बना लेता हूं, तो हम इस बारे में फिर से बात करेंगे। उम्मीद है कि कुछ ट्यूनिंग और नए रिलीज/मॉडल के साथ यह WOW फैक्टर DALL-E के करीब पहुंच जाएगा। भी प्रकाशित हो चुकी है।. यहाँ