사진은 천 단어의 가치가 있습니다
8381 단어 nlpshowdevmachinelearningpython
이 문서는 AI 기반 시맨틱 검색 플랫폼인 txtai에 대한 자습서 시리즈의 일부입니다.
txtai은 머신 러닝 워크플로를 실행하여 데이터를 변환하고 AI 기반 시맨틱 검색 애플리케이션을 구축합니다.
2022년 6월 현재 가장 핫한🔥 모델 중 하나는 DALL-E mini 입니다. here , here 및 here 에서 볼 수 있듯이 이 모델을 활용하는 많은 프로젝트와 예제가 있습니다. 이 모델을 다루는 주류 뉴스 기사도 있습니다.
이 기사에서는 웹 페이지의 요약을 작성한 다음 이 요약의 이미지를 생성하는 워크플로우를 제시합니다. 텍스트-이미지 모델에 대한 많은 잠재적 사용 사례가 있지만 이 예는 워크플로우의 힘을 보여주는 데 초점을 맞추고 DALL-E mini가 세상을 "보는"방법에 대한 흥미로운 통찰력을 제공합니다.
종속성 설치
txtai
및 모든 종속성을 설치합니다.
DALL-E 미니 모델 및 코드에 대한 모든 크레딧은 https://github.com/borisdayma/dalle-mini 및 https://github.com/kuprel/min-dalle으로 이동합니다.
pip install txtai tika min-dalle ipyplot
DALL-E 파이프라인 구축
먼저 DALL-E mini를 사용하여 이미지를 생성하는 txtai 파이프라인을 구성해 보겠습니다.
from min_dalle import MinDalle
from txtai.pipeline import Pipeline
class Dalle(Pipeline):
def __init__(self):
self.model = MinDalle(is_mega=False, is_verbose=False)
def __call__(self, texts, seed, prefix):
results = []
for text in texts:
text = prefix + text
results.append(self.model.generate_image(text, seed))
return results
DALL-E 워크플로 구축
다음으로 txtai 워크플로를 YAML로 정의합니다. 이 워크플로는 지정된 URL에서 텍스트를 추출하고 요약을 작성한 다음 요약 텍스트에 대한 이미지를 생성합니다.
이 워크플로우는 아래와 같이 Python에서 또는 API service 로 실행할 수 있습니다.
from txtai.app import Application
app = Application("""
__main__.Dalle:
summary:
path: sshleifer/distilbart-cnn-12-6
textractor:
join: true
lines: false
minlength: 100
paragraphs: true
sentences: false
workflow:
draw:
tasks:
- action: textractor
task: url
- action: summary
args: [0, 60, 0]
- action: __main__.Dalle
args: [1024, "Illustration of "]
""")
웹 페이지 요약 이미지 생성
이제 워크플로우가 시작되었으므로 일부 이미지를 생성해 보겠습니다. 다음 예제에서는 일련의 Wikipedia 기사에 대한 이미지를 생성합니다. 기사, 요리법 또는 기타 설명이 포함된 웹 페이지에 대해 시도해 보십시오.
다음 URL을 사용하여 임의의 Wikipedia 페이지에 대한 이미지를 생성하는 것도 재미있습니다. https://en.wikipedia.org/wiki/Special:Random
import ipyplot
# Build list of Wikipedia article URLs
captions = ["Catholic Church", "Magic Kingdom", "Epcot", "Mountain", "Tundra", "War of 1812", "Chinese Cuisine", "Indian Cuisine", "Italian Cuisine",
"Romanian cuisine", "Football", "Artificial Intelligence", "Galaxy", "Fjord", "Island"]
urls = [f"https://en.wikipedia.org/wiki/{url.replace(' ', '_')}" for url in captions]
# Run workflow to generate images with DALL-E mini
images = list(app.workflow("draw", urls))
# Plot images
ipyplot.plot_images(images, captions, img_width=256)
마무리
이 문서에서는 웹 페이지 요약 이미지를 생성하기 위해 txtai 워크플로를 구축하는 방법에 대한 예제를 살펴보았습니다. DALL-E mini는 매혹적인 모델이며 모델이 어떻게 작동하는지 "보는"것은 매우 재미있습니다. 직접 시도해 보세요!
Reference
이 문제에 관하여(사진은 천 단어의 가치가 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/neuml/pictures-are-a-worth-a-thousand-words-144k
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install txtai tika min-dalle ipyplot
먼저 DALL-E mini를 사용하여 이미지를 생성하는 txtai 파이프라인을 구성해 보겠습니다.
from min_dalle import MinDalle
from txtai.pipeline import Pipeline
class Dalle(Pipeline):
def __init__(self):
self.model = MinDalle(is_mega=False, is_verbose=False)
def __call__(self, texts, seed, prefix):
results = []
for text in texts:
text = prefix + text
results.append(self.model.generate_image(text, seed))
return results
DALL-E 워크플로 구축
다음으로 txtai 워크플로를 YAML로 정의합니다. 이 워크플로는 지정된 URL에서 텍스트를 추출하고 요약을 작성한 다음 요약 텍스트에 대한 이미지를 생성합니다.
이 워크플로우는 아래와 같이 Python에서 또는 API service 로 실행할 수 있습니다.
from txtai.app import Application
app = Application("""
__main__.Dalle:
summary:
path: sshleifer/distilbart-cnn-12-6
textractor:
join: true
lines: false
minlength: 100
paragraphs: true
sentences: false
workflow:
draw:
tasks:
- action: textractor
task: url
- action: summary
args: [0, 60, 0]
- action: __main__.Dalle
args: [1024, "Illustration of "]
""")
웹 페이지 요약 이미지 생성
이제 워크플로우가 시작되었으므로 일부 이미지를 생성해 보겠습니다. 다음 예제에서는 일련의 Wikipedia 기사에 대한 이미지를 생성합니다. 기사, 요리법 또는 기타 설명이 포함된 웹 페이지에 대해 시도해 보십시오.
다음 URL을 사용하여 임의의 Wikipedia 페이지에 대한 이미지를 생성하는 것도 재미있습니다. https://en.wikipedia.org/wiki/Special:Random
import ipyplot
# Build list of Wikipedia article URLs
captions = ["Catholic Church", "Magic Kingdom", "Epcot", "Mountain", "Tundra", "War of 1812", "Chinese Cuisine", "Indian Cuisine", "Italian Cuisine",
"Romanian cuisine", "Football", "Artificial Intelligence", "Galaxy", "Fjord", "Island"]
urls = [f"https://en.wikipedia.org/wiki/{url.replace(' ', '_')}" for url in captions]
# Run workflow to generate images with DALL-E mini
images = list(app.workflow("draw", urls))
# Plot images
ipyplot.plot_images(images, captions, img_width=256)
마무리
이 문서에서는 웹 페이지 요약 이미지를 생성하기 위해 txtai 워크플로를 구축하는 방법에 대한 예제를 살펴보았습니다. DALL-E mini는 매혹적인 모델이며 모델이 어떻게 작동하는지 "보는"것은 매우 재미있습니다. 직접 시도해 보세요!
Reference
이 문제에 관하여(사진은 천 단어의 가치가 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/neuml/pictures-are-a-worth-a-thousand-words-144k
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from txtai.app import Application
app = Application("""
__main__.Dalle:
summary:
path: sshleifer/distilbart-cnn-12-6
textractor:
join: true
lines: false
minlength: 100
paragraphs: true
sentences: false
workflow:
draw:
tasks:
- action: textractor
task: url
- action: summary
args: [0, 60, 0]
- action: __main__.Dalle
args: [1024, "Illustration of "]
""")
이제 워크플로우가 시작되었으므로 일부 이미지를 생성해 보겠습니다. 다음 예제에서는 일련의 Wikipedia 기사에 대한 이미지를 생성합니다. 기사, 요리법 또는 기타 설명이 포함된 웹 페이지에 대해 시도해 보십시오.
다음 URL을 사용하여 임의의 Wikipedia 페이지에 대한 이미지를 생성하는 것도 재미있습니다. https://en.wikipedia.org/wiki/Special:Random
import ipyplot
# Build list of Wikipedia article URLs
captions = ["Catholic Church", "Magic Kingdom", "Epcot", "Mountain", "Tundra", "War of 1812", "Chinese Cuisine", "Indian Cuisine", "Italian Cuisine",
"Romanian cuisine", "Football", "Artificial Intelligence", "Galaxy", "Fjord", "Island"]
urls = [f"https://en.wikipedia.org/wiki/{url.replace(' ', '_')}" for url in captions]
# Run workflow to generate images with DALL-E mini
images = list(app.workflow("draw", urls))
# Plot images
ipyplot.plot_images(images, captions, img_width=256)
마무리
이 문서에서는 웹 페이지 요약 이미지를 생성하기 위해 txtai 워크플로를 구축하는 방법에 대한 예제를 살펴보았습니다. DALL-E mini는 매혹적인 모델이며 모델이 어떻게 작동하는지 "보는"것은 매우 재미있습니다. 직접 시도해 보세요!
Reference
이 문제에 관하여(사진은 천 단어의 가치가 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/neuml/pictures-are-a-worth-a-thousand-words-144k
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(사진은 천 단어의 가치가 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/neuml/pictures-are-a-worth-a-thousand-words-144k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)