본문 바로가기
반응형

Major/Programming30

Epochs, Mini-Batch (Batch Size), Iterations 훈련에 사용되는 컴퓨터 인스턴스의 메모리 제한과 데이타셋의 크기 때문에, 대부분의 경우 모든 훈련데이터를 알고리즘에 한번 (one pass)에 훈련시키는 것은 불가능하다. * Epoch1번의 Epoch: 전체 데이터셋이 정확히 한번 신경망을 통하여 순전파와 역전파를 한 것을 의미함2 Epoch: 전체 데이터셋을 2번 학습한 것을 의미함 * mini-batch데이터 셋을 한번에 알고리즘을 통과하는게 어려워서 데이터셋을 mini-batch들로 나눈다.따라서 Batch Size는 한개의 mini-batch의 총 훈련샘플의 수를 의미함 * iteration1번의 iteration: 훈련 중 신경망 모델의 가중치 (weights) 를 한 번 업데이트 하는 것 (한 번의 기울기 업데이트)을 의미 -> iterati.. 2020. 9. 12.
Pretrained CNNs Download for MATLAB MATLAB에서 전이학습 (Transfer Learning) 등을 위해 훈련된 신경망이 필요한 경우, 'Deep Learning Toolbox'가 있더라도 Add-on을 통하여 훈련된 신경망의 훈련된 계수 등을 다운로드 해야함.따라서 방화벽 등으로 인터넷망과 연결하지 못하는 경우에는 Add-on으로 추가 설치가 불가능하여 훈련된 신경망 사용이 거의 불가능하다.따라서, 다른 인터넷망 PC로 부터 훈련된 network를 다운받아아먄 사용이 가능하다. (참고로 훈련되지 않는 network은 toolbox만 있으면 사용이 가능함) 1. 인터넷망으로 Mathworks 로그인이 가능한 PC가 있는 경우- Add-on으로 훈련된 신경망을 다운받고 이를 저장하여 USB등으로 오프라인 PC에서 로드하는 방법 O. 인터넷.. 2020. 9. 8.
CNN (Convolutional Neural Network)의 각 Layer의 동작/역할 출처: Mathworks, Deep Learning with MATLAB 간단한 이미지 분류를 위한 Convolutional Network Layers의 예네트워크에서 각 Layer는 아래 그림에서와 같이 숫자로 표현된 입력 값을 바탕으로 새로운 값의 출력을 만들어 낸다. 1) imageInputLayer([5 5])- 첫번째 Layer인 image input layer는 네트워크의 input size를 정의하고 입력 이미지를 정규화한다. - 디폴트로 이미지 입력 레이어는 이미지에 훈련 데이타 세트 전체의 이미지 평균값을 뺀다. 2) convolution2dLayer([2 2], 1)- 2-by-2의 1개 필터를 한칸씩 옮겨가며 이미지 값과 곱하여 필터를 통과시킨다. 3) reluLayer()- Conv.. 2020. 8. 26.
MATLAB 필수 ToolBox * Add-On Product Requirements & Platform Availability: [바로가기]- 각 Toolbox 설치시 필요한 toolbox 확인 가능함 For machine learning Audio Toolbox™ Computer Vision Toolbox™ Curve Fitting Toolbox™ Database Toolbox™ Deep Learning Toolbox™ DSP System Toolbox™ Global Optimization Toolbox Image Acquisition Toolbox™ Image Processing Toolbox™Optimization Toolbox™ Parallel Computing Toolbox™Reinforcement Learning Toolb.. 2020. 8. 24.
Mac OSx 환경에서 Python - TensorFlow - Pycharm (파이썬 - 텐서플로 - 파이참) 설치 머신러닝/딥러닝 등을 하기 위해서는 TensorFlow라는 오픈소스 소프트웨어 라이브러리가 필요하다. 그런데, TensorFlow는 Python API를 제공하기 때문에 Python을 설치하여야 한다. 문제는 Python을 깔더라도 Visual Studio같은 IDE (Integrated Development Environment, 통합개발환경)가 있어야 정상적으로 코드를 짤 수 있기 때문에 또 IDE를 설치하여야 한다. 초심자 입장에서 Python용으로 가장 많이 거론되는 IDE가 PyCharm (파이참)이므로 파이참까지 설치하여야 기본적인 셋팅이 마무리 된다. (파이썬을 처음 접하는 사람에게는 너무 귀찮은 일이다. 하루종일 설치때문에 골치가 아파 정리한 것임) 설치순서: Python → Anacond.. 2020. 5. 21.
Matlab에서 figure를 동영상 avi 파일로 만들기 MATLAB의 가장 강력한 무기 중 하나가 data를 그림으로 plot하기 편하다는 점이다. 간혹 시간에 따라 변화하는 상태를 for문같은 반복 명령어를 사용해서 plot 명령어를 실행한 경우, 이를 동영상으로 저장해서 발표자료에 넣고 싶은 경우가 생기기 마련이다.참고로 MATLAB2012 버전 즘에는 movie2avi라는 함수를 사용할 수 있었지만, 2016년 버전부터 VideoWriter라는 함수를 사용해야 한다. Z = peaks; % plot할 data 생성surf(Z)axis tight manual;set(gca, 'nextplot', 'replace children'); v = VideoWriter('peaks.avi'); % peas.avi라는 동영상 파일을 만들기 위해서 video writ.. 2019. 7. 17.
[MATLAB] MinGW-W64 수동 설치 MATLAB GUI Programing을 한 후에 누구나 exe 실행파일로 compile하기를 원할 것이다. 먼저, GUI를 compile하기 위해서는 우선 'MATLAB Compiler' ToolBox가 설치되어 있어야 한다. 하지만 이런 경우에도 명령창에서 mex -setup나 mbuild -setup명령어를 치면 MinGW-w64 compiler가 필요하다고 뜨는 경우가 있다. MATLAB의 버전을 높여가면서 Add-On을 통하여 ToolBox 뿐만 아니라 이러한 MinGW-W64도 설치할 수 있도록 하고 있다. 편리한 측면도 있지만, 회사 보안 정책 등으로 네트워크에 연결하기 꺼리는 경우 Add-On으로 설치가 어려울 수 있다. Add-On이 되면 아래의 Mathworks의 File Exchang.. 2018. 8. 15.
Maple, Mathematica Tutorial 1. Maple Tutorial 바로가기 2. Mathematica Tutorial 바로가기 3. Mathematica 강좌 바로가기 2010. 6. 25.
확률분포함수 구현하기 reference)) Roy D. Yartes, and David J. Goodman, Probability and Stochastic Processes, 2nd edition, 2005, pp.135~144. Random Samples 1) 평균과 분산을 이용하여 구하는 방법 Conveniently, MATLAB also includes the built-in function randn to generate random samples of standard normal random variables. Thus We generate Gaussian (μ,σ) random variables by stretching and shifting standard normal random variables functi.. 2010. 2. 25.
[Matlab] Random number function (랜덤함수) 출처 : http://5486.pe.kr/tc/143 1. 균등 랜덤 수 (Uniform Random Number) MATLAB의 rand 명령어는 0과 1사이에서 무작위의 숫자를 생성한다. 이 random 숫자는 [0, 1]사이에서 균일하게 분포될 수 있으며, 평균은 0의 값을 갖고 분산은 1을 갖는 Gaussian random 숫자를 발생한다. rand(n) n행 n열의 행렬로 이루어진 random 수를 생성한다. rand(m, n) m-by-n 행렬의 크기를 갖는 random 수를 생성한다. rand('seed', n) seed 값을 n으로 설정한다. n의 초기값은 0이다. rand('seed') 현재의 seed 값을 보여준다. 랜덤 수는 density 함수로 특성지을 수 있다. 이 함수는 히스토그.. 2010. 2. 10.
효율적인 Matlab programming 1. 역행렬 A = B*C; 의 경우 C = B \ A; 또는 C = inv(B)*A; 2가지의 계산 법이 있다. '\'을 이용한 연산은 inverse를 계산하지 않고 Gauss Elimination 사용하여 해를 구하기 때문에 'inv()' 함수를 이용하여 곱하는 것보다 빠른 계산 시간을 가진다. 2. 초기화 for i = 1:5 t(i) = i*i; end 위와 같은 예문에서 t라는 배열은 for 문이 돌아갈 때마다 동적으로 메모리 할당이 된다. 즉, for문이 돌아갈 때마다 매번 메모리 할당하고 값을 집어넣는 과정이 반복되기 때문에 수행시간이 오래 걸린다. 따라서 이와 같이 loop안에 있는 배열은 꼭 초기화를 시켜 미리 메모리를 잡아주는 것이 좋다. 아래와 같이 사용하면 됨 N= 5; t = ze.. 2009. 8. 26.
Fortran tutorial http://www.cnu.ac.kr/%7Ebyung/Softwares/fc/f77k/index.html Fortran Tutorial 본 내용은 Standford 대학의 Fortran Tutorial를 우리 실정에 맞게 옮긴 것이다. Fortran 77 서문 (Preface) Fortran이란? (What is Fortran?) Fortran의 기본 (Fortran basics) 물리학과에서 Fortran을 사용하는 법 (How to use Fortran at Physics Department) 그림표 그리기 (Graphics) 수학 library - SLATEC (Mathematical library -SLATEC) 변수, 선언 및 종류 (Variables, declarations, and types.. 2008. 6. 15.
반응형