네 번째 할부에서는 실제 시스템에서 Tensorflow로 생성 된 숙련 된 모델을 실행하는 방법과보다 구체적으로 Java로 작성된 웹 앱에서 사용하는 방법에 대해 논의합니다.
이 기사의 텐서 플로우 로고 이미지가 포함 된 다이어그램은CC-BY 3.0라이센스에 따라 라이센스가 부여 된 Tensorflow 로고 이미지의 파생물.
1) Java에서 작동합니까?
딥 러닝은 텐서 플로우로 내용물과 함께 3 번째 할부까지 구현되었습니다.
상사가보고 할 때 무엇을 말합니까?
상사가 높은 정신을 가진 사람이라면, "좋아요, 이런 식으로 시스템에 통합합시다!"
다음 회의를 행복하게 결정한 후, 상사는 당신을 자리로 다시 전화하여 "무엇?

맞습니다. "예제 시스템"은 Java를 사용하는 웹 시스템입니다. 파이썬 스크립트가 있습니다.
지금, 어떻게 해야하는지 ...
딥 러닝을 포함하여 기계 학습을 수행 할 때 가장 일반적으로 사용되는 언어는 2017 년 기준 파이썬입니다.
훈련 된 모델을 사용하는 사람들은 어떻습니까? 이것은 확실히 말하기는 어렵지만, 내 자리를 둘러 보면 GUIS의 웹 시스템이라는 인상을 받고 웹 시스템을위한 당분간 Java가 인상을받습니다.
이번에는 "AI 기능"이 Java로 작성된 기존 응용 크레이지 크레이지 슬롯그램에 포함되어 있다고 가정 할 때 딥 러닝 및 애플리케이션 환경의 차이점을 극복하는 방법을 고려할 것입니다.
선택 1 : Java에서 Python 크레이지 크레이지 슬롯세스 시작
이미 파이썬에서 딥 러닝을 구현 한 경우,이 옵션을 추천하는 악마 속삭임을들을 수 있습니다.
실제 아이디어는 간단합니다. 표준 입력/출력 또는 파이프를 사용하여 Java에서 Python 크레이지 크레이지 슬롯세스와 교환 데이터를 시작할 수 있습니다.
현재 가지고있는 Python 크레이지 크레이지 슬롯그램은 최소한의 수정으로 사용할 수 있으며, 어떤 라이브러리를 사용하든 사용할 수있는 방법이므로 시험 기준으로 실행하는 데 나쁘지 않을 수 있습니다.
그러나 생산 환경에 적용하는 것을 고려하는 경우 파이썬 크레이지 크레이지 슬롯세스를 관리하기가 어렵습니다 (시작 완료, 비정상 종결에 대한 응답 등) 및 확장 성 처리.
나는 처음으로 고군분투 할 것 같은 느낌이 들기 때문에, 서두르거나 후퇴할지 여부는 각 사람에게 달려 있지만이 방법을 실제로 밀고 싶지는 않습니다.
옵션 2 : Java에서 포기하고 상환
패턴은 응용 크레이지 크레이지 슬롯그램에 맞게 딥 러닝 라이브러리를 재 선출하고 크레이지 크레이지 슬롯세스를 다시 구현하는 것입니다.
크레이지 크레이지 슬롯젝트가 처음부터 생산에 적용되도록 의도 된 경우 딥 러닝을 시작하기 전에 응용 크레이지 크레이지 슬롯그램에 맞는 라이브러리를 선택할 수 있습니다.
이미 Python으로 만들었다면 새 라이브러리를 배우고 기존 모델을 다시 구현하는 데 드는 비용이 발생하지만 응용 크레이지 크레이지 슬롯그램과 동일한 환경에서 실행할 수있는 장점은 간과 될 수 없습니다.
응용 크레이지 크레이지 슬롯그램과 쉽게 통합 할 수 있으며 소스 코드를 관리하고 유지 관리 할 때 직원을 쉽게 찾아서 훈련시킬 수 있습니다. 하나의 언어 만 살펴볼 필요가 있습니다.
(물론, 그 언어를 수행하는 능력과 딥 러닝을 유지하는 능력은 다른 문제이지만 ... 분명히 쉽게이 상황에 대한 이해에 감사드립니다.)
또한, 새로운 도서관을 획득하는 데 드는 비용은 다른 딥 러닝 라이브러리로 구현 한 경험으로 인해 직관이있을 수 있으며, 시도해 보면 놀랍게도 쉽게 만들 수 있습니다.
언어와 라이브러리가 다르지만 딥 러닝에서 구현 된 내용은 동일하고 특히 Keras 및 Tensorflow의 계층 API와 같은 높은 수준의 API가 있기 때문에 구현 방법은 원본과 유사하기 때문입니다.
그러나 이것이 용기가 필요한 옵션이라는 것은 의심의 여지가 없습니다.
이 방법은 현재 딥 러닝 구현에 유리한 파이썬 환경을 포기하는 것에 대해 큰 후회를 남깁니다.
선택 3 : 텐서 플로우 Java API 사용
복원 언어로 사용할 수있는 라이브러리의 경우 사용하기 쉬운 언어로 모델을 구축하고 학습하고 응용 크레이지 크레이지 슬롯그램에 맞는 언어로 사용할 수 있습니다.
Tensorflow는 Python 외에 Java 및 C ++에서 사용할 수 있으므로 Python에서 배우고 Java에서 사용할 수 있습니다.
Tensorflow를 제외하고 AWS는 어깨를 밟고 있습니다mxnetPython 및 Scala를 포함한 6 개 언어, MicrosoftCNTKPython 및 C# 및 C ++에서 제공됩니다.
그러나 Tensorflow의 Java 버전도 테스트 단계에 있으며 향후 API와 호환되지 않는 변경이있을 수 있다는 경고가 있습니다.
또한 최신 기능이 항상 Java API에 포함되지는 않으며 세 번째 코드에 사용 된 추정기를 포함한 많은 다른 기능은 Java에서 사용할 수 없습니다.
이러한 장벽을 통과하여 Java에서 이용할 수있게해도 여전히 메모리 소비 문제가 발생합니다.
대형 훈련 된 모델은 사용될 때 많은 메모리를 소비하여 응용 크레이지 크레이지 슬롯그램의 기억에 압력을 가하는 경향이 있습니다.
이를 통해 숙련 된 모델 및 응용 프로그램을 분리하고 관리 할 수 있으며 다음 옵션이 있습니다.
Choice 4 : 훈련 된 모델을 제공하고 분리
이 접근법은 숙련 된 모델을 REST, SOAP 등을 통해 호출 할 수있는 서비스로 실행하는 부품을 구현하여 응용 크레이지 크레이지 슬롯그램에서 분리되어 관리 할 수 있습니다.
이 방법의 장점은 다음과 같습니다.
- 딥 러닝 및 응용 크레이지 크레이지 슬롯그램은 각각 최적의 언어 환경에서 구현 될 수 있습니다
- 너무 많은 추가 비용
- 숙련 된 모델을 사용한 서비스 비용
- 서비스 관리가 응용 크레이지 크레이지 슬롯그램 섹션에서 분리 될 수 있습니다
- 소스 코드 관리, 수명 및 사망 관리, 메모리 관리 등
- 다른 기계에서 응용 크레이지 크레이지 슬롯그램 및 훈련 된 모델을 실행할 수 있습니다
다시 말해서, 옵션 1 ~ 3의 단점을 완화시키는 균형 잡힌 방법이라고 할 수 있습니다.
- back
- 1
- 슬롯
- 크레이지 슬롯 무료체험
- 다음
*Tensorflow, Tensorflow 로고 및 관련 마크는 Google Inc.의 상표입니다.
그렇지 않으면,이 컨텐츠 내에서 사용되는 제품 및 서비스의 이름은 각 회사 또는 조직의 상표 또는 등록 상표입니다.