학교 수업
-
Stack around the variable '변수명' was corrupted 에러 해결 방법학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2022. 6. 12. 22:45
포인터를 사용하여 배열에 할당된 크기보다 더 큰 값을 불러올 때 나타나는 에러이다. #include #define SIZE 5 int main(void) { int A[SIZE]; printf("A 배열 입력\n"); arrInput(A); return 0; } int arrInput(int* arr) { int i; for (i = 0; i < SIZE; i++) { scanf_s("%d", (arr + i)); } } 잘못 생각해서 (arr + i)를 (arr + i * sizeof(int))로 작성했더니 오류가 나왔다.
-
multiprocessing Error 체크리스트학교 수업/3-1 머신러닝, 추천시스템 2022. 5. 19. 20:27
에러 나올 때마다 정신 나갈 것 같아서 에러가 나오고 해결할 때마다 따로 기록함 1. 전역 변수를 사용하고 있는가? 2. 전역 변수와 함수 파라미터 이름이 같은가? 3. Jupyter Notebook으로 진행할 경우, worker 함수를 가진 파일을 따로 만들어서 import 했는가? 4. 현재 Process가 정상적으로 동작하고 있는가? 5. 파라미터를 의도한 대로 제대로 넣었는가? (제대로 넣지 않으면 작동하지 않음)
-
[python multiprocessing] 병렬로 데이터 처리하기학교 수업/3-1 머신러닝, 추천시스템 2022. 5. 6. 02:30
추천시스템 과제를 하는데, 데이터 가공하는데 시간이 좀 오래 걸려서 멀티프로세싱을 사용하게 되었습니다. 원래 팀프로젝트 데이터 가공에 사용하려고 했는데 자꾸 Broken Pipe 에러가 나왔어서 반포기 상태였다가, 과제 데이터를 가공하는데 데이터 처리하는데 거의 20분이 걸리길래 다시 재도전하게 되었네요. 데이터는 MovieLens를 사용합니다. 다운로드는 아래 링크에서 할 수 있고, 이 글을 따라해보신다면 small data를 다운하시길 바랍니다. https://grouplens.org/datasets/movielens/latest/ MovieLens Latest Datasets These datasets will change over time, and are not appropriate for rep..
-
Weight, Bias 초기화학교 수업/3-1 머신러닝, 추천시스템 2022. 5. 3. 01:48
Weight 1) Weight를 특정값으로 초기화하는 torch.nn.init.constants (가장 성능이 좋지 않다.) 2) Weight를 표준정규분포로 초기화하는 torch.nn.init.normal (1보다는 성능이 괜찮다.) 3) Weight를 (0, 1/sqrt(은닉층 노드 수))인 정규분포로 초기화하는 xavier 초기화 (CIFAR10 데이터로 비교시 표준정규분포보다 성능이 2배 더 좋다) 4) Weight를 (0, sqrt(2/(은닉층 노드수))인 정규분포로 초기화하는 he 초기화 (CIFAR10 데이터로 비교시 표준정규분포보다 성능이 2배 더 좋다) xavier의 경우엔 활성화 함수가 sigmoid일 때 성능이 좋고, he 초기화는 활성화 함수가 ReLU일 때 성능이 좋다. ReLU를..
-
[GNN] Neural Graph Collaborative Filtering (NGCF) 코드 정리학교 수업/3-1 머신러닝, 추천시스템 2022. 5. 2. 01:56
1. 참고자료 1. 논문 리뷰 https://velog.io/@tobigs-recsys/Paper-Review-2019-ACM-Neural-Graph-Collaborative-Filtering [Paper Review] (2019, ACM) Neural Graph Collaborative Filtering 작성자 : 이혜린 Neural Graph Collaborative Filtering (2019, ACM) 1. Introduction Recommender system은 크게 Content-based Filtering과 Collaborative Filtering으로 velog.io https://hyez.github.io/study/paper/recommendations/ngcf/ [Paper Revi..
-
'float' object has no attribute 'grad' 에러 해결법학교 수업/3-1 머신러닝, 추천시스템 2022. 4. 18. 14:44
loss값을 구하고 loss.backward()를 할 때 발생하는 오류이다. float 말고도 다른 것들도 들어갈 수 있어서 □ object has no attribute 'grad'와 같은 형태로 나올 것이다. 해결법은 loss값이 required_grad=True인 값들로만 연산을 했는지 확인하여 수정해주면 된다. 참고로 required_grad = True인데, item()을 통해 값을 빼온경우 required_grad=True 속성이 없어지므로 변수들을 하나씩 확인해보자
-
Ch 16. 파일 인덱싱 기법 및 B트리와 B+트리학교 수업/2-2 데이터베이스 기초 2021. 11. 21. 19:49
인덱스(색인) 보조 접근 구조 검색 속도를 높여주기 위한 방법 두번째 접근 경로로 제공댐 인덱싱 필드로 레코드를 효율적으로 검색함 인덱스 종료 단일 단계 순서 인덱스(primary, secondary, clustering, ISAM) 다단계 인덱스(B트리, B+트리) 1. 단일 단계 순서 인덱스(Single-level ordered indexes) Primary index(기본 인덱스) - 정렬된 키(중복X) 필드로 구성된 레코드들의 순서 파일 Clustering index - 정렬된 키가 아닌 필드로 구성된 레코드들의 순서 파일인데, nonkey이므로 중복을 허용함 그래서 파일은 primary index 혹은 clustering index 둘 중 하나임 Secondary index - 정렬되지 않은 파..
-
Ch15. 파일 구조학교 수업/2-2 데이터베이스 기초 2021. 11. 9. 21:01
1. 블록 버퍼링 모든 블록 주소를 알고 있는 몇 개의 블록을 디스크에서 주기억 장치로 전송할 때, 전송 속도를 빠르게 하기 위하여 주기억 장치 내의 몇 개의 버퍼를 예약하여 사용할 수 있다. 하나의 버퍼를 판동하거나 기록하는 동안 CPU는 다른 버퍼 내의 데이터를 처리할 수 있다. 일반적으로 독립적인 디스크 입출력 처리기(제어기)가 존재하여 CPU처리와 병렬로 주기억 장치와 디스크 간에 데이터 블록을 독립적으로 전송할 수 있기 때문이다. 왼쪽 그림은 프로그램이 교대로 수행되지만, 사용자는 동시에 수행된다고 느낌(Interleaved concurrency) 오른쪽 그림은 정말로 병렬처리함 CPU가 하나의 버퍼를 사용하고 있는 동안에 입출력 공간에서 다른 블록을 읽어옴(효과: CPU의 대기시간을 줄여줌, ..