GPT는 원래 chatbot이 아니라 Text Generating하는 용이었다고 한다.
문맥 파악도 가능하다고 하고 CSV파일로 만들어진 14000여개 데이터 학습을 시켜서 만들 수 있다.
PyTorch, MXNet 딥러닝 프레임워크 둘 중 하나로 트레이닝 시킬 수 있다.
FineTuning은 기존의 모델 파일을 재 학습시키는 것을 의미한다.
학습은 미지수들의 값을 만들고 파라미터 값을 다시 변조시키는 것이라고 한다.
# 변수 : 데이터가 저장되는 공간(memory-RAM)
# 데이터 타입 :숫자(정수, 실수), 문자(열), 리스트, 딕셔너리
# 숫자, 문자 / 리스트, 딕셔너리, 문자열 -> 그러나 파이썬에서는 문자와 문자열 동일 취급
# 반복문
# 조건문
# 함수, 클래스, 패키지, 모듈, 예외처리…
a = list(set([1,2,3,4,5,1,2,3,4,5])) # 집합은 리스트와 성격이 동일하지만 중복 데이터는 허용하지 않는다
print(a)
집합 set을 사용하여 중복 제거를 할 수 있다.
해당 결과는 [1,2,3,4,5]가 나오게 된다.
a = 1
b = 2
aa = "1"
bb = "2"
print(a + b)
print(aa + bb)
# print(aa + a) 데이터 타입이 2개 이상 들어왔기 때문에 모호하다.
print(int(aa) + a)
cc = "13,761,000"
print(float(cc.replace(',','')) + int(cc.replace(',',''))) # type-converting, int type을 float으로 변경하여 연산
해당 코드는 데이터 타입이 중요한 이유이다. 데이터 타입에 따라 연산이 다르게 된다.
# 반복문 연습
for i in [1,2,3,4,5,6,7] :
print(i)
# 구구단
for i in [1,2,3,4,5,6,7,8,9] :
for j in [1,2,3,4,5,6,7,8,9] :
print(i, j, i * j)
# range(a, b) => [a, a+1, a+2, ... ,]
# range(1, 11) => [1,2,3,4,5,6,7,8,9,10]
# 피라미드 별 찍기
row = 10
for i in range(1, row + 1):
star_row = ''
for space in range(0, row - i) :
star_row = star_row + ' '
for star in range(0, i * 2 - 1) :
star_row = star_row + '*'
print(star_row)
별 찍기와 같이 다중 포문에 대해 배우면서 range의 개념을 짧게 배웠다.
위의 주석처럼 말 그대로 for문이 돌아가는 범위를 지정해줄 수 있다. C++에서의 별 찍기에 익숙하다보니 조금 어렵게 느껴졌다.
# 가위, 보자기, 바위
user1 = '가위'
user2 = '보자기'
if (user1 == '가위' and user2 == '가위') or (user1 == '바위' and user2 == '바위') or (user1 == '보자기' and user2 == '보자기') :
print('user1과 user2는 비김')
elif (user1 == '바위' and user2 == '가위') or (user1 == '보자기' and user2 == '바위') or (user1 == '가위' and user2 == '보자기') :
print('user1가 이김')
elif (user1 == '보자기' and user2 == '가위') or (user1 == '가위' and user2 == '바위') or (user1 == '바위' and user2 == '보자기') :
print('user2가 이김')
간단한 if문 사용법. else-if를 elif라고 쓴다.
import requests
url = "https://8oi9s0nnth.apigw.ntruss.com/corona19-masks/v1/stores/json"
res = requests.get(url)
print(res.json())
공적 마스크 판매 현황 조회하는 방법.
https://app.swaggerhub.com/apis-docs/Promptech/public-mask-info/20200307-oas3#/
Build, Collaborate & Integrate APIs | SwaggerHub
app.swaggerhub.com
해당 사이트의 API를 사용하여 접근하는 방법이다. 그 외에도 다양한 API를 모아놓은 사이트를 알게 되었다.
www.apistore.co.kr/api/apiList.do
API, DB 컨텐츠 판매, 구매, 플랫폼 구축 :: API 스토어
국내외 제공하는 다양한 유료/무료 API들을 찾아내어 소개하며 DB컨텐츠를 직접 수급해 API 형태로 제작하여 제공합니다.
www.apistore.co.kr
유료, 무료의 API를 모아놓은 사이트이다. 그 외에는 보통 개발자 센터에서 API를 알 수 있다.
API가 존재하면 사실 크롤링을 할 필요가 없긴 하지...
또한 크롤러는 불법인데, 100% 불법은 아니라고 한다.
저작권 문제도 있지만 크롤러는 곧 클라이언트 프로그램이기 때문에 서버에 부하를 줄 수 있기 때문이다.
그래서 크롤러를 막아놓은 사이트도 있고 무단 크롤링으로 인해 소송이 걸린 사이트들도 짧게 이야기를 들었다.
import time
import random
print('hello')
time.sleep(random.randrange(1, 10))
print('word')
위의 코드는 time 함수를 사용해서 크롤링을 할 때 랜덤한 시간에 따라 지나서 서버에 요청을 넣을 수 있도록 해야한다고 한다. 일정 시간마다 들어오는 요청이나 단기간에 엄청나게 많은 요청을 하게 되면 해당 페이지에서 ip를 차단해버릴 수 있다고..
Postman
post, put 요청을 받아올 수 있도록 만들어준다. 보통은 get 요청만 받아올 수 있음.
보통 서버 개발 시 api를 확인하기 위해서 사용하는 프로그램
Pandas
리스트나 딕셔너리 형태로 바꿔줌 (DB나 File)
데이터 프레임. 중간에서 어댑터 역할을 함
데이터를 읽어올 때 필터링 or 새로 만들어서 저장
Mataplotlib
그래프를 그려주는 라이브러리
그 외에는 Pandas로 파싱한 데이터를 csv, Excel로 저장하는 방법에 대해 배웠다.
(+)
코로나 때문에 수업에 들어온 사람이 대충 5명 밖에 없었다...
나도 좀 고민하긴 했었는데 돈이 아까워서 일단 계속 듣는중. 문법이 확실히 습관적으로 중괄호 쓰려고 하는 게 문제여서 ㅋㅋㅋㅋ 좀 많이 어색하긴 하다. 그래도 짧게 코드리딩할 수 있는 수준 정도는 된 것 같다. 다음주 수업은 마지막 ㅎ
'Review' 카테고리의 다른 글
브랜디 '코드네임B' 1차 통과 (0) | 2020.08.31 |
---|---|
[코딩애플] 파이썬 업무자동화 8월 강의 4주차 完 (0) | 2020.08.30 |
[코딩애플] 파이썬 업무자동화 8월 강의 2주차 (0) | 2020.08.16 |
[코딩애플] 파이썬 업무자동화 8월 강의 1주차 (0) | 2020.08.09 |
2020 상반기 NBP 면접 후기 (0) | 2020.07.16 |
댓글