1. CPU vs GPU
- GPU는 NVIDIA
- GPU는 Matrix Multiplication에 강함!
- CPU는 GPU보다 훨씬 적은 수의 코어가 있지만, CPU코어가 더 빠름
- GPU는 개별적인 RAM을 갖고 있음.
- 실제 모델과 가중치는 GPU RAM에 저장되어 있고, train data는 컴퓨터 저장장치에 저장되어 있기 때문에, data를 가져오는데에 시간이 많이 걸린다
-> 해결을 위해 데이터 작으면 RAM에 넣어놓고, HDD보다는 SDD를 사용하고, CPU 다중 스레드를 이용해서 데이터를 RAM에 미리 pre-fetching
Programming GPU -> CUDA, OpenCL, Udacity
cuDNN을 사용한 CUDA가 매우 강력함
2. Deep Learning Frameworks(TensorFlow & PyTorch!)
gradient 계산을 쉽게 하기 위해서 프레임워크는 필수적이다!
numpy는 GPU에서 실행되지 않음
1) TensorFlow(Google)
computational graph를 먼저 정의하고 -> graph를 여러번 실행시킴
2) PyTorch(Facebook)
Autograd 기능이 있음
Dynamic Graph(Recurrent networks, Recursive networks에 유용)
-> forward pass할 때마다 새로운 그래프를 구성하므로 코드가 깔끔해진다.
Visdom이라는 시각화툴을 사용할 수 있음
3) Caffe2
Model Zoo를 사용할 수 있음
iOS/Android 프로젝트에 좋음
'딥러닝 > cs231n' 카테고리의 다른 글
10. Recurrent Neural Networks (0) | 2024.05.06 |
---|---|
9. CNN Architectures (0) | 2024.05.05 |
7. Training Neural Networks 2 (0) | 2024.04.29 |
6. Training Neural Networks 1 (0) | 2024.04.08 |
5. Convolutional Neural Networks (0) | 2024.04.08 |