Exemple #1
0
def test_tensorflow_spec():
    md = ModelDetails(
        name="test",
        local_folder="",
        uri="",
        platform=ModelFramework.Tensorflow,
        inputs=ModelDataArgs(args=[]),
        outputs=ModelDataArgs(args=[]),
    )
    protocol = SeldonProtocol()
    options = KubernetesOptions(namespace="production", replicas=1)
    runtime_options = RuntimeOptions(k8s_options=options)
    model_spec = ModelSpec(model_details=md,
                           protocol=protocol,
                           runtime_options=runtime_options)
    spec = get_container_spec(model_spec)
    assert "image" in spec
    assert "command" in spec
Exemple #2
0
    def _run_container(self, model_details: ModelSpec):
        docker_client = docker.from_env()
        uid = os.getuid()

        container_index = self._get_port_index()
        model_folder = model_details.model_details.local_folder
        container_spec = get_container_spec(model_details)
        create_network(docker_client)

        docker_client.containers.run(
            name=self._get_container_name(model_details),
            ports={container_index: self._get_available_port()},
            volumes={model_folder: {"bind": DefaultModelsPath, "mode": "ro"}},
            detach=True,
            network=DefaultNetworkName,
            user=uid,
            **container_spec,
        )
Exemple #3
0
    def deploy(self, model_details: ModelDetails):
        docker_client = docker.from_env()
        protocol = self.get_protocol()
        container_index = self._get_port_index()
        model_folder = model_details.local_folder
        container_spec = get_container_spec(model_details, protocol)

        self._create_network(docker_client)
        docker_client.containers.run(
            name=self._get_container_name(model_details),
            ports={container_index: self._get_available_port()},
            volumes={model_folder: {
                "bind": DefaultModelsPath,
                "mode": "ro"
            }},
            detach=True,
            network=DefaultNetworkName,
            **container_spec,
        )