텐서플로:: 피복재:: 원천
이것은 추상 클래스입니다.#include <source.h>
로드할 servable을 제공하는 모듈에 대한 추상화, 더 정확하게는 해당 servable을 로드하는 데 사용할 수 있는 데이터에 대한 핸들입니다.
요약
이러한 데이터 핸들의 예는 다음과 같습니다.
- 직렬화된 어휘 맵에 대한 파일 시스템 경로
- 로드할 기계 학습 모델을 지정하는 수신 RPC에 대한 핸들
- 로더는 (참조 loader.h를 ) 데이터 핸들은 일반적으로 작은 것으로 가정한다.
소스는 새로운 servables 및 / 또는 servables의 새 버전 및 / 또는 게재 가능한 버전을 언로드 할 필요성에 대해 알고 일부 외부 리소스 (예 : 파일 시스템, RPC 호출)를 모니터링합니다. 이는 타겟 모듈 (예를 지시하도록 제공된 콜백 사용 AspiredVersionsManager 부하에 소정의 게재 가능한) 버전 (들). 또한, 대상 모듈의 의미에 따라 소스 암묵 그 servables를 생략하여 하역하는 것과 지시한다.
일반적인 경우가 있다는 것입니다 소스가 정확히 하나가 게재 할에 대한 버전을 방출한다. 더 간단한 경우는 servable이 서버의 수명 동안 단일 정적 버전을 갖는다는 것입니다.
소스는 여러 방출된 서블릿 간에 공유되는 상태를 저장할 수 있습니다.
- 여러 servable이 사용하는 공유 스레드 풀 또는 기타 리소스입니다.
- 각 제공 가능한 인스턴스에서 데이터 구조를 복제하는 시간과 공간 오버헤드를 피하기 위해 여러 제공 가능한 공유가 사용하는 공유 읽기 전용 데이터 구조입니다. 초기화 시간과 크기가 무시할 수 있는 공유 상태(예: 스레드 풀)는 소스에 의해 즉시 생성될 수 있으며, 소스는 방출된 각 ServableData 항목에 이에 대한 포인터를 포함합니다. 비싸거나 큰 공유 상태의 창조는 첫 번째 적용을 연기해야 로더 ::로드 () 관리자에 의해 지배 전화, 즉. 대칭의 로더 :: 언로드 () 을 해체해야한다 비싼 / 대형 공유 상태를 사용하여 최종 게재 가능한에게 전화를 겁니다.
생성자와 소멸자 | |
---|---|
~Source () |
공개 유형 | |
---|---|
AspiredVersionsCallback | 사용std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> A에 대한 콜백 소스 대상에 게재 가능한 공급 버전 (들)을 로딩한다. |
공공 기능 | |
---|---|
SetAspiredVersionsCallback ( AspiredVersionsCallback callback)=0 | virtual void 사용할 AspiredVersionsCallback을 제공합니다. 최대 한 번만 호출할 수 있습니다. |
공개 유형
AspiredVersions콜백
std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> AspiredVersionsCallback
A에 대한 콜백 소스 대상에 게재 가능한 공급 버전 (들)을 로딩한다.
콜백의 단일 호출은 단일 제공 가능한 스트림('servable_name'에 의해 제공됨)과 관련됩니다. 호출에서 제공되는 모든 버전은 'servable_name'에서 식별된 servable용이어야 합니다. 다른 제공 가능한 스트림에 대한 호출은 서로 직교합니다.
다중 호출은 동일한 ID(즉, 동일한 제공 가능한 이름 및 버전)를 가진 제공 가능한 데이터 개체를 제공할 수 있습니다. 이러한 제공 가능한 데이터 개체는 의미적으로 동일한 것으로 취급됩니다. 받는 사람은 궁극적으로 하나를 유지하고 나머지는 버립니다.
제공 가능한 버전 V가 첫 번째 호출에서 제공되고 이후에 두 번째 호출에서 생략된 경우 V 생략의 의미는 콜백 대상의 의미 체계에 따라 다릅니다. 특정 대상은 V의 생략을 V를 언로드하라는 암시적 명령으로 해석합니다. 각 대상은 이와 관련하여 의미 체계를 문서화해야 합니다.
공공 기능
SetAspiredVersions콜백
virtual void SetAspiredVersionsCallback( AspiredVersionsCallback callback )=0
사용할 AspiredVersionsCallback을 제공합니다. 최대 한 번만 호출할 수 있습니다.
~ 출처
virtual ~Source()=default