본문 바로가기

분류 전체보기

변하는 것과 변하지 않는 것 변하는 것 : 기술에 의한 결과물 변하지 않는 것 : 고객을 위하는 마음 더보기
1. CUDA Toolkit 설치 및 설치 확인 1) 기존 것 지우기 # 드라이버 삭제 sudo apt remove --purge '^nvidia-.*' # CUDA 삭제 sudo apt remove --purge "*cublas*" "cuda*" "nsight*" # CUDA 파일 삭제 (아래 명령에서 숫자 부분은 본인이 설치된 버전에 맞게 바꿉니다) /usr/local/cuda-9.0/bin/uninstall_cuda_toolkit_9.0.pl rm -rf /usr/local/cuda-10.2/ 2) 적절한 Cuda Toolkit 설치 아래 사이트에서 설치하고자 하는 버전을 설치 합니다. CUDA Toolkit Archive | NVIDIA Developer 3) bashrc 설정 (아래 명령에서 숫자 부분은 본인이 설치된 버전에 맞게 바꿉니다) .. 더보기
Collections utils ▶ Counter - 해시 가능한 객체를 카운팅 하기 위한 dict의 하위 클래스이다. - 리스트를 입력 값으로 넣으면 원소를 Key 값으로, 갯수를 Value 값으로 반환해 준다. import collections class collections.Counter([iterable-or-mapping]) 사용 예시 from collections import Counter myList = ['red', 'blue', 'red', 'green', 'blue', 'blue'] cnt = Counter(myList) print(cnt) ''' Counter({'blue': 3, 'red': 2, 'green': 1}) ''' for item, count in Counter(myList).items(): # cnt.. 더보기
[MIT] 데이터 사이언스 기초 강의 요약[11 ~ 15강] Chapter 11. Introduction to Machine Learning ▶지도 학습(Supervised Learning) - 분류(Classification), 회귀(Regression)가 존재 - 분류 : 라벨을 예측하는 것(이중 분류 or 다중 분류) (e.g. K-NN) - 회귀 : 연속적인 숫자 혹은 부동소수점을 예측하는 것 (e.g. Linear or Polynomial Regression) ※ 회귀는 분류와 다르게 출력 값에 연속성이 있다. ▶비지도 학습(Unsupervised Learning) - 원래 데이터를 보다 쉽게 해석할 수 있도록 만드는 알고리즘 - 비지도 변환(Unsupervised Transformation), 군집(Clustering), 이상 탐지(Anomaly Det.. 더보기
[고찰] Coding Insight ▶ 함수 생성 딜레마 함수에 인자를 추가해서(기능을 더해서) 함수 중복을 피할 건지 아니면, 함수 최소 기능을 놔 둔체 기능이 다른 함수는 새로 만들 건지는 딜레마다. 1) 함수에 기능을 추가할 경우 장점 : 함수에 기능만 추가하면 코드 중복을 막을 수 있다. 단점 : 함수 내에 분기 문이 늘고, 함수가 길어진다. 2) 기능이 일부 다른 함수를 새로 만들 경우 장점 : 코드가 명확해 지고, 상위 스택에서 분기를 나누기가 쉽다. 단점 : 코드가 길어진다. ▶ 타 회사 라이브러리 사용시 (라이브러리 사용법 만들기) 쉽다고 생각할 것이아니라(실제로 쉽지 않다) 사용법이 완전히 숙지 되기 위하여 사용법을 요약한 PPT를 만든다. 사건) 본인은 TC387 라이브러리 사용법을 완전히 숙제하지 못해, 어쩡쩡하게 시간.. 더보기
RNN & LSTM 설명 및 구현 ※ 아래의 글은 Colah의 "Understanding LSTM Network"를 번역한 것입니다. Contents 1. RNN(Recurrent Neural Network) 2. RNN의 단점 3. LSTM Network 4. LSTM Network 상세 5. 다양한 LSTM Network 종류 6. 다음 방향 7. Pytorch LSTM Network 1. RNN(Recurrent Neural Network) 과거 사건(시간이 지난 사건)을 네트워크에 반영할 수 없는 것은 기존 NN(Neural Network)의 단점이었다. RNN은 루프(Loop)를 이용하여 이 문제를 해결하였다. 루프는 같은 네트워크를 반복하여 사용하지만(multiple copies of the same network), 정보가 .. 더보기
JSON (JavaScript Object Notation) in C Json 파일 읽어 들이기 //Allocation struct json_object* json_object_from_file(const char* filename) //e.g. struct json_object *pJsonroot = NULL; pJsonroot = json_object_from_file(pPath); //Free json_object_put(pJsonroot); 파일 경로(string)참고하여 json 읽어 들이고 json_object 포인터 반환. 이후 json_object_put을 이용해 해제 해줘야 한다. Json 파일 파싱하기 struct json_object* json_object_object_get(struct json_object* obj, const char* key) i.. 더보기
[MIT] 데이터 사이언스 기초 강의 요약[6 ~ 10강] Chapter 6. Monte Carlo Simulation ▶ 추리 통계학 모집단(Population) : 예시들의 집합, Set of Examples. 표본(Sample) : 모집단의 적당한 부분 집합, Subset of Population. 핵심 개념 : 랜덤 샘플(random sample)한 표본은 모집단과 동일한 특성을 갖는 경향이 있음 분산이 커질 수록 같은 수준의 신뢰도를 갖기 위해서는 더 큰 표본이 필요. ▶ 큰수의 법칙(베르누이의 법칙) 각 실행에서 특정 결과가 나올 실제 확률이 p로 독립인 사건(Independent tests with the same actual probability p)에서, 실행 횟수가 무한대로 갈수록 p와 다른 결과가 나오는 횟수의 비율이 0으로 수혐한다. ▶ 도.. 더보기