파이썬이 프로그래밍 언어라는 것은 다들 아실겁니다. 그런데 프로그래밍 언어를 처음 접하는 입문자라면 ‘프로그래밍이 무엇인가’ 대한 개념 정리가 안 되어 있을지도 모릅니다.

용어나 개념이 입문자에게는 다소 어려울 수 있지만, 한번 읽고 잊어 버리더라도 아는 것과 모르는 것에는 큰 차이가 있습니다.

 

컴퓨터 프로그램

컴퓨터 프로그램이란 ‘컴퓨터가 무엇을 해야 할지 미리 작성한 진행 계획’입니다.

우리는 메신저에서 1)친구를 지정하고, 2)메시지를 입력하고, 3) 전송 버튼을 누르면 메시지가 전달됩니다.

 

이는 sns 프로그램에 ‘친구를 지정하고, 메시지를 입력하고, 전송 버튼을 누르면 친구에게 글을 전송해야 해!’ 라는 프로그램이 작성되어 있기 때문입니다.

 

프로그래밍 언어

다음 내용을 순서대로 읽고 맨 마지막에 무엇을 해야 하는지 생각해 볼까요?

1) 공책의 오른쪽 위에 a라고 적습니다.

2) a 옆에 10이라고 적습니다.

3) 공책에 왼쪽 위에 b라고 적습니다.

4) b 옆에 20이라고 적습니다.

5) 공책의 오른쪽 아래에 c라고 적습니다.

6) a 옆에 있는 숫자와 b 옆에 있는 숫자를 더해서 c 옆에 적습니다.

7) 만약 c 옆에 적혀 있는 숫자가 15보다 크면 일어나서 “15보다 크다!” 라고 외칩니다.

8) 만약 c 옆에 적혀 있는 숫자가 15보다 작으면 일어나서 “15보다 작다!” 라고 외칩니다.

 

a = 10

b = 20

a + b = c

 

c > 15 , “15보다 크다!” , c<15 , “15보다 작다!”

 

 

우리의 뇌는 금세 “15보다 크다!” 를 외칠 수 있을 것 입니다.

 

하지만 제아무리 성능이 좋은 컴퓨터 라도 위의 내용을 이해하지 못합니다.

컴퓨터가 이해할 수 있는 값은 오로지 0과 1로 이루어진 이진 숫자 입니다.

‘공책의 오른쪽 위에 a라고 적는다 + 옆에 10이라고 적는다’ 를 이진 숫자

(binary code)로 표기하면

01100111 11000111 01000101 11111100 00010000 00000000 00000000가 됩니다.

이진 숫자는 쉽게 말해서 컴퓨터를 위한 언어이죠.

과거에는 이진 숫자를 입력해서 프로그램을 만들었습니다. 이진 숫자로 이루어진 코드를 이진 코드 라고 부릅니다. 하지만 이러한 이진 숫자로 프로그램을 만드는 것은 우리 사람에게는 너무 비효율적입니다. 그래서 사람이 이해하기 쉬운 언어로 프로그램을 만들자는 생각을 하게 됩니다.  이런 목적으로 만든 것이 프로그래밍 언어 입니다. 프로그래밍 언어는 쉽게 말해서 사람을 위한 언어입니다. 그리고 프로그래밍 언어로 작성한 프로그램을 소스 코드 라고 합니다.

 

그런데 문제는 프로그래밍 언어를 컴퓨터가 이해할 수 없다는 것입니다. 이 문제를 해결하기 위해서 프로그래밍 언어를 이진 숫자로 변환해 주는 코드 실행기를 만들었습니다. 코드 실행기는 일종의 번역기입니다. 사람의 언어를 컴퓨터 언어로 번역을 해주는 것이지요.

 

이러한 프로그래밍 언어 덕분에 사람들은 컴퓨터에게 쉽게 명령을 내리고 원하는 결과를 얻을 수 있게 되었습니다.

 

프로그래밍 언어, 파이썬

파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이 발표한 프로그래밍 언어입니다. 1989년 크리스마스가 있던 주에 연구실이 닫혀서 심심하던 차에 만들기 시작했다고 합니다.

파이썬이라는 이름은 영국의 6인조 코미디 그룹 ‘몬티 파이썬’에서 가져왔고, 로고는 Python 이라는 영어 단어가 뜻하는 ‘비단뱀’을 모티프로 만들어졌습니다.

 

파이썬은 초보자가 쉽게 배울 수 있는 프로그래밍 언어이기 때문에 파이썬으로 컴퓨터 프로그램을 만드는 방법을 이해하면 다른 프로그래밍 언어로도 쉽게 프로그램을 만들 수 있습니다.

 

앞서 파이썬은 초보자가 배우기에 쉬운 언어라고 했습니다. 그렇다면 최근에 파이썬 프로그래밍 언어를 많이 사용하는 이유가 그것뿐일까요?

 

파이썬의 장점을 간단하게 정리하면 다음과 같습니다.

 

  • 문법이 간단해서 배우기 쉽습니다.
  • 많은 사람이 사용하고 있어서 다양한 분야에서 활용할 수 있습니다.
  • 대부분의 운영체제(윈도우, 맥, 리눅스)에서 같은 방법으로 사용할 수 있습니다.

 

파이썬이 인기 있는 이유

 

첫째, 비전공자도 쉽게 배울 수 있는 언어 입니다.

 

일단 문법이 간단해서 배우기 쉽습니다. C 언어 등의 프로그래밍 언어는 문법이 복잡해서 컴퓨터 공학을 공부하는 학생들도 어렵게 느끼는 경우가 많습니다. 하지만 파이썬은 단순한 문법을 가지고 있어 배우기 쉽습니다. 따라서 비전공자도 쉽게 배울 수 있습니다.

 

둘째, 다양한 분야에서 활용할 수 있습니다.

많은 사람이 사용하므로 다양한 분야에서 활용할 수 있습니다. 기본적인 데스크톱 애플리케이션부터 시작해서 웹 서버, 해킹 도구, IoT(Internet of Things), 인공지능 등에 모두 활용할 수 있습니다.

 

셋째, 대부분의 운영체제에서 동일하게 사용됩니다.

대부분의 프로그래밍 언어는 운영체제가 제한적입니다. 그리고 여러 운영체제에서 사용할 수 있어도 사용 방법이 조금씩 다른 경우가 있습니다. 하지만 파이썬 프로그래밍 언어는 모든 운영체제에서 같은 방법으로 사용할 수 있습니다.

 

물론 단점도 있습니다.

 

느립니다.

 

파이썬 프로그래밍 언어는 일반적으로 C언어보다 10~350배 정도 느립니다. 프로그래밍 언어는 대부분 ‘쉽게 사용할 수 있다’ 라는 성질과 ‘빠르다’ 라는 성질이 반비례합니다. 파이썬은 쉽게 사용할 수 있는 대신 느리고, C 언어는 어려운 대신 빠릅니다. 그래서 일반적으로 거대한 게임을 만들 때는 C, C++, C# 등의 프로그래밍 언어를 사용합니다.

 

하지만 최근에는 컴퓨터 성능이 너무 좋아져서 게임 등과 같이 연산이 많이 필요한 프로그램이 아니라면 프로그래밍 언어의 속도 차이를 크게 느낄 수 없습니다. 따라서 쉽게 사용할 수 있는 프로그래밍 언어(파이썬, 루비, 자바스크립트 등)가 인기를 끌고 있습니다.

 

머신러닝, 딥러닝처럼 고정적인 연산을 많이 하는 프로그램은 전체적인 프로그램을 파이썬으로 만들고, 고정적인 연산 부분만 C 언어로 만들어 활용하기도 합니다. 게임처럼 연산을 많이 하는 프로그램, 성능이 좋지 않은 컴퓨터를 사용할 수밖에 없는 프로그램(소형 장치)을 제외하면 파이썬으로 모든 것을 할 수 있습니다.

 

2025.03.14 - [파이썬 프로그래밍] - 파이썬을 공부하기 위해 준비해야 할 것들

 

파이썬을 공부하기 위해 준비해야 할 것들

2025.03.14 - [파이썬 프로그래밍] - 파이썬을 시작 하기 전에 읽어보는 간단한 설명 파이썬을 시작 하기 전에 읽어보는 간단한 설명파이썬이 프로그래밍 언어라는 것은 다들 아실겁니다. 그런데

suncommq.tistory.com

 

반응형
LIST

2025.03.14 - [스테이블 디퓨전] - ControlNet을 알아보자 >>> ControlNet은 무엇인가?

 

ControlNet을 알아보자 >>> ControlNet은 무엇인가?

스테이블 디퓨전에서 ControlNet은 텍스트-이미지 변환 모델에 추가적인 조건을 부여하여 더 정교하고 제어된 이미지 생성을 가능하게 하는 신경망 구조입니다. 이 모델은 기존의 생성 모델에 "잠

suncommq.tistory.com

 

ControlNet이란?

ControlNet은 스테이블 디퓨전에서 **특정한 가이드(제어 조건)**를 통해 이미지의 세부 사항을 조정할 수 있도록 도와주는 확장 모델입니다. 일반적인 txt2img 또는 img2img 방식보다 더 정확한 결과를 얻을 수 있는 장점이 있습니다.

ControlNet의 주요 기능:

  • 스케치를 정밀한 이미지로 변환
  • 특정 포즈나 자세를 반영하여 캐릭터 생성
  • 배경 구조를 유지하면서 스타일 변경
  • 실제 사진을 활용하여 유사한 그림 생성

ControlNet을 활용하면 원하는 이미지의 구조를 손쉽게 컨트롤할 수 있어 게임 캐릭터 제작, 일러스트 생성, 광고 디자인 등에 매우 유용합니다.


ControlNet의 주요 입력 타입

ControlNet은 다양한 입력 조건을 활용할 수 있으며, 대표적인 것들은 다음과 같습니다.

 

입력 타입 설명
Canny 이미지의 엣지를 감지하여 윤곽을 유지
Depth 깊이 맵을 활용하여 입체감 유지
Pose (OpenPose) 인물의 포즈를 반영하여 새로운 캐릭터 생성
Sketch (Scribble) 간단한 스케치를 정밀한 이미지로 변환
Line Art 만화 스타일의 선화를 기반으로 컬러 이미지 생성
Segmentation 이미지 영역을 분리하여 색상 또는 스타일 변경
MLSD 건축물이나 직선 구조를 유지

1. 스케치(Scribble) → 디테일한 이미지 변환

 입력: 간단한 스케치  →  출력: 정밀한 일러스트

 

프롬프트: a beautiful anime girl, vibrant colors, highly detailed, ultra HD
ControlNet: Scribble (스케치 입력)

 

활용 예시: 러프한 스케치를 정교한 그림으로 변환하여 웹툰 제작, 캐릭터 디자인에 활용 가능

 

 

 

2. 포즈(OpenPose) → 동일한 포즈의 캐릭터 생성

입력: 특정 포즈 이미지 → 출력: 원하는 스타일로 변환된 캐릭터

 

프롬프트: a fantasy warrior, wearing armor, cinematic lighting
ControlNet: OpenPose (포즈 유지)

 

활용 예시: 댄서, 액션 캐릭터, 포즈 기반 일러스트 제작

 

 

3. Canny(엣지 감지) → 동일한 구조의 새로운 스타일 생성

입력: 사진 속 건물 윤곽 →  출력: SF 스타일의 건축물

프롬프트: a futuristic city with neon lights, cyberpunk theme
ControlNet: Canny (엣지 감지)

 

활용 예시: 기존 사진을 활용한 창의적인 건축 디자인, 게임 배경 제작

 

 

4. Depth(깊이 맵) → 입체감 유지한 스타일 변환

입력: 사진 속 건물 윤곽 → 출력: SF 스타일의 건축물

 

프롬프트: fantasy castle, detailed textures, dramatic lighting
ControlNet: Depth (깊이 맵 유지)

 

활용 예시: 사진을 기반으로 새로운 일러스트 스타일 구현, 실사 게임 배경 제작

 

 

반응형
LIST

스테이블 디퓨전에서 프롬프트(prompt)는 원하는 이미지를 생성하는 핵심 요소입니다. 좋은 프롬프트를 작성하면 더 정밀하고 만족스러운 이미지를 얻을 수 있습니다.


 효과적인 프롬프트 작성법

  1. 핵심 주제 명확히 하기
    • 이미지의 중심이 되는 키워드를 먼저 작성
    • (예: a cyberpunk city, a beautiful anime girl, a futuristic warrior)
  2. 스타일과 분위기 추가
    • 원하는 스타일이나 분위기를 명확히 기술
    • (예: realistic, cinematic lighting, hyper-detailed, fantasy style, vibrant colors)
  3. 카메라 앵글 및 구성 추가
    • (예: close-up shot, wide-angle, portrait, bird’s-eye view, dynamic composition)
  4. 조명 및 색감 조절
    • (예: soft lighting, golden hour, neon glow, moody atmosphere, high contrast)
  5. 아티스트 이름 및 참고 스타일 활용
    • 특정 아티스트 스타일을 참고하여 결과 개선 가능
    • (예: art by Greg Rutkowski, Studio Ghibli style, Pixar style)
  6. 세부 요소 추가
    • 작은 디테일까지 추가해 세밀한 이미지 조정
    • (예: intricate patterns, detailed background, fine textures, ultra HD)
  7. 네거티브 프롬프트 활용 (-Negative Prompt-)
    • 원하지 않는 요소를 제외
    • (예: blurry, low-quality, extra fingers, watermark, bad anatomy, distorted)

 

예제 프롬프트

 

1. 현실적인 인물 (Realistic Portrait)

a highly detailed portrait of a beautiful woman, photorealistic, UHD, cinematic lighting, high contrast, soft shadows, natural skin texture, by Greg Rutkowski

 

2. 사이버펑크 도시 (Cyberpunk City)

a futuristic cyberpunk city at night, neon lights, rain-soaked streets, ultra-detailed, cinematic composition, Blade Runner style
 

 

3. 애니메이션 스타일 캐릭터 (Anime Girl)

a cute anime girl with long silver hair, red eyes, wearing a futuristic suit, highly detailed, vibrant colors, cinematic lighting, art by Makoto Shinkai, Studio Ghibli
 
 

4. 판타지 풍경 (Fantasy Landscape)

a majestic floating island with waterfalls, glowing plants, magical atmosphere, ultra-detailed, artstation trending, fantasy style, 4K

 

5. 네거티브 프롬프트 예제

blurry, low-quality, watermark, extra fingers, distorted face, low resolution, bad anatomy, artifacts
 

 

  • 핵심 주제 → 스타일 & 조명 → 세부 요소 추가 → 네거티브 프롬프트 활용 순으로 작성
  • 명확하고 구체적인 프롬프트일수록 원하는 이미지를 쉽게 얻을 수 있음
  • 여러 번 시도하며 프롬프트를 조정하는 것이 중요

 

반응형
LIST

1. 텍스트에서 이미지 생성(txt2img)

  • 설명: 텍스트 프롬프트를 입력하면 AI가 완전히 새로운 이미지를 생성하는 방식입니다.
  • 입력: 텍스트 프롬프트 + 랜덤 시드
  • 출력: 입력된 텍스트를 기반으로 생성된 완전히 새로운 이미지
  • 특징:
    • 처음부터 랜덤 노이즈에서 이미지를 생성
    • 창의적이고 자유로운 이미지 생성 가능
    • 프롬프트에 따라 세밀한 컨트롤 가능
  • 사용 예시:
    • "A futuristic city at sunset with flying cars" (미래 도시를 창조적으로 생성)
    •  
     

프롬프트 : A futuristic city at sunset with flying cars

2. 이미지 변환(img2img)

  • 설명: 기존 이미지를 기반으로 프롬프트에 맞게 변형하여 새로운 이미지를 생성하는 방식입니다.
  • 입력: 기존 이미지 + 텍스트 프롬프트 + 노이즈 정도(denoising strength)
  • 출력: 원본 이미지의 형태를 어느 정도 유지하면서도, 프롬프트에 따라 변형된 이미지
  • 특징:
    • 원본 이미지를 활용하여 스타일 변환이나 특정 요소 추가 가능
    • denoising strength 값을 조정하여 변화 정도를 설정 가능 (높을수록 원본에서 멀어짐)
    • 이미지의 구조를 유지하면서도 분위기, 스타일, 색감 등을 조정 가능
denoising strength = 0.3 denoising strength = 0.4 denoising strength = 0.5
denoising strength = 0.3
denoising strength = 0.4
denoising strength = 0.5
denoising strength = 0.6 denoising strength = 0.7 denoising strength = 0.8
denoising strength = 0.6
denoising strength = 0.7
denoising strength = 0.8
denoising strength = 0.9  
denoising strength = 0.9
  • 사용 예시:
    • 흑백 이미지를 컬러로 변환
    • 실사 이미지를 애니메이션 스타일로 변환
    • 러프한 스케치를 세밀한 그림으로 변환

비교 요약

 

기능 txt2img img2img
입력 텍스트 프롬프트 이미지 + 텍스트 프롬프트
생성 방식 랜덤 노이즈에서 새 이미지 생성 기존 이미지에서 변형
원본 이미지 유지 없음 부분적으로 유지 가능
활용 창작, 새로운 이미지 생성 스타일 변경, 리터칭, 디테일 강화

따라서,

  • 창의적인 새로운 이미지를 만들고 싶다면 → txt2img
  • 기존 이미지에서 변형하거나 스타일을 변경하고 싶다면 → img2img

 

 

 

반응형
LIST

2025.03.14 - [스테이블 디퓨전] - ControlNet을 알아보자 >>> ControlNet은 무엇인가?

 

ControlNet을 알아보자 >>> ControlNet은 무엇인가?

스테이블 디퓨전에서 ControlNet은 텍스트-이미지 변환 모델에 추가적인 조건을 부여하여 더 정교하고 제어된 이미지 생성을 가능하게 하는 신경망 구조입니다. 이 모델은 기존의 생성 모델에 "잠

suncommq.tistory.com

 

프롬프트:

"Taekwon V, giant robot, heroic pose, detailed mechanical design, vibrant colors, anime style, standing in a futuristic cityscape, glowing eyes, dynamic lighting, cinematic atmosphere"

 

네거티브:

"low quality, blurry, distorted, unrealistic proportions, watermark"

프롬프트로 생성된 원본 이미지
프리 프로세서 canny 적용
canny로 추출해서 img2img로 생성한 이미지

 

프롬프트:

"A young boy riding a bicycle through a sunny park, wearing a red helmet and a blue backpack, surrounded by green trees and flowers, cheerful and dynamic pose, realistic lighting, detailed and vibrant colors, cinematic composition"

 

네거티브:

"blurry, low quality, distorted proportions, overexposed, abstract"

 

프롬프트로 생성한 자전거 타는 소년
depth 적용
depth로 추출해서 생성한 이미지

두번째 자전거 타는 소년은 좀 무섭다...

 

 

프롬프트:

"A cute white rabbit sitting on green grass, surrounded by colorful flowers, soft sunlight shining through the trees, realistic fur texture, highly detailed, warm and vibrant colors, photorealistic style"

 

네거티브:

"blurry, low quality, overly dark, abstract, unrealistic proportions"

아증맞은 토끼
scibble 적용한 토끼사진

 

scibble 적용한 이미지로 img2img로 재생성 해보자.

어?!

털만 그려놨네;;;; 그래도 꽃은 칼라로 해놨네요.....

 

프롬프트로 생성한 여자 원본사진
openpose로 추출

 

openpose를 적용하여 새로운 이미지 생성

반응형
LIST

스테이블 디퓨전에서 ControlNet은 텍스트-이미지 변환 모델에 추가적인 조건을 부여하여 더 정교하고 제어된 이미지 생성을 가능하게 하는 신경망 구조입니다. 이 모델은 기존의 생성 모델에 "잠긴" 가중치와 "학습 가능한" 가중치를 결합하여, 원래 모델의 성능을 유지하면서도 새로운 조건을 학습할 수 있도록 설계되었습니다.

 

주요 특징:

  1. 조건부 제어: ControlNet은 텍스트 프롬프트 외에도 추가적인 입력(예: 스케치, 포즈, 외곽선 등)을 기반으로 이미지를 생성할 수 있습니다.
  2. 모듈형 설계: 기존 모델의 구조를 변경하지 않고, 추가적인 모듈을 통해 확장 가능.
  3. 효율적인 학습: 소규모 데이터셋으로도 학습이 가능하며, 원래 모델의 성능을 손상시키지 않습니다

pexels 홈페이지 다운로드 사진
pexels 홈페이지 다운로드 사진

 

ControlNet의 openpose 파라미터로 인물의 자세를 추출할수 있다.

 

openpose로 인물의 자세를 추출한다

 

스테이블 디퓨전 WebUi에서 openpose를 적용

 

스테이블 디퓨전 WebUI에서 ControlNet 설치하기

 

ControlNet을 설치하려면 ControlNet 본체프리 프로세서 모델을 나눠 설치해야 합니다.

 

우선 WebUI에서 Extensions 탭에서 본체를 다운로드 합니다.

 

URL에 주소 입력하고 Install을 클릭합니다.

https://github.com/mikubill/sd-webui-controlnet.git

 

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet

WebUI extension for ControlNet. Contribute to Mikubill/sd-webui-controlnet development by creating an account on GitHub.

github.com

 

 

설치가 완료되면 체크 업데이트를 누르고 적용을 시키나서 WebUI를 리스타트 합니다.

적용을 하고 WebUI를 리스타트 합니다

 

그 다음 프리 프로세서 모델을 다운로드 합니다. ControlNet은 여러 베이스 모델별로 다른 모델이 있기 때문에 각자 맞는 버전을 다운받으셔야 됩니다. 여기서 초보자가 착각하는 것 중 하나가 WebUI와 SD 버전 1.5, 2.0, SDXL 등을 구별 못한다는 것인데요. WebUI와 SD 버전은 다른겁니다. WebUI는 단순히 모델을 사용하기 위한 프로그램이 입니다. 메모장, 워드 같은 프로그램을 말하는 거구요. SD버전이 바로 모델 버전입니다. 이 SD 모델이란거는 Stability AI에서 개발한 모델을 말합니다. SD 1.5, SD 2.0, SDXL 등.

아래 링크를 타고 가셔서 프리 프로세서 모델을 다운로드 합니다.

https://huggingface.co/lllyasviel/sd_control_collection/tree/main

 

lllyasviel/sd_control_collection at main

Detected Pickle imports (3) "torch.HalfStorage", "torch._utils._rebuild_tensor_v2", "collections.OrderedDict" What is a pickle import?

huggingface.co

diffusers_xl_canny_full.safetensors 다운로드

 

 

diffusers_xl_canny_full.safetensors 를 다운받고

 

*스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models ←이 위치로 프리 프로세스 모델을 이동시킨다

 

스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models
스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models

 

 

ControlNet 설치 완료

 

이제 ControlNet 설치가 완료 되었으므로 각 파라미터를 설명 드리겠습니다.

 

ControlNet Unit

여기서 편집할 이미지를 업로드 합니다. unit 0 ,unit 1, unit 2 각 각 다른 탭에서 각자 이미지 별로 편집하고 싶을때 사용합니다.

 

Single Image/Batch/Multi-inputs 

Single Image 이거는 이미지를 한장 한장 업로드 할때 사용합니다.

Batch는 해당 폴더로 경로 지정을 해서 여러 장을 한꺼번에 업로드 처리 합니다

Multi-inputs 이거는 폴더와 상관 없이 여러 이미지를 한꺼번에 다 넣고 처리할때 사용합니다.

 

Enable 이것을 선택하셔야 Controlnet이 작동합니다.

Low VRAM : VRAM 이 부족할때 사용하며, 그 대신에 속도가 느려집니다.

Pixel Perfect : 프리 프로세서의 해상도를 자동 설정하도록 합니다. 초기 설정이 On으로 되어있습니다.

Allow Preview : 쉽게 말하면 미리보기 기능입니다. 이것을 선택 한 다음 프리 프로세서 모델을 선택하고

                          위에 폭탄그림 아이콘을 클릭하면 미리보기로 생성됩니다.

Effective Region Mask  : 입력 이미지에서 마스크 처리한 부분을 업로드할 때 사용합니다.

 

Control Type

여기서 프리 프로세서 종류를 선택합니다.

선택을 하시면 아래 프리프로세서와 모델이 자동 설정 됩니다.

 

Preprocessor/Model

위에 메뉴와 같다 보시면 되고 프리프로세서 모델을 선택할 수 있습니다.

 

Control Weight 이것은 가중치 설정입니다.

 

Starting Control Step / Ending Control Step

이것은 0.1,  0.2, 1 등 백분율 단위로 사용합니다.

예를 들어 Starting을 0.1로 하고 Ending을 0.2로 설정하면

ControlNet이 10%에서 생성 시작했다가 20%에서 종료합니다.

 

Control Mode

프롬프트의 압력의 밸런스를 적용합니다.

나의 생성 이미지 프롬프트를 중시할것이냐 아니면 ControlNet 기능을 중시할것이냐 그걸 말하는 겁니다.

 

Resize Mode

이건 img2img 탭에서 사용하는 파라미터와 같은 것인데 

쉽게 설명하면

단지 이미지 사이즈를 변경할것이냐 아니면 사이즈를 변경하면 상실하는 부분이나 이미지가 커질때 어떻게 처리할것이냐

그것을 선택하는 겁니다. 단지 사이즈를 바꾼다. 사이즈 바뀐 부분은 짤리거나 새로 생성한다. 줄이면 줄인다. 늘릴때는 새로운 이미지가 생성되거나 하는 겁니다.

 

자 ControlNet 부분에서 설치하고 설명까지 마치었습니다.

 

다음 포스팅은 프리 프로세서를 적용했을때 이게 뭔지 한번 적용해 보겠습니다. 감사합니다

 

 

 

반응형
LIST

구글 검색 엔진 캡처사진
구글 뉴스 검색 캡처사진

 

구글의 오픈소스 온디바이스 모델 젬마3(Gemma 3)는 최신 기술을 활용한 경량화된 인공지능 모델입니다. 이 모델은 단일 GPU나 TPU에서도 실행 가능하며, 다양한 하드웨어 환경에서 높은 성능을 발휘하도록 설계되었습니다.

주요 특징:

  • 다양한 매개변수 크기: 10억, 40억, 120억, 270억 개의 매개변수 버전으로 제공되어, 사용자가 하드웨어 성능에 맞는 모델을 선택할 수 있습니다.
  • 멀티모달 기능: 텍스트, 이미지, 짧은 비디오를 분석할 수 있으며, 140개 이상의 언어를 지원합니다.
  • 확장된 컨텍스트 창: 최대 128,000개의 토큰을 처리할 수 있어, 이전 모델보다 훨씬 더 많은 데이터를 다룰 수 있습니다.
  • 안전성: 유해 콘텐츠를 감지하고 차단하는 기능을 갖춘 '실드젬마2(ShieldGemma2)'와 함께 제공됩니다.

젬마3는 구글의 제미나이 2.0(Gemini 2.0) 기술을 기반으로 개발되었으며, 오픈소스 커뮤니티에서 쉽게 접근 가능하도록 설계되었습니다. 이 모델은 AI 연구자와 개발자들이 다양한 애플리케이션을 구축하는 데 도움을 줄 수 있도록 설계되었습니다.

 

젬마3의 각 버전은 매개변수 수에 따라 이름이 다소 간단하게 구분됩니다.

 

아래는 예상되는 각 버전의 이름입니다:

  1. Gemma3-1B: 10억 개의 매개변수 모델
  2. Gemma3-4B: 40억 개의 매개변수 모델
  3. Gemma3-12B: 120억 개의 매개변수 모델
  4. Gemma3-27B: 270억 개의 매개변수 모델

아래는 제가 언급한 젬마3 모델 정보들을 보기 쉽게 정리한 표입니다:

 

 

모델 이름 매개변수 수 용도 및 특징
Gemma3-1B 10억 개 리소스가 제한된 환경에서 간단한 작업에 적합
Gemma3-4B 40억 개 중간 수준의 작업을 수행하며, 적은 자원으로 높은 성능 제공
Gemma3-12B 120억 개 정교한 작업 및 큰 데이터셋 처리에 적합
Gemma3-27B 270억 개 복잡한 작업 및 최고 성능 요구 애프리케이션에 적합

 


자 그럼 일단, Hugging Face  홈페이지에 가봅시다.

 

hugging face gemma3 검색

 

저는 GPU가 8GB라 저사양이므로  Gemma3-12B가 적합할 것으로 보이네요.

 

모델 사용하는 방법은 엄청 쉽습니다. 오픈소스이기 때문에

 

이제 뭐 설치하고 그럴필요도 없어요.

 

GPT4ALL 프로그램을 사용하면 마우스 클릭만으로 바로 사용할 수 있습니다.

아래 링크로 GPT4ALL 설치링크 걸어놨습니다. 별거 없습니다.

 

2025.03.13 - [오픈소스 모델] - GPT4ALL 모든 오픈소스 AI 모델을 무제한으로 사용할 수 있는 프로그램을 소개합니다.

 

GPT4ALL 모든 오픈소스 AI 모델을 무제한으로 사용할 수 있는 프로그램을 소개합니다.

GPT4All: 로컬에서 공개된 모든 오픈소스 모델을 쉽게 사용할 수 있다. 단, 라이센스를 반드시 확인하자.1. GPT4All이란?GPT4All 개요GPT4All은 로컬에서 실행 가능한 오픈소스 AI 모델로, 인터넷 연결 없

suncommq.tistory.com

 

링크 타고 들어가셔서 원하시는 버전 링크를 복사하기 하세요.

모델 링크를 복사해 줍니다.
모델 링크를 복사해 줍니다.

 

그 다음 GPT4ALL을 실행하고 모델 검색합니다.

 

Model 탭에서 - Add Model 클릭
Model 탭에서 - Add Model 클릭
hugging face에서 복사한 모델 링크를 붙여넣기

 

hugging face에서 복사한 모델 링크를 붙여넣기 하시면 됩니다. 간단하죠. 그리고 다운받고 실행만 하면 끝입니다.

얼마나 편합니까

여러가지가 주욱 나오네요.

 

여러가지가 주욱 나오네요. 아무거나 해봅시다. 저는 밑에 f16 지원에 21.9GB 선택했습니다.

용량 크고 제 PC가 똥컴이라 다운받는라 시간 좀 걸렸습니다.

 

Chat 탭 가셔서 모델 선택하시면 됩니다.

 

자, 설치 다됬네요. 모델 선택하고 바로 돌려봅시다.

 

여기서 잠깐,

모델은 기본적으로 입력 방법이나 프롬프트가 정해져 있고요, 그리고 제가 빼먹은 게 하나 있는데 꼭 라이선스를 확인하세요.

 

입력 방법을 알아보는데는 copilot이 좋습니다. 

 

copilot 한테 가서 물어봅시다.

 

마이크로소프트 copilot 한테 프롬프트 입력 방법을 물어봅시다.
마이크로소프트 copilot 한테 프롬프트 입력 방법을 물어봅시다.

 

그냥 편하게 입력하면 된다는 거 같습니다.

그러면 영문으로 번역기 돌려가면서 원하시대로 입력해 봅시다.

 

엉?! 그런데 에러가 나네요.

 

 

에러 메세지가 나오네요.
에러 메세지가 나오네요.

 

아마도 지원 형식이 다른것 같네요.

 

다른 시도를 해볼께요.

 

 

 

 

...................................................................................................................................................................................

 

모델 형식이 달라서 시도 해봐야 소용 없는 일이었네요.음....

 

그렇다면 파이썬으로 실행 시킬수 밖에 없네요.;;;

 

포기할 순 없다...!

 

또 다른 방법을 시도해 보겠습니다.

 

gemma3 폴더를 만들어 줍니다.

 

 

cmd, gemma3 위치에서 명령어 실행 :

pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3

 

git 명령어 실행

 

파이썬 소스 작업해 봅니다

 

api로 접근 금지 해놨네요

 

접근 허가 필요

 

역시 구글이네요. 이건 말만 오픈소스지 파일 변환 해놓고 api로 접근 허가 받아서 파일 변환 시킨 다음에

하게끔 되있네요. 정말 거지 같네요. 안 쓰겠습니다 저는....

 

오늘 뉴스에 좋다고 나왔길래 알려 드릴려고 기쁨 마음에 포스팅 하면서 저도 해봤는데 

이 모델 아무리 좋아도 안쓰겠습니다.

 

좋게 포스팅하려고 시작했다가 욕만 먹게 됬네요.

 

차라리 메이드 인 차이나 deep seek 오픈소스가 100배 낫네요.

 

읽어 주셔서 감사합니다.

반응형
LIST

2025.03.13 - [오픈소스 모델] - GPT4ALL 모든 오픈소스 AI 모델을 무제한으로 사용할 수 있는 프로그램을 소개합니다.

 

GPT4ALL 모든 오픈소스 AI 모델을 무제한으로 사용할 수 있는 프로그램을 소개합니다.

GPT4All: 로컬에서 공개된 모든 오픈소스 모델을 쉽게 사용할 수 있다. 단, 라이센스를 반드시 확인하자.1. GPT4All이란?GPT4All 개요GPT4All은 로컬에서 실행 가능한 오픈소스 AI 모델로, 인터넷 연결 없

suncommq.tistory.com

 

오픈소스 GPT4ALL 설치 방법은 위에 링크로 걸어 놓았습니다.

 

gpt4all을 사용하여 오픈소스 모델인 DeepSeek-R1-LIama-8B를 가지고 일반인이 모르는 매우 상세한

주가 분석도 가능한 것으로 여겨집니다.

 

 

GPT4ALL에서 NVIDIA 주가 분석

 

구글 번역기 동원하였습니다.

 

언넝 가서 LS머트리얼즈 분석을 요청해야겠습니다. 저는 이만...

반응형
LIST

+ Recent posts