The bleeding edge of machine learning stream in 2017 - APAC ML/DS Community ...Jeongkyu Shin
Video (Korean): https://www.youtube.com/watch?v=r64_PeoZvao
기계학습은 최근의 연구 성과 및 기술의 발전에 힘입어 다양한 분야에 본격적으로 적용되기 시작했습니다. 2017년은 응용분야의 확장에 힘입어 기계학습 응용이 대중화되는 한 해가 될 것입니다. 이 발표에서는 기계학습이 해결한 기술적인 문제와, 현재 해결하려고 하는 난제들을 다룹니다. 또한 2017년 현재 기계학습이 응용되고 있는 분야들과 응용 방법 및, 이후 기계학습 적용을 통해 발전할 수 있는 분야들과 적용 아이디어를 이야기합니다.
Machine learning has been applied to various areas in earnest owing to recent research results and technological advancements. In 2017, machine learning application will be popular with the expansion of the application area. This talk covers technical issues solved by machine learning, and difficult problems that should be solved now. It also covers the areas that apply machine learning in 2017, application methods, area that can develop by application machine learning, and application ideas.
The bleeding edge of machine learning stream in 2017 - APAC ML/DS Community ...Jeongkyu Shin
Video (Korean): https://www.youtube.com/watch?v=r64_PeoZvao
기계학습은 최근의 연구 성과 및 기술의 발전에 힘입어 다양한 분야에 본격적으로 적용되기 시작했습니다. 2017년은 응용분야의 확장에 힘입어 기계학습 응용이 대중화되는 한 해가 될 것입니다. 이 발표에서는 기계학습이 해결한 기술적인 문제와, 현재 해결하려고 하는 난제들을 다룹니다. 또한 2017년 현재 기계학습이 응용되고 있는 분야들과 응용 방법 및, 이후 기계학습 적용을 통해 발전할 수 있는 분야들과 적용 아이디어를 이야기합니다.
Machine learning has been applied to various areas in earnest owing to recent research results and technological advancements. In 2017, machine learning application will be popular with the expansion of the application area. This talk covers technical issues solved by machine learning, and difficult problems that should be solved now. It also covers the areas that apply machine learning in 2017, application methods, area that can develop by application machine learning, and application ideas.
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
이번 강의에서는 파이썬에서 클래스를 정의하는 문법과 self 에 대해 살펴보도록 하겠습니다.
그리고 .(마침표)연산자를 이용하여 인스턴스에서 메소드를 호출하는 방법도 살펴보겠습니다.
- 강의 키노트 자료는 다음 링크를 통해 다운 받으세요
https://drive.google.com/drive/folders/1UrrO4_ch4xcIErbExstwpUVY6vFvPdkW
- 강의 소스코드는 다음 링크를 통해 다운 받으세요
https://github.com/dongupak/Basic-Python-Programmingwjd
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
이번 강의에서는 파이썬에서 클래스를 정의하는 문법과 self 에 대해 살펴보도록 하겠습니다.
그리고 .(마침표)연산자를 이용하여 인스턴스에서 메소드를 호출하는 방법도 살펴보겠습니다.
- 강의 키노트 자료는 다음 링크를 통해 다운 받으세요
https://drive.google.com/drive/folders/1UrrO4_ch4xcIErbExstwpUVY6vFvPdkW
- 강의 소스코드는 다음 링크를 통해 다운 받으세요
https://github.com/dongupak/Basic-Python-Programmingwjd
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
DEVIEW 2013 발표 내용입니다 - http://deview.kr/2013/detail.nhn?topicSeq=36
링크드인 플랫폼 상의 다양한 Recommendation Product들, 이 제품들의 키워드는 바로 'Relevance(연관성)' 입니다. 가장 관련있는 데이터들을 제공함으로써 사용자의 삶을 더 쉽고 편하게 만들어 주는것이 링크드인 데이터 팀의 목표라 할 수 있겠습니다. 그렇다면 어떻게 해야 사용자에게 가장 연관성 높은 데이터를 제공 할 수 있을까요? 이에 대한 답을 한문장으로 요약하자면 '어제의 데이터를 분석하여 내일의 사용자의 행동을 예측한다' 가 될 것 같습니다.
본 발표에서는 이 한 문장을 좀 더 길게 풀어보려 합니다. 링크드인에서는 Hadoop, Key-Value Storage, Machine Learning등의 기술을 어떤 식으로 활용하여 연관성 높은 Recommendation Product를 만들고 있는지에 대해 소개해보겠습니다.
2021년 11월 16일 모두콘에서 발표했던 딥러닝 경량화 & 최적화 슬라이드 입니다.
딥러닝 경량화 & 최적화를 실용적으로 적용하려면 어떻게 해야 할까요? 딥러닝 경량화를 검색하면 이론적으로 매우 많은 자료가 쏟아져 나옵니다. 하지만 실제로 적용을 해보면 효과가 없거나 오히려 역효과가 나는 경우가 있습니다. 이번 모두콘에서 저희가 지금까지 딥러닝 모델 경량화 & 최적화를 진행하면서 어떤 것이 실용적으로 효과가 있었는지에 대해서 공유하려고 합니다.비슷한 주제로 고민 중이고 계셨던 분이시면 편하게 들으러 와주세요.
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
ChatGPT is a natural language processing technology developed by OpenAI. This model is based on the GPT-3 architecture and can be applied to various language tasks by training on large-scale datasets. When applied to a search engine, ChatGPT enables the implementation of an AI-based conversational system that understands user questions or queries and provides relevant information.
ChatGPT takes user questions as input and generates appropriate responses based on them. Since this model considers the context of previous conversations, it can provide more natural dialogue. Moreover, ChatGPT has been trained on diverse information from the internet, allowing it to provide practical and accurate answers to user questions.
When applying ChatGPT to a search engine, the system searches for relevant information based on the user's search query and uses ChatGPT to generate answers to present along with the search results. To do this, the search engine provides an interface that connects with ChatGPT, allowing the user's questions to be passed to the model and the answers generated by the model to be presented alongside the search results.
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...Lablup Inc.
이 Techtalk에서는 TensorFlow 2.0으로 이전시 tf.estimator 에서 tf.keras로 이전해야 하는 이유에 대하여 설명합니다.
This Techtalk explains why you need to migrate from tf.estimator to tf.keras when moving to TensorFlow 2.0.
AI_introduction and requirements(2024.05.12).pdfLee Chanwoo
AI_introduction and requirements, Considerations for introducing artificial intelligence, understanding machine learning, artificial intelligence security, considerations for introducing ChatGPT, future of generative AI
1. 딥 러닝 세계에
입문하기 위한 분투
2018. 11. 10
Ubuntu Fest in Daejeon
2. Introduce
발표자 소개
- 임베디드 소프트웨어 개발 전공
- 현재: Face Detection 관련 업무 in
- EDM Heavy Listener
- Music Information Retrieval 분야 연구자가 목표!
이수민
Soomin Lee
3. My story
오늘의 이야기 요약
딥 러닝의 세계에 끼어들기 위해 했던 일들!
- 만들어보고 싶은 딥 러닝 모델 생각하기
- 데이터 모으고 정제하기
- 머신 러닝의 기초 공부하기
- 비슷한 문제를 풀었던 논문 읽기
- 적당한 프레임워크를 선택해서 구현하기
- 논문을 넓게 읽어 나가며 시야 넓히기
10. How to get Data?
데이터를 어떻게 얻을 것인가?
1. 직접 데이터를 수집한다
2. 공개된 데이터셋을 이용한다.
11. How to get Data?
데이터를 어떻게 얻을 것인가?
1. 직접 데이터를 수집한다
2. 공개된 데이터셋을 이용한다.
12. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
13. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
14. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
15. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
Input
Output
16. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
17. How to get Data?
1. 직접 데이터를 수집한다
1. 만들고자 하는 모델 결정
2. 모델의 Input과 Output 정의
3. Input, Output 데이터 구조 정의
4. 데이터 구조에 맞추어 데이터 수집
5. 데이터 정제와 Preprocessing
18. How to get Data?
데이터를 어떻게 얻을 것인가?
1. 직접 데이터를 수집한다
2. 공개된 데이터셋을 이용한다.
19. How to get Data?
2. 공개된 데이터셋을 사용한다
STAR Dataset
Image : CIFAR-10, ImageNet, etc…
Face : MS-Celeb, VGGFace, FDDB, WIDER FACE, etc…
NLP : WikiData, Dbpedia, SQuAD, etc…
MIR : Million Song Dataset, FMA, MagnaTagATune, etc…
23. How to get Data?
Kaggle에서 손쉽게 데이터 얻기
Dataset Description
Dataset 구조 Summary
24. <포켓몬의 스탯 정보를 이용해 전설의 포켓몬 예측>
<영화 Metadata를 이용해 영화의 수익 예측>
How to get Data?
Kaggle에서 데이터 분석 연습
예측에 중요한 Feature는 무엇인가?
(Domain에 따른 Feature 선정)
어떤 데이터를 취하고
어떤 데이터를 버려야 하는가?
고차원의 데이터를 어떻게 효율적으로
분석할 수 있는가?
25. How to get Data?
Kaggle에서 모델 구현을 위한 DB 획득
Fashion MNIST <-> 실제 옷 Image 간의 Domain Translation Network 구현
Synthetic Eye image Real Eye image 변환하는 SimGAN 구현
26. How to get Data?
DB 획득 Example
2012년 1월부터 2018년 7월까지의 1분 간격 비트코인 가격 데이터
https://www.kaggle.com/mczielinski/bitcoin-historical-data
27. How to get Data?
DB 획득 Example
데이터셋이 포함하고 있는 내용
- 1분 간격으로 시가, 최고가, 최저가, 종가, 거래량 등이 나열되어 있음.
28. 실제 CSV 데이터의 모양과 구조, 수치 분포 대략적 확인
- 필터와 정렬 기능을 사용할 수 있음.
How to get Data?
DB 획득 Example
29. 사람들이 만들어놓은 Kernel에서 데이터의 활용 방안에 대한
Inspiration 얻기!
How to get Data?
DB 획득 Example
31. Which model should I use?
무슨 모델을 사용해야 할까?
데이터와 문제 정의에 따라 달라지는 모델 구조
Image Classification : Convolutional Models
Time-series predicton : Recurrent Models (LSTM, etc…)
Image Generation : Generative Models (VAE, GAN, etc…)
Natural Language : Recurrent Models, Attention Mechanism
32. Which model should I use?
무슨 모델을 사용해야 할까?
우리가 해보려는 것
거의 100% 누군가가 이미 해 보았던 것이고
그 누군가는 자신의 삽질기를 예쁘게 정리해서
논문이라는 형태로 세상에 자랑했을 것이다!
33. How to study Deep Learning?
논문은 좋은데, 읽으려면 배경 지식은 필수!
Binary Cross Entropy?
Softmax?
Adam Optimizer?
Intersection Over Union?
Precision / Recall?
34. How to study Deep Learning?
딥 러닝의 기초 다지기
딥 러닝 튜토리얼 분야 본좌 : Stanford CS231n
다루는 내용 : Neural Networks, Loss function, Optimization,
CNN, RNN, Detection, Visualizing, Generative Models, RL, etc…
35. How to study Deep Learning?
딥 러닝의 기초 다지기
Ian Goodfellow가 직강을 해주는 그런 강의!
36. How to study Deep Learning?
딥 러닝의 기초 다지기
Google 머신러닝 단기집중과정
37. 머신 러닝의 기초에 충실한 커리큘럼
이해를 돕기 위한 상호 작용하는 보조 자료
TensorFlow + Google Colab을 이용한 즉각 실습
How to study Deep Learning?
딥 러닝의 기초 다지기
38. How to study Deep Learning?
학습 환경 만들기
NVIDIA GPU가 장착된 개인 컴퓨터 / 서버 : 최고!
기초적인 머신 러닝 실습은 CPU만으로도 충분히 가능.
Google Colab 등 온라인 시스템 이용!
https://colab.research.google.com/
39. How to study Deep Learning?
학습 환경 만들기 : Google Colab
Jupyter Notebook
- 라이브로 실행할 수 있는 코드와 그 결과,
설명할 수 있는 텍스트 등을 포함한 문서를
만들고 공유할 수 있도록 해주는 툴
40. How to study Deep Learning?
학습 환경 만들기 : Google Colab
Jupyter Notebook
- 라이브로 실행할 수 있는 코드와 그 결과,
설명할 수 있는 텍스트 등을 포함한 문서를
만들고 공유할 수 있도록 해주는 툴
Google Colab
- 구글 사내에서 머신 러닝 교육을 위해
사용하던 Jupyter Notebook을 대중에 공개
- TensorFlow 프레임워크만 지원
41. How to study Deep Learning?
학습 환경 만들기 : Google Colab
Google Colab의 장점
1. 온라인으로 공유하여 여러 명이 동시에 작업 가능
2. Google Drive 연동으로 Custom Dataset 업로드와 사용이 용이
3. 높은 확률로 Tesla K80 GPU를 이용한 실습 가능
4. 심지어 얼마 전부터 TPU도 체험 가능!
42. How to study Deep Learning?
학습 환경 만들기 : Google Colab
43. 코드 작성 후 바로 실행 가능!
How to study Deep Learning?
학습 환경 만들기 : Google Colab
44. Which model should I use?
이제 모델을 만들어 보자!
기초를 다졌으니, 이제 모델을 만들어 보자!
Image Classification : Convolutional Models
Time-series predicton : Recurrent Models (LSTM, etc…)
Image Generation : Generative Models (VAE, GAN, etc…)
Natural Language : Recurrent Models, Attention Mechanism
49. Which model should I use?
논문 리딩 : Top-Down Approach
CycleGAN
GAN
DCGAN ResNet
pix2pix CGAN
PatchGAN
GAN 구조의 기본이 되는 모델
GAN을 발전시켜 실용화한 모델
GAN의 실용성을 발전시킨 모델
CycleGAN의 기반이 된
기존 모델
복잡하고 무거운 CNN을
가능케 하는 모델
CGAN을 특정 Approach에
응용한 모델
트레이닝 방식에 변화를 준 방법
50. Which model should I use?
논문 리딩 : Top-Down Approach
Object Detection Paper List
51. Which model should I use?
논문 리딩 : Top-Down Approach
Faster R-CNN
Fast R-CNN
R-CNN
YOLO v1
YOLO v2
SSD
R-FCN
OHEM
RetinaNet
Mask R-CNN
52. Which model should I use?
논문이 이해되지 않으면 코드를 참고하자!
논문의 내용(수식, 테크닉)이
이해되지 않는 경우,
코드를 보는 것이 이해에
효과적일 경우가 많음!
55. How to make my own model?
왜 프레임워크를 사용하는가?
딥 러닝 프레임워크를 사용하는 이유
1. 계산 그래프(Computational Graph)를 쉽게 설계할 수 있다.
2. 계산 그래프에서 Loss와 Gradient를 쉽게 구할 수 있다.
3. Gradient를 이용한 모델의 업데이트 또한 자동으로 수행해준다.
4. GPU를 활용하기 쉬운 환경이 제공된다.
56. How to make my own model?
어떤 프레임워크를 사용할 것인가?
딥 러닝 모델을 학습시키는 방법
1. 입력과 은닉층들의 가중치(Weight)들로
구성된 계산 그래프(모델)를 정의한다.
2. 데이터를 입력해서 모델의 출력을 구한다.
3. 정의한 방법으로 손실(Loss)를 구한다.
4. Loss를 이용해 모델의 전체 Weight를 업데이트한다.
5. 위의 과정을 반복한다.
57. How to make my own model?
어떤 프레임워크를 사용할 것인가?
딥 러닝 모델을 학습시키는 방법
1. 입력과 은닉층들의 가중치(Weight)들로
구성된 계산 그래프(모델)를 정의한다.
2. 데이터를 입력해서 모델의 출력을 구한다.
3. 정의한 방법으로 손실(Loss)를 구한다.
4. Loss를 이용해 모델의 전체 Weight를 업데이트한다.
5. 위의 과정을 반복한다.
Input
Conv1
ReLU
FC
Output
Conv2
ReLU
Conv3
ReLU
FC
58. How to make my own model?
어떤 프레임워크를 사용할 것인가?
딥 러닝 모델을 학습시키는 방법
1. 입력과 은닉층들의 가중치(Weight)들로
구성된 계산 그래프(모델)를 정의한다.
2. 데이터를 입력해서 모델의 출력을 구한다.
3. 정의한 방법으로 손실(Loss)를 구한다.
4. Loss를 이용해 모델의 전체 Weight를 업데이트한다.
5. 위의 과정을 반복한다.
Input
Conv1
ReLU
FC
Output
Conv2
ReLU
Conv3
ReLU
FC
Output : X
59. How to make my own model?
어떤 프레임워크를 사용할 것인가?
딥 러닝 모델을 학습시키는 방법
1. 입력과 은닉층들의 가중치(Weight)들로
구성된 계산 그래프(모델)를 정의한다.
2. 데이터를 입력해서 모델의 출력을 구한다.
3. 정의한 방법으로 손실(Loss)를 구한다.
4. Loss를 이용해 모델의 전체 Weight를 업데이트한다.
5. 위의 과정을 반복한다.
Input
Conv1
ReLU
FC
Output
Conv2
ReLU
Conv3
ReLU
FC
Output X
Loss function L(x)
L(X) = 2.9297
60. How to make my own model?
어떤 프레임워크를 사용할 것인가?
딥 러닝 모델을 학습시키는 방법
1. 입력과 은닉층들의 가중치(Weight)들로
구성된 계산 그래프(모델)를 정의한다.
2. 데이터를 입력해서 모델의 출력을 구한다.
3. 정의한 방법으로 손실(Loss)를 구한다.
4. Loss를 이용해 모델의 전체 Weight를 업데이트한다.
5. 위의 과정을 반복한다.
Input
Conv1
ReLU
FC
Output
Conv2
ReLU
Conv3
ReLU
FC
L(X) = 2.9297
61. How to make my own model?
Static vs Dynamic Graph Input
Conv1
ReLU
FC
Output
Conv2
ReLU
Conv3
ReLU
FC
딥 러닝 프레임워크간의 주된 차이는 바로
계산 그래프의 운용 방식!
Static Graph Dynamic Graph
62. How to make my own model?
Static Graph : TensorFlow
(Source : CS231n)
63. How to make my own model?
Static Graph : TensorFlow
(Source : CS231n)
계산 그래프 정의
64. How to make my own model?
Static Graph : TensorFlow
(Source : CS231n)
계산 그래프 정의
계산 그래프 실행
65. How to make my own model?
Static Graph : TensorFlow
(Source : CS231n)
처음 실행이 시작될 때 계산 그래프가 고정!
66. How to make my own model?
Dynamic Graph : PyTorch
(Source : CS231n)
67. How to make my own model?
Dynamic Graph : PyTorch
(Source : CS231n)
Data, Weight 정의
68. How to make my own model?
Dynamic Graph : PyTorch
(Source : CS231n)
Data, Weight 정의
계산 그래프 생성
69. How to make my own model?
Dynamic Graph : PyTorch
(Source : CS231n)
매 Iteration마다 계산 그래프를 다시 생성!
70. How to make my own model?
Dynamic Graph : PyTorch
(Source : CS231n)
71. How to make my own model?
그래서 무슨 프레임워크를 써야 좋은가?
72. How to make my own model?
그래서 무슨 프레임워크를 써야 좋은가?
각 프레임워크만의 장단점이 존재!
73. How to make my own model?
Framework : TensorFlow
TensorFlow
- 구글에서 개발하여 밀고 있는 프레임워크
- Python, C++, JAVA, JavaScript API 지원
- TensorFlow Serving 등 제품화를 위한 지원
- 거대한 사용자 커뮤니티, 활발한 Open Source 활동
- Session 등 개념 이해 필요
- Define-and-Run 모델 : 런타임에 계산 그래프를 변경할 수 없음
- Torch 등에 비해 속도가 느림
74. 학습 시각화 툴 TensorBoard 제공
How to make my own model?
Framework : TensorFlow
75. How to make my own model?
Framework : Keras
Keras
- 여러 딥 러닝 프레임워크들에 대한 고수준 추상화가 목표
- Caffe, Torch, TensorFlow 등 다양한 프레임워크의 모델 사용 가능
- 직관적이고 접근하기 쉬운 코드 구조
- 기반 라이브러리 단에서 문제가 발생할 경우 Debugging이 어려움
- 비교적 작은 사용자 커뮤니티
76. How to make my own model?
Framework : PyTorch
PyTorch
- 깔끔한 코드 구조
- Dynamic Computational Graph
- 설계와 동시에 실행/검증이 가능한 대화형 개발 구조
- 사용자 커뮤니티가 큰 편에 속함
- 큰 프로젝트와 상용화를 위한 복잡한 모델 개발에는 비효율적
77. How to make my own model?
Framework : Caffe
Caffe
- 코드 작성 없이 모델의 작성 / 트레이닝 가능
- Python / OpenCV 인터페이스가 편리함
- 학습했던 네트워크의 Fine Tuning 등의 작업이 편리함
- 유연하지 못한 프레임워크 :
Caffe에 없는 새로운 Layer를 만들어 학습시키려면
Caffe의 소스 코드를 수정하여 다시 빌드해야 함.
78. How to make my own model?
Framework : Chainer
Chainer
- Dynamic Computational Graph
- 속도가 다른 프레임워크들에 비해 빠름
- 사용자 커뮤니티가 많이 작은 편
- 참고 자료가 부족함