일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- implicit rule
- Graph Neural Networks
- geometric viewpoint
- cs224w
- gfortran
- human keypoints
- multiclass SVM loss
- object detection
- parametric approach
- print*
- format이 없는 입출력문
- tensor core
- L2 distance
- computer vision
- 내장함수
- cross-entropy loss
- GNN
- FORTRAN
- implicit rules
- L1 distance
- cv
- feature cropping
- fortran90
- visual viewpoint
- EECS 498-007/598-005
- 산술연산
- Semantic Gap
- image classification
- data-driven approach
- algebraic viewpoint
- Today
- Total
목록전체 글 (24)
수리수리연수리 코드얍
1. Detection: R-CNN 변천사 먼저 Detection 파트부터 살펴보겠다. 사실 여기는 바로 전 강의의 후반부와 겹치는 부분인데, 지난 강의 끝나고 학생들의 질문이 폭주해서 보다 명확한 이해를 위해 강연자께서 더 자세히 설명해주신 내용이다(이 파트 내용이 너무 어려워서 이해하고 정리하는 데 애를 많이 먹었는데, 미시간대 학생들도 그렇게 느꼈다고 하니 조금 위안이 되는 것 같다…ㅎㅎ). 본격적인 시작에 앞서 그래프를 하나 보도록 하자. 이것은 시간이 흐름에 따라 Object Detection의 정확도가 어떻게 변화하는지 나타내는 그래프이다. 2013년을 기점으로 정확도가 대폭 향상하는데, 바로 이때가 ‘딥러닝’이 적용된 시점이다. 그래프가 2015년에서 멈춘 것은 성능 향상이 더 이루어지지 않..
2. Software 먼저 프레임워크의 전체적인 계도를 살펴보자. 파란색 박스 친 부분이 현 세대의 프레임워크인데, 이중 PyTorch와 TensorFlow가 딥러닝 프레임워크 계의 양대산맥이라 할 수 있고, 특히 지금은 PyTorch의 점유율이 급격하게 커지고 있는 중이다. 강의 또한 이 두 프레임워크에 초점을 맞춰 진행된다. 우리가 딥러닝 프레임워크에 기대하는 세 가지 중요한 특징은 다음과 같다. 새로운 아이디어에 대한 빠른 prototyping이 가능: 이는 프레임워크가 딥러닝 프로젝트에서 공통적으로 수행되는 작업에 필요한 여러 레이어, 기능들을 제공해서 우리가 매번 같은 코드를 새로 쓰지 않도록 해야 한다는 의미 backpropagation, computational graphs를 이용해 grad..
1. Hardware 컴퓨터 본체 내부를 들여다보면, 큰 부피를 차지하고 있는 CPU와 GPU를 볼 수 있다. 실제로 이 둘은 그만큼 중요한 구성 요소이다. NVIDIA와 AMD는 하드웨어계의 유명한 라이벌이지만, 딥러닝 분야에 있어서는 승자가 확실하다. 바로 NVIDIA다. AMD의 경우 딥러닝을 위한 범용 컴퓨팅(general-purpose computing)에 활용되는 software stack이 NVIDIA의 것만큼 발전하지 못했기 때문에 딥러닝을 할 때는 NVIDIA의 hardware가 보편적으로 사용된다. 딥러닝에서 GPU라 하면 사실상 NVIDIA GPU라고 보면 된다. ※ 이때 범용 컴퓨팅이란 가전제품 제어, 비행기 항로 제어 등 특수한 목적만을 수행하는 것이 아닌, 사무 처리, 계산 등 ..
예시 코드: ydduri 깃허브 - Joyful_Fortran_Tutorial 목차 1. 산술연산 1) 연산 우선순위 2) 실수 연산과 정수 연산 3) 내장함수 2. format이 없는 입출력문 1) format이 없는 출력문 2) format이 없는 입력문 1. 산술연산 포트란의 산술연산은 so easy하다. 다른 언어와도 크게 다르지 않고, 우리의 상식과도 일치하는 직관적인 문법을 가지고 있다. 쉬운 내용이지만 'FORmula TRANslator(수식 변환기)'라는 이름값을 위해 산술연산에 대해 다뤄보도록 하겠다. 1) 연산 우선순위 ** (거듭제곱) * (곱하기), / (나누기) + (더하기), - (빼기) 연산 우선순위가 같은 연산자들은 왼쪽부터 계산 연산 순서를 바꾸려면 괄호 ()를 사용 우리의..
실습 코드: ydduri 깃허브 - Joyful_Fortran_Tutorial 목차 1. Implicit Rules 2. 실수형 vs 배정도형 3. 문자형 4. 복소수형 5. 논리형 6. Parameter문 1. Implicit Rules 1) 변수 선언을 하지 않았을 때 기본 Implicit Rules(3_1_1.f90) 전전글인 3. Fortran의 변수 체계(이론편)에서 Fortran에 존재하는 변수 선언에 대한 묵시적인 규칙(Implicit Rules)에 대해서 배웠다. 이는 선언부에서 변수의 자료형을 선언하지 않았을 때, 변수 이름이 특정 영문자로 시작하면 '정수형', 그 외에는 '실수형'으로 자동 인식하는 기능이었다. 변수 이름이 I, J, K, L, M, N으로 시작: 정수형 그 외: 실수형..
1단계. 코드 파일 생성 vscode의 탐색기(사이드바에서 종이 두 장 겹쳐 놓은 듯한 아이콘) 클릭 코드 파일을 만들고자 하는 폴더에서 마우스 우클릭 > 새 파일 파일명.f90 이라 쓰고 엔터를 누르면 파일 생성 완료! 2단계. 컴파일 및 실행 (매우 중요!) 터미널에 cd 폴더명 을 입력하여 컴파일 및 실행하고자 하는 파일이 포함된 폴더로 이동! 터미널에 gfortran 파일명.f90 입력하고 엔터 터미널에 ./a.out 입력하고 엔터 cd 폴더명 gfortran 파일명.f90 ./a.out 컴파일 및 실행을 하기 위해서는 우선 해당 코드 파일이 있는 폴더로 이동해야 하는데, 그걸 가능하게 해주는 명령어가 바로 cd(change directory)라는 리눅스 명령어이다(다시 한번 말하자면 필자의 코딩..
목차 1. 상수(Constants) 1) 지수 표기법 2) 실수형 vs 배정도형 3) 정수형 연산 vs 실수형 연산 2. 변수(Variables) 1) Fortran 변수 선언의 규칙 2) Fortran 변수 선언 방법 3) 묵시적인 규칙(Implicit Rules) 4) Parameter문 5) 변수에 값 할당하기 6) 변수의 종류에 따른 기억장소 크기 1. 상수(Constants) Fortran에서 처리할 수 있는 데이터로, 그 자료형에는 총 6가지 종류가 있다. 정수형(integer): 1, 0, -512, -97, 2023 실수형(real): 1.0, -0.12, 3.0E7(=\(3.0*10^7)\), 5.3E-1(=\(5.3*10^{-1})\) 배정도형(double precision): 0.25..
1. Fortran? FORmula TRANslator(수식 변환기)의 약자, 과학 계산용으로 주로 사용되는 언어 수학식을 그대로 표현 가능, 기초적인 수학함수(삼각함수, 지수함수 등) 바로 사용 가능 1950년대에 개발되어 여러 버전 업그레이드가 이루어져 왔다(대표적으로 Fortran 77-90-95, 각각 2003-2008-2018년). 대표적인 사용 분야가 필자의 전공이기도 한 대기과학! 위키피디아에 따르면 기후 및 기상 예측, 자원 탐사, 우주 항공, 유체 및 구조해석, 계산화학, 천문학 등에서 폭넓게 사용된다고 한다. 현재 대기과학 분야 연구에서는 Fortran 90이 가장 보편적으로 쓰인다고 알고 있다. 본 튜토리얼 또한 Fortran 90 기준으로 진행된다. 2. Fortran을 왜 배우는가..
자료가 하도 없어서 직접 만드는 즐거운 Fortran 튜토리얼, 지금 시작합니다! 이론적인 내용은 해당 티스토리 블로그에, 코드는 '필자의 깃허브-Joyful_Fortran_Tutorial 레포지토리'에 업로드할 예정입니다. https://github.com/ydduri/Joyful_Fortran_Tutorial 필자의 Fortran 코딩 환경: WSL Ubuntu IDE: vscode 컴파일러: gfortran 1단계. vscode에서 Fortran 설치 vscode의 확장(사이드바에서 블록 쌓기같은 부분 클릭)에서 fortran을 검색하고, fortran과 Modern Fortran을 설치한다(아마 이 둘이 맨 위에 뜰 것이다). 2단계. Fortran 컴파일러 gfortran 설치 Fortran 프..
목차 1. 초기화 함수 2. 배열 재구조화 3. 배열 크기 변경 4. 배열 추가 5. 배열 값 삽입 6. 배열 값 삭제 7. 배열 복사 8. 배열 값 탐색 9. 배열 병합 10. 배열 분할 1. 초기화 함수 np.zeros(10): 0으로 채워진 길이 10 배열 생성 np.ones((2, 3)): 1로 채워진 2*3 배열 생성 np.full((3, 3), 1.5): 1.5로 채워진 3*3 배열 생성 np.eye(3): 3*3 단위행렬 생성 np.eye(3) # 결과 # array([[1., 0., 0.], # [0., 1., 0.], # [0., 0., 1.]]) np.zeros_like(a1): a1과 같은 shape의 배열 생성 a1 = np.array([1, 2, 3]) np.zeros_like(a..