반응형

인공지능 AI 37

ChatGPT로 "비즈니스 모델 특허 출원 명세서와 요약서 작성기" 만든 후기

쉽다! 정말 누구나 할 수 있다 ChatGPT의 GPT 빌더로 비즈니스 모델 특허 출원 명세서와 요약서 작성기를 만들어보았다. 생각보다 굉장히 쉽게 만들 수 있어서 놀랐다. GPTS(https://chat.openai.com/gpts)에서 Create을 누르면 쉽게 만들 수 있다. 단 무료 사용자는 안 되고, 매달 20$ 내는 Plus 사용자이어야 한다. Name, Description, Instructions만 작성하면 만들어진다. 정말 간단했다. 물론 내가 원하는결과가 나오도록 Instructions를 작성하기는 쉽지 않았다. 비즈니스 모델 특허 출원 명세서와 요약서 작성기 비즈니스 모델 특허 출원 명세서와 요약서 작성기 GPT를 만들었다. 실제 사용 예는 아래와 같다. 테스트를 위해서 본 발명은 기..

인공지능 AI 2024.01.21

Q. 주피터 노트북Jupyter Notebook에서도 sentry를 쓸 수 있을까?

A. 그냥 사용하면 작동하지 않는다. 주피터 노트북 매직 명령어로 등록하면 사용할 수 있다. sentry 에러 모니터링 툴 사용법을 보고 프로젝트까지 모두 만들자. 예제 코드 실행 시 오류 모니터링 실패 예제 코드 그대로 주피터 노트북에서 실행해보자. 센트리 이슈에 에러가 추가되지 않는다. 매직 명령어 등록 매직 명령어 등록이 필요하다. jupyter notebook 파일이 있는 곳에 아래 코드로 sentry_magic.py 란 파일에 만들자. sentry_dns 에는 당연히 자신의 Project 것을 입력해야 한다. from IPython.core.magic import register_cell_magic import sentry_sdk sentry_dns = "https://61542d0d570096..

인공지능 AI 2023.09.02

Q. 아나콘다 설치 없이 주피터 노트북 실행시키는 방법은?

A. pip install notebook으로 설치, jupyter notebook 실행하면 된다. 주피터 노트북만 필요하다면 굳이 아나콘다까지 설치할 필요가 없다. 맥의 경우에는 아래처럼 하면 된다. $ mkdir notebook $ cd notebook $ python3 -m venv venv $ source ./venv/bin/activate $ pip install notebook $ jupyter notebook 위 예시는 가상환경 만드는 것부터 적어본 것이고, 그냥 pip install notebook부터 해도 된다. 주피터 노트북이 잘 실행되는 걸 볼 수 있다. 노트북 화면이 보인다. 실행해보자. 정상적으로 뜨는 것을 볼 수 있다. 이렇게 했을 때 장점은 각 프로젝트마다 팩키지 관리를 할 수..

Q. GPU 달린 내 컴퓨터에 제대로 pytorch가 설치되었는지 테스트 하는 방법은?

A. python을 실행한다. 아래처럼 입력한다. $ python import torch torch.rand(5).to('cuda') 제대로 작동한다면 아래처럼 나온다. cuda를 써서 난수를 얻어낸 것이다. torch.rand(5) 는 잘 실행되는데, torch.rand(5).to('cuda')는 엄청 오래 걸리고 잘 안 된다면, 관련 프로그램을 다시 설치해야 한다. pytorch가 cuda를 쓸 수 없는 상태이므로.

딥러닝Deep Learning 공부를 위한 서버용 데스크탑 컴퓨터 구입기

금액이 커서 한번 실패하면 또 살 수 없어서 이것저것 찾아 봤다. 그냥 Dell의 딥러닝을 위한 서버 컴퓨터를 살까 싶어서 알아봤지만 너무 비쌌다. 그래서 그냥 직접 맞추기로 결정했다. 딥러닝을 공부하는데 왜 컴퓨터가 따로 필요할까? GPU 때문! GPU 때문이다. 딥러닝Deep Learning 코드를 돌려 보려면 GPU 달린 컴퓨터가 필요하다. 그것도 Nvidia. 많은 딥러닝 코드가 CUDA를 기본으로 쓰고 있기 때문이다. 엔비디아의 GPU가 달려 있지 않은 컴퓨터에서 실행하면? 당연히 에러가 난다. 코드를 돌려보지도 못한다면? 공부가 불가능하다. CPU는 어떤 걸 해야할까? Intel인텔! AMD도 빠르다던데 왜 인텔을 해야 할까. MKL 같은 인텔 기반 수학 라이브러리를 쓰는 코드를 실행하려면 인..

Q. 판다스Pandas에서 MySQL 접속해서 테이블 데이터 읽어오는 법은?

A. read_sql_table 메소드로 읽어올 수 있다. MySQL 데이터베이스를 sql 파일로 출력해서 읽어오는 방법을 시도했는데, 판다스에서는 제공해주지 않는 거 같다. MySQL 데이터베이스에서 특정 테이블을 csv로 출력해서 read_csv 메소드를 활용해서 읽어도 된다. 문제는 테이블 특정 칼럼 안에 ','나 '\t'이 있을 경우 csv 또는 tsv로 출력한 뒤 판다스에서 해당 파일을 읽어올 경우 오류가 발생한다. 그런 경우에는 데이터베이스에 접속해서 바로 판다스에서 읽어오는 것이 편하다. 판다스에서 바로 접속해서 읽어올 경우 데이터베이스 연결이 반드시 필요하다. 데이터베이스에 연결하는 라이브러리는 많은데, 판다스에서는 sqlalchemy만 지원한다. 따라서 sqlalchemy를 사용해서 연결..

Q. SQL문을 판다스Pandas로는 어떻게 할까 궁금하다면?

A. 관련 한국어 자료가 없는 거 같아서 위키독스를 활용해서 직접 작성했다. Ctrl+C & Ctrl+V 시리즈: 이 SQL문을 Pandas에서는 어떻게 할까? 대부분 개발자들은 SQL을 알고 있다. 관계형데이터베이스에서 데이터를 다루기 위해서는 필수로 알아야 하니까. SQL에서 할 수 있는 것들을 판다스에서 대부분할 수 있다. 아니 익숙해지면 더 쉽게 할 수 있다. 하지만 어떤 것이 어떻게 대응하는지는 찾기 어렵다. 그래서 정리해본 것이다. 계속 수정 작업 중이다. 아주 간단하고 쉬운 예제로 구성되어 있기 때문에 복사 붙여넣기로 직접 실행해보면 판다스에서 어떻게 응용하면 될지 쉽게 파악할 수 있다.

Q. AIHub 데이터 라이센스는 어떻게 될까?

A. 저작자인 한국지능정보사회진흥원 명시할 경우 자유로운 이용 및 변경이 가능하며 2차적 저작물에는 원 저작물에 적용된 것과 동일한 라이선스를 적용 AI데이터 다운로드 정책 AI Hub에서 제공하는 AI데이터를 이용함에 있어 다음과 같은 사항을 준수해야 함을 고지하오니 이에 동의하여 이용 할 수 있습니다. 1. 저작자인 한국지능정보사회진흥원 명시할 경우 자유로운 이용 및 변경이 가능하며 2차적 저작물에는 원 저작물에 적용된 것과 동일한 라이선스를 적용하여야 한다. 2. 제공받은 AI데이터를 대하여 승인을 얻은 연구자가 아닌 제 3자에게 열람하게 하거나 제공, 양도, 대여, 판매하지 아니한다. 3. AI데이터에 기반한 제품 제작 또는 기술연구에 활용한 논문, 제품 등 결과물에 데이터의 출처가 한국지능정보사..

인공지능 AI 2021.03.23

맥Mac에서 주피터 노트북Jupyter Notebook 500: Internal Server Error 나는 경우

에러 원인이 다양하다. 내가 겪은 상황 맥에 계정을 여러 개 만들어서 쓰고 있다. A란 계정에서 주피터 노트북을 설치했다. 해당 계정에서는 잘 작동했다. B계정에서도 주피터 노트북을 설치했다. 실행하면 500 에러가 떴다. 다시 삭제 뒤 설치해도 인터넷에 나온 방법들을 적용해봐도 계속 같은 에러가 났다. 에러가 난 이유 찾아보기 PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter/nbconvert/templates/conf.json' 에러 로그를 안 보고 인터넷만 찾아서 하다가, 로그를 보니 퍼미션 에러였다. 권한 주기 터미널을 열고 sudo chmod -R 771 /usr/local/share/jupyter/nbconvert..

두 데이터프레임 df1, df2를 비교해서 df2 새로운 칼럼에 df1의 값을 입력하기 예제

학생 이름과 반 정보가 있는 테이블A가 있고 이름 정보만 있는 테이블B가 있다. 테이블B에 있는 이름 중 테이블A에 있는 이름과 같은 이름일 경우에는 반 정보를 입력하고, 없을 경우에는 '미정'이란 정보를 입력하자. import pandas as pd df1 = pd.DataFrame(data= {'이름': ['이서연', '김민준', '박지우'], '반': ['1-1', '2-1', '3-2']}) print(df1) print() df2 = pd.DataFrame(data= {'이름': ['박지우', '김소연']}) print(df2) print() df2['반'] = df2['이름'].map(lambda x : df1.query("이름 == '" + x + "' ").반.iloc[0] if len(d..

Q. nltk의 PorterStemmer, LancasterStemmer로 eat, ate, eaten을 어간 추출하면 어떻게 될까?

A. 잘 안 된다. - eat - eating - ate - eaten - eats 을 어간 추출 해보자. from nltk.stem.porter import PorterStemmer stemmer = PorterStemmer() print(stemmer.stem('eat')) print(stemmer.stem('eating')) print(stemmer.stem('ate')) print(stemmer.stem('eaten')) print(stemmer.stem('eats')) 결과는? eat eat ate eaten eat 이다. eat, eating, eats는 똑같이 eat으로 되지만, ate과 eaten은 되지 않는다. LancasterStemmer을 활용하면 좀 더 낫다. from nltk.st..

Q. 인공지능Artificial Intelligence, 머신러닝Machine Learning, 딥러닝Deep Learning의 관계는?

A. 인공지능 ⊃ 머신러닝 ⊃ 딥러닝 인공지능이 가장 큰 개념으로 머신러닝을 포함하고, 딥러닝은 머신러닝의 한 분야로 머신러닝이 딥러닝을 포함한다. 지금은 딥러닝이 인기가 많아 마치 인공지능 = 딥러닝처럼 느껴지지만, 인공지능 ≠ 머신러닝 ≠ 딥러닝이다. 인공지능에는 머신러닝(기계학습) 말고도 여러가지 것들이 있다. 퍼지 논리, 전문가 시스템 등. 머신러닝에도 딥러닝 알고리즘뿐만 아니라 결정트리, 클러스터링, 강화 학습 등 다양한 알고리즘이 있다.

인공지능 AI 2021.03.03

Q. Colab에서 GPU 쓰는 법은?

A. 런타임 설정에서 GPU로 설정을 바꿔줘야 한다. 기본은 None이다. 런타임 메뉴를 누른다. 아래쪽에 런타임 유형 변경이 있다. 유형 변경을 누르면 노트 설정이 뜬다. 여기서 GPU로 설정해줘야 한다. 머신러닝 모델을 만들어서 학습 시킬 때, 속도가 GPU 쓰는 것과 안 쓰는 것 차이가 10배 이상이다. 꼭 GPU 설정을 해야 한다.

Q. 구글 Colab을 쓰면서 로컬local에서 주피터 노트북에서 작업할 수 있을까?

A. 데스크탑용 Google 드라이브를 설치하면 된다. 구글 드라이브 다운로드 및 설치하기 윈도우와 맥만 지원된다. 리눅스는 아쉽게 안 된다. 설치하기 설치가 끝나면 맥의 경우 위와 같은 아이콘이 생긴다. 아이콘을 클릭하면 아래처럼 구글 드라이브 디렉터리가 보인다. 데스크탑 구글 드라이브는 별개 아니라 클라우드 드라이브를 로컬 디렉터리처럼 접근할 수 있게 해준다. 따라서 로컬 내 맥에 설치된 주피터 노트북에서 구글 드라이브에 있는 주피터 노트북 파일에 접근할 수 있게 된다. 로컬에서 My Drive 디렉터리 안에 들어가서 주피터 노트북 파일 만들기 로컬에서 My Drive 디렉터리 안에 들어가서 Google Drive Test 주피터 노트북 파일을 만들었다. 그리고 hello world를 출력했다. 구글..

Q. Colab에서는 왜 상대경로 지정이 잘 안 될까?

A. 현재 작업 디렉터리가 '/content'이기 때문이다. 주피터 노트북 파일을 Colab에서 열었고, 노트북 파일과 같은 위치에 데이터 파일이 있다. 그래서 아래처럼 코드를 작성했다. df_train = pd.read_csv('./train.txt', encoding='utf-8') df_train 파일을 찾을 수 없다는 에러가 난다. df_train = pd.read_csv('train.txt', encoding='utf-8') df_train 위처럼 해봐도 에러가 난다. 그 이유는 현재 작업 디렉터리가 주피터 노트북 파일이 있는 디렉터리가 아니기 때문이다. 현재 작업 디렉터리를 확인할 수 있는 getcwd()로 확인해보자. os.getcwd() /content 가 현재 작업 디렉터리라는 것을 알 ..

판다스pandas에서 데이터를 한 줄row씩 읽어와서 기존 값을 바탕으로 새 값을 새 칼럼에 넣기

이름 국어 수학 이서연 70 80 김민준 70 80 박지우 70 80 위와 같은 데이터가 있다. 여기서 과목별 합계 점수를 구해 '합계'란 칼럼을 추가해서 값을 넣고 싶다. 할 수 있는 방식이 여러가지 있지만, 한 줄씩 읽어오는 방식을 사용한다면 다음과 같다. import pandas as pd data_list = [] data = {} data['name'] = '이서연' data['korean'] = 70 data['math'] = 80 data_list.append(data) data = {} data['name'] = '김민준' data['korean'] = 70 data['math'] = 80 data_list.append(data) data = {} data['name'] = '박지우' da..

빅데이터센터, 한글형태소 사전 NIADic

총 93만 단어에 이르는 한글형태소 사전 출처: 빅데이터 센터 한글형태소 사전 NIADic o 국립국어원 우리말샘 사전과 및 SNS 분석기업 인사이터에서 자체 보유한 사전을 기반으로 최신 단어로 구성된 형태소 사전(NIADic) 제작(총 93만 단어) 저작권: 저작자표시-동일조건변경허락 2.0 (CC BY-SA)(저작자를 밝히면 자유로운 이용이 가능하고 저작물의 변경도 가능하지만, 2차적 저작물에는 원 저작물에 적용된 것과 동일한 라이선스를 적용해야 합니다.)

Q. 판다스pandas 데이터프레임 내에서 특정 칼럼 기준 중복 데이터를 제거하는 방법은?

A. drop_duplicates(subset=['컬럼명']) 을 쓰면 된다. 먼저 나온 것을 남기고 나중에 나오는 것을 제거한다. (참고: pandas.DataFrame.drop_duplicates) import pandas as pd data_list = [] data = {} data['name'] = '이서연' data['age'] = 31 data_list.append(data) data = {} data['name'] = '김민준' data['age'] = 38 data_list.append(data) data = {} data['name'] = '박지우' data['age'] = 45 data_list.append(data) data = {} data['name'] = '윤지민' data['..

반응형