일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Regularization
- Kaggle
- SVM
- 그래픽스
- 인공지능
- Support Vector Machine
- SGD
- 머신러닝
- neural network
- 로지스틱 회귀
- 파이썬
- 컴퓨터 비전
- logistic regression
- 비용함수
- C++
- 컴퓨터 그래픽스
- pre-trained
- recommender system
- CNN
- OpenGL
- Vision
- Computer Vision
- 신경망
- 추천 시스템
- 딥러닝
- CPP
- Unsupervised learning
- petal to metal
- 백준
- cs231n
- Today
- Total
목록Computer Programming (27)
kwan's note
메모리 기본 작동과정 int i = 7; 위와같은 변수 i는 스택에 저장되고 아래와 같은 변수 ptr가 가르키는 값은 힙에 저장된다. 스택에 할당된 변수는 scope를 벗어나면 자동으로 해제가 되는 반면 힙에 저장된 변수는 해제시켜주어야 한다. int* ptr = new int; 물론 이때 ptr은 스택에 저장된다. 포인터 역시 변수의 일종이기 때문이다. malloc free -> new delete c에선 malloc 을 통해 메모리를 할당하였다. 여전히 c++에서도 malloc을 사용할 수 있음에도 거의 동일한 작업을 하는 new 가 생긴 이유에 대해서 궁금할 수 있을텐데 가장 큰 차이는 사용성에 있다고 볼 수 있다. malloc은 힙영영에 메모리를 따로 빼놓을뿐 어떠한 객체에 이용되는지 알 지 못한..
map은 stl 컨테이너로 키와 value를 저장하는 class이다. template class map; 간단한 선언예시는 다음과 같고 std::map account; account라는 map에 string,int의 pair를 삽입한다. insert,erase으로 삽입,삭제를 진행하고 find를 통해 원하는 key에 대한 value를 찾을 수 있다. C++에서 map은 이진탐색트리를 기본으로 한 트리로 구현되었는데 여기서 문제(?)가 발생한..
본 강의는 udemy pocu 강의를 듣고 작성하였습니다. https://www.udemy.com/course/cpp-unmanaged-programming-by-pocu/ c++ STL 에서 가장 많이쓰이는 컨테이너중 하나로 다양한 데이터를 저장할 수 있는 클래스 입니다. vector는 다양한 데이터를 담을 수 있고 용량을 조절해 주기 때문에 기존 array 처럼 처음 선언한 크기보다 증가해도 사용할 수 있고 list와 다르게 연속된 공간에 위치하기 때문에 index로 접근할때도 빠르게 접근할 수 있습니다. 위와 같은 특성을 가지기 위해서는 size 뿐 아니라 capacity가 필요합니다. size는 실제 데이터가 들어가있는 공간의 크기이고 capacity는 해당 vector에 할당된 용량입니다. 만약..
본 강의는 udemy pocu c++ 수업을 보고 작성하였습니다. Static : 범위의 제한을 받는 전역변수 이다. 이때 범위는 파일/네임스페이스/클래스/함수 가 된다. C스타일 static 변수 즉 파일내에서 사용하는 전역변수는 어떠한 파일에서 static 변수로 선언을 하면 다른 파일에서 extern 키워드를 사용하더라도 이 static 변수에 접근할 수 없다. 함수 속에서 사용하는 전역변수는 최초 선언할때를 제외하고는 초기화를 하지 않고 또 함수 외부에서는 접근하지 않는다. void add(int num) { static int result =0; result +=num; std::cout
정적 링킹과 동적 링킹 코드를 컴파일 한 오브젝트 파일이 미리 만들어놓은 혹은 외부에서 구현한 함수등이 존재하는 라이브러리에 접근하기 위해서는 링킹을 진행해야 합니다. 즉, 외부 라이브러리를 참조하는 실행파일을 만들기 위해서는 다른 프로그램또는 라이브러리를 가져오는 과정인 링킹이 필요합니다. 이러한 링킹에는 두종류가 있는데 하나는 정적 라이브러리를 통해 진행되는 static linking이고 다른 하나는 동적 라이브러리를 통해 진행되는 dynamic linking입니다. 정적 링킹 정적 라이브러리와 링크하는것을 정적링킹이라고 합니다. 만든 오브젝트 파일에서 정적라이브러리의 함수를 오브젝트 파일에 추가하여 실행파일을 만들게 됩니다. 실행파일에 정적라이브러리를 넣기 때문에 실행파일의 크기가 커지고 메모리를 ..
강의출처: 고려대학교 유혁 교수님 운영체제 1950,60년대의 컴퓨터는 지금과 많이 달랐습니다. 모든 프로그램은 기계어로 쓰여졌고 프로그래밍 언어와 운영체제라는 존재가 없었습니다. 하지만 점점 필요성이 증가하고 다양한 문제를 해결하고자 프로그래밍 방식이 생겨났고 그에따라 operation의 방식도 발전하였습니다. 가장 먼저 사용된 방식은 일괄처리 방식입니다. punch card를 제출하면 그대로 적제하고 수행하는 방식입니다. 이 방식은 하나의 일이 끝나고 나서 다음 프로그램을 일일이 실행해야했고 idle time이 너무 길었습니다. 그래서 약간 발전된 형태로 Automatic job sequencing이 생겼습니다. automatic job sequencing은 사람의 관여 없이 여러 프로그램을 순차적으..
본 학습노트는 2021 1학기 고려대학교 유혁교수님의 OS 강의를 수강하고 작성하였습니다. os.korea.ac.kr/ Operating Systems Lab. | Korea University Operating Systems Lab in Korea University was established in 1995. Our research group aims to construct next-generation computer systems achieving high-performance, robustness, and security. The target systems are deep learning systems, cloud platform, net os.korea.ac.kr
수강일시 :2021.01.02 출처: kmooc 컴퓨터구조 14주차: 병렬처리의 기본 개념과 그에 따른 문제점 및 선결조건들을 설명할 수 있다. 병렬컴퓨터의 명령어와 데이터에 따른 분류와 메모리 구성 방법에 따른 분류를 파악한다. 병렬 컴퓨터에 적용되는 연결망의 종류와 특징을 설명할 수 있다. 병렬처리란 다수의 프로세서들을 이용하여 여러개의 프로그램 혹은 프로그램의 분할된 부분을 다수의 프로세서가 동시에 처리하는 기술을 의미한다. 병렬처리가 되려면 해당 프로그램은 다음의 조건을 만족해야 한다. flynn의 분류는 instruction과 data stream의 갯수에 따라 분류한다. SISD: 프로세서한개 데이터스트림 한개인경우, 파이프라이닝 구조에서 이용된다. SIMD: 분산데이터 형태.(벡터 컴퓨터) ..