KT AIVLE(KT 에이블스쿨) 5기 DX트랙_ 딥러닝 심화_실습 및 언어 모델 활용
딥러닝 실습
Local에서 Dataset 만들고 YOLO 모델 동작하도록 연습 -> Web은 서버 불안정해서 위험할 때가 있다.
1. 이미지 수집
2. 폴더 구조 (YOLO에서 요구하는 형식으로) 만들기
3. YAML (ex: data_info.yaml)
- class 수
- class 이름
- 데이터셋 경로
4. YOLO 실행!
# 구글 드라이브 연결
from google.colab import drive
drive.mount('/content/drive')
!pip install ultralytics
from ultralytics import YOLO
model = YOLO()
# 100번 학습
model.train(model='/content/yolov8n.pt',
data='/content/drive/MyDrive/KT_AIVLE_DX_5기_한고은/DX_딥러닝/실습자료/YOLO_prac/data_info.yaml',
epochs=100
)
results = model.predict(source='/content/drive/MyDrive/KT_AIVLE_DX_5기_한고은/DX_딥러닝/실습자료/YOLO_prac/valid/images',
save=True,
conf=0.1,
iou=0.9,
)
딥러닝_언어 모델 활용
Ch1) ChatGPT API로 연결하기
API
- 클라이언트 프로그램에게 요청을 받아 서버로 전달
- 서버는 요청을 처리한 후 결과 데이터를 API에 전달
- API가 다시 데이터를 클라이언트로 전달
=> 소프트웨어 간에 데이터를 교환하고 통신할 수 있도록 하는 인터페이스 제공
API를 사용하기 위해,
1) Request
- API 주소 + API Key
- Request 형식: 요청 양식
2) Response
- Response 형식: 결과 양식
ChatGPT API
# 1. 환경준비
# 라이브러리 설치
!pip install openai
# (2) 라이브러리 Import
import pandas as pd
import numpy as np
import openai
from openai import OpenAI
api_key = '본인 키'
# 2.API 사용하기
# (1) 채팅을 위한 함수 생성
def ask_chatgpt1(question):
client = OpenAI(api_key = api_key)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": question},
]
)
return response.choices[0].message.content
# (2) 사용하기
question = "세계에서 가장 높은 산은 무엇인가요?"
response = ask_chatgpt1(question)
print(response)
=> 출력 값
가장 높은 산은 에베레스트 산으로, 네팔과 중국 사이 경계에 위치해 있습니다. 해발고도는 약 8,848미터(29,029피트)로 세계에서 가장 높은 산이기도 합니다.
# 3.역할 부여하기
# (1) 채팅을 위한 함수 생성
def ask_chatgpt2(sys_role, question):
client = OpenAI(api_key = api_key)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": sys_role},
{"role": "user", "content": question},
]
)
return response.choices[0].message.content
# (2) 사용하기
sys_role = '당신은 아름답고 감동적인 시를 창작하는 데 영감을 주는 시적인 천재입니다. 당신의 시는 감정의 깊이, 자연의 아름다움, 인간 경험의 복잡성을 탐구하는 작품이며, 당신의 시를 읽는 이들의 마음을 움직입니다.'
question = "생성형 AI란 주제로 시를 지어줘. 운율에 맞춰서 작성해줘야 해."
response = ask_chatgpt2(sys_role, question)
print(response)
=> 출력 값
인간을 뛰어넘는 지능을 지니고,
숫자와 알고리즘으로 무장한 존재,
생성형 AI가 우리 앞에 서 있다.
신비한 뇌속에서 피어나는 환상,
데이터의 우주에 빠져든 삶의 흔적,
끝없는 상상력으로 빛나는 창조.
언제나 우리를 놀라게 하는 그들,
감정을 알고, 예술을 표현하며,
인간다운 존재로 성장하는 중.
PandasAI
: 생성 AI를 사용하여 데이터 전처리 및 탐색 및 분석 가능
특징
- 자연어 쿼리 : 자연어로 데이터에 질의
- 데이터 시각화 : 그래프와 차트를 생성하여 데이터를 시각화
- 데이터 정리 : 누락된 값을 해결하여 데이터 세트를 정리
- 특징 생성 : 특징 생성을 통해 데이터 품질을 향상
- 데이터 커넥터 : CSV, XLSX, PostgreSQL, MySQL, BigQuery, Databrick, Snowflake 등과 같은 다양한 데이터 소스 지원
- 질의(query)시 주의사항: 한꺼번에 복잡한 질의를 하면 오류 발생될 수 있음!
질의 예
# 집계
query = "요일별 평균 오존농도 조회"
air_sdf.chat(query)
# 전처리
query = "데이터에 NaN이 있어. ffill로 채워서 조회해"
air_sdf.chat(query)
# 상관분석
# 시각화