본문 바로가기

Machine Learning

(9)
파이썬 가상환경 차이 - virtualenv / pyenv / venv / pipenv / conda -miniconda, anaconda 파이썬 가상환경 차이 Anaconda 는 "가장 널리 사용되는 데이터 과학, 기계 학습 및 AI 프레임워크를 포함하여 1500개 이상의 패키지를 Anaconda 저장소에서 사용할 수 있습니다. 이는 conda-forge 및 bioconda 를 포함한 채널링에서 Anaconda 클라우드에서 사용할 수 있는 수천 개의 추가 패키지와 함께, conda를 사용하여 설치할 수 있습니다. 이 많은 패키지 컬렉션에도 불구하고 PyPI에서 사용할 수 있는 150,000개의 패키지에 비해 여전히 작습니다. 반면에 PyPI의 모든 패키지를 바퀴로 사용할 수 있는 것은 아닙니다. 이는 일반적으로 C/C++/Fortran 코드가 필요한 데이터 과학 라이브러리에 특히 문제가 됩니다. conda 환경에서 pip를 사용하여 PyP..
Django vs Flask django: 컨텐츠 기반 웹사이트를 위한 프레임워크로 무겁지만, 다소 복잡한 처리를 위해 좋다 flask: 작은 앱, api, 웹서비스 용으로 적합한 가벼움 프레임워크이다. 기본적인것만 제공하며 URL 루팅, 요청과 응답, 템플렛 응답들을 처리하기에 적합. 출처: https://perpetual.tistory.com/155 [단단단]
uWSGI / gunicorn / NginX 플라스크나 장고를 이용해 서버를 만들고나서 python manage.py runserver나 python app.py로 서버를 실행했다고 합시다. 위의 방식으로 서버를 실행하는 건 프로덕션용이 아니기 떄문입니다. 플라스크 앱을 위처럼 실행시키면 프로덕션에서 사용하지 말라는 경고가 나오죠. 이번엔 플라스크 앱을 프로덕션용으로 만들기위해 필요한 것 중 하나인 WSGI에 대해 알아보죠. WSGI는 Web Server Gateway Interface의 약자입니다. 이름에서 보이듯 WSGI는 구현체가 아닌 인터페이스입니다. 웹서버와 파이썬으로 구현한 웹 어플리케이션 서버가 통신하기 위한 규약이죠. 쉽게는 HTTP 메세지를 파이썬 call로 변환하는 것이고 자세한 내용은 PEP333에 잘 정의되어 있습니다. 즉, ..
인공지능 비즈니스의 3가지 요소 인공지능 비즈니스의 3가지 요소 알고리즘 데이터 비즈니스모델 기술을 가장 먼저 개발하는 것 못지 않게 기술에서 가치를 먼저 끌어내는 것도 중요한 일이다. 기술의 창조적인 응용 조건 기술적 통찰 시장 끌어오기 Market Pull : 시장이 혁신을 이끄는 경우. 고객의 니즈와 문제가 대두되어 이를 해결해주는 제품과 서비스가 개발되는 형태. 기술 밀어 넣기 Technology Push : 기술이 제공하는 기능을 기반으로 소비자에게 필요할 법한 제품을 개발하는 방식. 인공지능 같은 새로운 기술이 등장해서 인류의 생활양식을 전면적으로 바꾸는 시기. 테크놀로지 푸시가 중요. 급진적인 변화가 일어나는 시기에는 시장에서 기회를 감지하기가 어렵다. 헨리 포드가 당시 사람들에게 어떤 교통수단을 원하는지 물었다면 ‘더 빠..
맥북 M1에 conda tensorflow 2.5 설치 가상환경 활성화 후 tensorflow의 의존성을 설치한다. conda install -c apple tensorflow-deps tensorflow의 본 패키지를 설치한다. pip install tensorflow-macos metal 플러그인을 설치한다 pip install tensorflow-metal 2.4보다 절차가 훨씬 간결하고 쉬워진 것을 발견했다. 무엇보다도 이번 버전의 놀라운 점은 tensorflow-metal이라는 plugin 설치를 통해 M1 맥북의 GPU를 사용할 수 있게 되었다는 것이다. 이미 이전 버전에서 Rosetta 없이 native M1 머신러닝을 할 수 있게 되었다는 것에 더해, 이번 버전을 통해 M1 GPU를 사용할 수 있게 됨으로써 머신러닝시 런타임의 큰 감소가 기대되..
pyarrow, parquet 파케이 파켓 대용량 파일을 읽을 수 있는 라이브러리 메모리 내 분석을 위한 개발 플랫폼 빅데이터를 빠르게 처리할 수 있다. $pip install pyarrow csv를 pandas보다 빠르게 읽어 온다. from pyarray import csv df = csv.read_csv("file.csv").to_pandas() parquet 파일을 생성하고 읽을 수 있다. df.to_parquet('df.parquet', engine='pyarrow', compression='snappy') 데이터프레임을 df.parquet파일로 만들어준다. parquet(칼럼 기반 저장 포맷) 칼럼단위로 구성하면 데이터가 균일하므로 압축률이 높다. 필요한 컬럼만 읽으므로 디스크 IO가 적다. 컬럼별로 적합한 인코딩을 사용할 수 있다. ..
미운코딩새끼 파이썬 기초 필기 - 자료형, 문자열, 리스트 # Numeric: 숫자 int, float # String: 문자열 " " / ' ' # Boolean: 논리 참, 거짓 True/False # List: = [ ] 가변. 안에 있는 값 변경 가능. # Tuple: = ( ) 불변. 리스트와 비슷하지만 안에 있는 값을 바꿀 수 없다. # Dictionary: = { } 키Key:값Value 쌍으로 존재. 수정 가능. - List, Tuple, Dictionary => 컨테이너container str(): 문자열 int(): 정수 float(): 실수 list(): -string을 강제로 바꿀 수 있다. coding -> c, o, r, d, i, n, g #: 코멘트Comment. 주석. 사람이 보기 위해 적을 때. 컴퓨터는 주석 안읽고 무시함. 문자..
딥러닝 개념, 순서 AI > Machine Learning > Deep Learning Machine Learning: model.fit Deep Learning: 인공신경망. 신경망을 본 따서 만듦. ㅇ-하나를 노드(node)라고 함. / 처음 들어가는 레이어 하나 (= Input Layer) ㅇ ㅇ ㅇ ㅇ ㅇ }-하나의 층을 레이어(layer) ㅇ ㅇ ㅇ ㅇ } hidden layer (인풋과 아웃풋을 제외한 레이어는 숨겨져 있다.) ㅇ ㅇ ㅇ } ㅇ - 마지막 하나 (= Output Layer) 레이어가 깊게 구성되어 딥Deep러닝 순서 1. 데이터 2. 모델 구성 3. 컴파일, 훈련 4. 평가, 예측
설치 0. 그래픽 드라이버 설치 - nvidia만 가능. 현재 rtx2080 8g. gpu를 돌리면 시험시간 5시간 안에 충분히 가능하다. 1. 아나콘다 설치 - pip로 자동 설치. python 3.8.3 2. 파이참 설치 3. Cuda 10.1 다운로드 - GPU에서 병렬처리를 해주는 프로세서 - 설치 시 사용자 정의로 visual studio integration 체크 해제(나중에 오류의 원인이 될 수 있음) - CPU의 i7 10세대: 10코어 20스레드. 머리가 10개, 머리를 한 번에 작업할 수 있는 손이 20개. 작업을 한 번에 20개씩 할 수 있어 빠르다. - GPU의 Cuda 프로세스: 만개의 손. 그래서 GPU가 훨씬 빠르다. CPU는 아인슈타인의 뇌. 고성능의 높은 연산을 필요로 할 때 사..