Únase a nosotros en DevFest para Ucrania del 14 al 15 de junio En línea Regístrese ahora

tensorflow :: servicio:: Núcleo del servidor

#include <server_core.h>

ServerCore contiene métodos estatales y auxiliares que permiten la construcción de ModelServers que soportan múltiples interfaces.

Resumen

Toda la funcionalidad de ServerCore es independiente de cualquier API de dominio específico e independiente de plataformas.

En términos de estado, ServerCore se inicializa con y retiene una estática ModelServerConfig, de la que Bootstraps un AspiredVersionsManager y estructuras de datos auxiliares de soporte de servicio eficiente.

Interfaces integradas por encima de ServerCore , por ejemplo, las implementaciones del servicio RPC, permanecerán sin estado y llevará a cabo todas las operaciones de búsqueda de servables (modelos) a través de ServerCore .

Herencia

Hereda de: tensorflow :: servir Gestor ::

Constructores y Destructores

~ServerCore ()

Tipos públicos

CustomModelConfigLoader utilizando
std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)>
Una función que es responsable de instanciar y conectar las fuentes personalizadas necesarias y los adaptadores de fuente al administrador en función de una configuración pasada (cualquiera).
PreLoadHook utilizando
AspiredVersionsManager::PreLoadHook
ServableStateMonitorCreator utilizando
std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)>
ServerRequestLoggerUpdater utilizando
std::function< Status(const ModelServerConfig &, ServerRequestLogger *)>
Firma de función utilizada para actualizar server_request_logger.

Clases de amigos

test_util::ServerCoreTestAccess
friend class

Funciones publicas

GetServableHandle (const ModelSpec & model_spec, ServableHandle < T > *const handle)
Status
Devuelve una ServableHandle dado un ModelSpec.
ListAvailableServableIds () const override
virtual std::vector< ServableId >
Obtiene una lista de todas las identificaciones disponibles disponibles, es decir
Log (const google::protobuf::Message & request, const google::protobuf::Message & response, const LogMetadata & log_metadata)
virtual Status
Escribe el registro para la solicitud, la respuesta y los metadatos en particular, si decidimos probarlo y si se configuró el registro de solicitudes para el modelo en particular.
ReloadConfig (const ModelServerConfig & config)
virtual Status
Actualiza el núcleo del servidor con todos los modelos y fuentes según ModelServerConfig.
predict_response_tensor_serialization_option () const
internal::PredictResponseTensorSerializationOption
servable_state_monitor () const
Las devoluciones ServableStateMonitor que se pueden utilizar para consultar los estados se pueden publicar y.

Funciones estáticas públicas

Create ( Options options, std::unique_ptr< ServerCore > *core)
Status
Crea un ServerCore instancia con todos los modelos y las fuentes por la ModelServerConfig.

Funciones protegidas

ServerCore ( Options options)

estructuras

tensorflow :: :: servir ServerCore :: Opciones

Opciones para configurar una ServerCore objeto.

Tipos públicos

CustomModelConfigLoader

std::function< Status(const ::google::protobuf::Any &any, EventBus< ServableState > *event_bus, UniquePtrWithDeps< AspiredVersionsManager > *manager)> CustomModelConfigLoader

Una función que es responsable de instanciar y conectar las fuentes personalizadas necesarias y los adaptadores de fuente al administrador en función de una configuración pasada (cualquiera).

El patrón esperado es que la propiedad de las fuentes/adaptadores de fuente creados se pueda transferir al administrador.

Gancho de precarga

AspiredVersionsManager::PreLoadHook PreLoadHook

ServibleStateMonitorCreatorServibleStateMonitorCreator

std::function< Status(EventBus< ServableState > *event_bus, std::unique_ptr< ServableStateMonitor > *monitor)> ServableStateMonitorCreator

ServerRequestLoggerUpdater

std::function< Status(const ModelServerConfig &, ServerRequestLogger *)> ServerRequestLoggerUpdater

Firma de función utilizada para actualizar server_request_logger.

Clases de amigos

test_util::ServerCoreTestAcceso

friend class test_util::ServerCoreTestAccess

Funciones publicas

GetServableHandle

Status GetServableHandle(
  const ModelSpec & model_spec,
  ServableHandle< T > *const handle
)

Devuelve una ServableHandle dado un ModelSpec.

Devuelve un error si no hay ningún servidor disponible, por ejemplo, aún no se ha cargado, se ha desactivado/descargado, etc. Las personas que llaman pueden suponer que un estado correcto indica un identificador no nulo.

IMPORTANTE: la persona que llama solo debe mantener un identificador durante un breve período de tiempo, por ejemplo, durante la duración de una sola solicitud. Sostener una manija durante un largo período de tiempo evitará la carga y descarga útil.

Si 'options_.allow_version_labels==true', reconoce dos etiquetas de versión de modelo específicas "estable" y "canario" y las resuelve en la versión más pequeña y más grande disponible, respectivamente.

ListAvailableServableIds

virtual std::vector< ServableId > ListAvailableServableIds() const override

Obtiene una lista de todas las identificaciones disponibles disponibles, es decir

cada uno de estos se puede recuperar usando GetServableHandle.

Tronco

virtual Status Log(
  const google::protobuf::Message & request,
  const google::protobuf::Message & response,
  const LogMetadata & log_metadata
)

Escribe el registro para la solicitud, la respuesta y los metadatos en particular, si decidimos probarlo y si se configuró el registro de solicitudes para el modelo en particular.

RecargarConfig

virtual Status ReloadConfig(
  const ModelServerConfig & config
)

Actualiza el núcleo del servidor con todos los modelos y fuentes según ModelServerConfig.

Como Crear () , espera a que todos los servables configuradas estáticamente a estar disponibles antes de regresar, y devuelve un error si alguno de estos modelos no se carga. (No necesariamente espera a que los modelos eliminados de la configuración terminen de descargarse; eso puede ocurrir de forma asíncrona).

IMPORTANTE: solo es legal llamar a este método más de una vez si se usa ModelConfigList (frente a la configuración del modelo personalizado).

predict_response_tensor_serialization_option

internal::PredictResponseTensorSerializationOption predict_response_tensor_serialization_option() const 

servible_state_monitor

virtual ServableStateMonitor * servable_state_monitor() const 

Las devoluciones ServableStateMonitor que se pueden utilizar para consultar los estados se pueden publicar y.

~ Núcleo del servidor

virtual  ~ServerCore()=default

Funciones estáticas públicas

Crear

Status Create(
  Options options,
  std::unique_ptr< ServerCore > *core
)

Crea un ServerCore instancia con todos los modelos y las fuentes por la ModelServerConfig.

Para los modelos configurados estáticamente con ModelConfigList, espera a que estén disponibles (o se produzca un error) para servir antes de regresar. Devuelve un estado de error si alguno de esos modelos no se carga.

Funciones protegidas

Núcleo del servidor

 ServerCore(
  Options options
)