From 5bbb59d7d309d3f3b37ce1d928985bef2b5334aa Mon Sep 17 00:00:00 2001 From: David Yastremsky Date: Tue, 11 Oct 2022 11:24:16 -0700 Subject: [PATCH] Autoformat and add copyrights --- docs/conf.py | 32 ++++--- docs/examples/README.md | 28 ++++++ docs/examples/stable_diffusion/README.md | 28 ++++++ docs/examples/stable_diffusion/client.py | 37 ++++++-- docs/examples/stable_diffusion/export.py | 44 ++++++++- docs/examples/stable_diffusion/gui/README.md | 28 ++++++ docs/examples/stable_diffusion/gui/client.py | 12 +-- .../model_repository/pipeline/1/model.py | 93 ++++++++++++------- .../model_repository/pipeline/config.pbtxt | 26 ++++++ .../text_encoder/config.pbtxt | 26 ++++++ .../model_repository/vae/config.pbtxt | 26 ++++++ docs/index.md | 28 ++++++ 12 files changed, 341 insertions(+), 67 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 9b4ea426d59..dd1887a084b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -44,7 +44,6 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) - # -- Project information ----------------------------------------------------- project = 'NVIDIA Triton Inference Server' @@ -102,10 +101,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [ - "README.md" -] - +exclude_patterns = ["README.md"] # -- Options for HTML output ------------------------------------------------- @@ -154,8 +150,11 @@ deploy_ngc_org = "nvidia" deploy_ngc_team = "triton" myst_substitutions = { - "VersionNum": version_short, - "deploy_ngc_org_team": f"{deploy_ngc_org}/{deploy_ngc_team}" if deploy_ngc_team else deploy_ngc_org, + "VersionNum": + version_short, + "deploy_ngc_org_team": + f"{deploy_ngc_org}/{deploy_ngc_team}" + if deploy_ngc_team else deploy_ngc_org, } @@ -168,9 +167,13 @@ def ultimateReplace(app, docname, source): # this is a necessary hack to allow us to fill in variables that exist in code blocks ultimate_replacements = { - "{VersionNum}": version_short, - "{SamplesVersionNum}": version_short, - "{NgcOrgTeam}": f"{deploy_ngc_org}/{deploy_ngc_team}" if deploy_ngc_team else deploy_ngc_org, + "{VersionNum}": + version_short, + "{SamplesVersionNum}": + version_short, + "{NgcOrgTeam}": + f"{deploy_ngc_org}/{deploy_ngc_team}" + if deploy_ngc_team else deploy_ngc_org, } #bibtex_bibfiles = ["references.bib"] @@ -210,7 +213,8 @@ def setup(app): # Patch for sphinx.search stemming short terms (i.e. tts -> tt) # https://github.com/sphinx-doc/sphinx/blob/4.5.x/sphinx/search/__init__.py#L380 -def sphinxSearchIndexFeed(self, docname: str, filename: str, title: str, doctree: nodes.document): +def sphinxSearchIndexFeed(self, docname: str, filename: str, title: str, + doctree: nodes.document): """Feed a doctree to the index.""" self._titles[docname] = title self._filenames[docname] = filename @@ -238,9 +242,11 @@ def stem(word: str) -> str: for word in visitor.found_words: stemmed_word = stem(word) # again, stemmer must not remove words from search index - if len(stemmed_word) <= 3 or not _filter(stemmed_word) and _filter(word): + if len(stemmed_word) <= 3 or not _filter(stemmed_word) and _filter( + word): stemmed_word = word.lower() - already_indexed = docname in self._title_mapping.get(stemmed_word, set()) + already_indexed = docname in self._title_mapping.get( + stemmed_word, set()) if _filter(stemmed_word) and not already_indexed: self._mapping.setdefault(stemmed_word, set()).add(docname) diff --git a/docs/examples/README.md b/docs/examples/README.md index a1c6a959f49..e644f1d4c0a 100644 --- a/docs/examples/README.md +++ b/docs/examples/README.md @@ -1,3 +1,31 @@ + + # Triton Examples This folder contains the following: diff --git a/docs/examples/stable_diffusion/README.md b/docs/examples/stable_diffusion/README.md index 3f1fb14f3ec..a1f2ef58da7 100644 --- a/docs/examples/stable_diffusion/README.md +++ b/docs/examples/stable_diffusion/README.md @@ -1,3 +1,31 @@ + + # Stable diffusion *Note*: This tutorial aims at demonstrating the ease of deployment and doesn't incorporate all possible optimizations using the NVIDIA ecosystem. diff --git a/docs/examples/stable_diffusion/client.py b/docs/examples/stable_diffusion/client.py index e013776d995..d49d102ea11 100644 --- a/docs/examples/stable_diffusion/client.py +++ b/docs/examples/stable_diffusion/client.py @@ -1,3 +1,29 @@ +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + import numpy as np import time from tritonclient.utils import * @@ -11,16 +37,15 @@ def main(): prompt = "Pikachu with a hat, 4k, 3d render" text_obj = np.array([prompt], dtype="object").reshape((-1, 1)) - input_text = httpclient.InferInput( - "prompt", text_obj.shape, np_to_triton_dtype(text_obj.dtype) - ) + input_text = httpclient.InferInput("prompt", text_obj.shape, + np_to_triton_dtype(text_obj.dtype)) input_text.set_data_from_numpy(text_obj) output_img = httpclient.InferRequestedOutput("generated_image") - query_response = client.infer( - model_name="pipeline", inputs=[input_text], outputs=[output_img] - ) + query_response = client.infer(model_name="pipeline", + inputs=[input_text], + outputs=[output_img]) image = query_response.as_numpy("generated_image") im = Image.fromarray(np.squeeze(image.astype(np.uint8))) diff --git a/docs/examples/stable_diffusion/export.py b/docs/examples/stable_diffusion/export.py index 20d5efed8dd..9651fb81b26 100644 --- a/docs/examples/stable_diffusion/export.py +++ b/docs/examples/stable_diffusion/export.py @@ -1,11 +1,37 @@ +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + from diffusers import AutoencoderKL from transformers import CLIPTextModel, CLIPTokenizer import torch prompt = "Draw a dog" -vae = AutoencoderKL.from_pretrained( - "CompVis/stable-diffusion-v1-4", subfolder="vae", use_auth_token=True -) +vae = AutoencoderKL.from_pretrained("CompVis/stable-diffusion-v1-4", + subfolder="vae", + use_auth_token=True) tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") text_encoder = CLIPTextModel.from_pretrained("openai/clip-vit-large-patch14") @@ -18,7 +44,12 @@ input_names=["latent_sample", "return_dict"], output_names=["sample"], dynamic_axes={ - "latent_sample": {0: "batch", 1: "channels", 2: "height", 3: "width"}, + "latent_sample": { + 0: "batch", + 1: "channels", + 2: "height", + 3: "width" + }, }, do_constant_folding=True, opset_version=14, @@ -39,7 +70,10 @@ input_names=["input_ids"], output_names=["last_hidden_state", "pooler_output"], dynamic_axes={ - "input_ids": {0: "batch", 1: "sequence"}, + "input_ids": { + 0: "batch", + 1: "sequence" + }, }, opset_version=14, do_constant_folding=True, diff --git a/docs/examples/stable_diffusion/gui/README.md b/docs/examples/stable_diffusion/gui/README.md index 72481d74965..7f2797f46bb 100644 --- a/docs/examples/stable_diffusion/gui/README.md +++ b/docs/examples/stable_diffusion/gui/README.md @@ -1,3 +1,31 @@ + + # Stable Diffusion UI A simple Gradio UI for communicating with Stable Diffusion on Triton diff --git a/docs/examples/stable_diffusion/gui/client.py b/docs/examples/stable_diffusion/gui/client.py index ffc70ed98eb..65f29fc85cf 100644 --- a/docs/examples/stable_diffusion/gui/client.py +++ b/docs/examples/stable_diffusion/gui/client.py @@ -10,22 +10,20 @@ parser.add_argument("--triton_url", default="localhost:8001") args = parser.parse_args() - client = grpcclient.InferenceServerClient(url=f"{args.triton_url}") def generate(prompt): text_obj = np.array([prompt], dtype="object").reshape((-1, 1)) - input_text = grpcclient.InferInput( - "prompt", text_obj.shape, np_to_triton_dtype(text_obj.dtype) - ) + input_text = grpcclient.InferInput("prompt", text_obj.shape, + np_to_triton_dtype(text_obj.dtype)) input_text.set_data_from_numpy(text_obj) output_img = grpcclient.InferRequestedOutput("generated_image") - response = client.infer( - model_name="pipeline", inputs=[input_text], outputs=[output_img] - ) + response = client.infer(model_name="pipeline", + inputs=[input_text], + outputs=[output_img]) resp_img = response.as_numpy("generated_image") print(resp_img.shape) im = Image.fromarray(np.squeeze(resp_img.astype(np.uint8))) diff --git a/docs/examples/stable_diffusion/model_repository/pipeline/1/model.py b/docs/examples/stable_diffusion/model_repository/pipeline/1/model.py index c1f32b5d71d..81609a573a0 100644 --- a/docs/examples/stable_diffusion/model_repository/pipeline/1/model.py +++ b/docs/examples/stable_diffusion/model_repository/pipeline/1/model.py @@ -1,3 +1,29 @@ +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + import json import numpy as np import torch @@ -11,13 +37,13 @@ class TritonPythonModel: + def initialize(self, args): self.output_dtype = pb_utils.triton_string_to_numpy( - pb_utils.get_output_config_by_name( - json.loads(args["model_config"]), "generated_image" - )["data_type"] - ) - self.tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14") + pb_utils.get_output_config_by_name(json.loads(args["model_config"]), + "generated_image")["data_type"]) + self.tokenizer = CLIPTokenizer.from_pretrained( + "openai/clip-vit-large-patch14") self.scheduler = LMSDiscreteScheduler( beta_start=0.00085, beta_end=0.012, @@ -57,12 +83,10 @@ def execute(self, requests): # Querying the text_encoding model input_ids_1 = pb_utils.Tensor( "input_ids", - np.concatenate( - [ - tokenized_text_uncond.numpy().astype(np.int32), - tokenized_text.numpy().astype(np.int32), - ] - ), + np.concatenate([ + tokenized_text_uncond.numpy().astype(np.int32), + tokenized_text.numpy().astype(np.int32), + ]), ) encoding_request = pb_utils.InferenceRequest( model_name="text_encoder", @@ -75,16 +99,14 @@ def execute(self, requests): raise pb_utils.TritonModelException(response.error().message()) else: text_embeddings = pb_utils.get_output_tensor_by_name( - response, "last_hidden_state" - ) + response, "last_hidden_state") text_embeddings = from_dlpack(text_embeddings.to_dlpack()) text_embeddings = text_embeddings.to("cuda") # Running Scheduler guidance_scale = 7.5 - latents = torch.randn( - (text_embeddings.shape[0] // 2, self.unet.in_channels, 64, 64) - ).to("cuda") + latents = torch.randn((text_embeddings.shape[0] // 2, + self.unet.in_channels, 64, 64)).to("cuda") self.scheduler.set_timesteps(50) latents = latents * self.scheduler.sigmas[0] @@ -92,25 +114,25 @@ def execute(self, requests): for i, t in tqdm(enumerate(self.scheduler.timesteps)): latent_model_input = torch.cat([latents] * 2) sigma = self.scheduler.sigmas[i] - latent_model_input = latent_model_input / ((sigma**2 + 1) ** 0.5) + latent_model_input = latent_model_input / ((sigma**2 + 1)**0.5) with torch.no_grad(), torch.autocast("cuda"): noise_pred = self.unet( - latent_model_input, t, encoder_hidden_states=text_embeddings - )["sample"] + latent_model_input, + t, + encoder_hidden_states=text_embeddings)["sample"] noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) noise_pred = noise_pred_uncond + guidance_scale * ( - noise_pred_text - noise_pred_uncond - ) + noise_pred_text - noise_pred_uncond) - latents = self.scheduler.step(noise_pred, i, latents)["prev_sample"] + latents = self.scheduler.step(noise_pred, i, + latents)["prev_sample"] # VAE decoding latents = 1 / 0.18215 * latents input_latent_1 = pb_utils.Tensor.from_dlpack( - "latent_sample", to_dlpack(latents) - ) + "latent_sample", to_dlpack(latents)) decoding_request = pb_utils.InferenceRequest( model_name="vae", @@ -120,25 +142,24 @@ def execute(self, requests): decoding_response = decoding_request.exec() if response.has_error(): - raise pb_utils.TritonModelException(decoding_response.error().message()) + raise pb_utils.TritonModelException( + decoding_response.error().message()) else: decoded_image = pb_utils.get_output_tensor_by_name( - decoding_response, "sample" - ) + decoding_response, "sample") decoded_image = from_dlpack(decoded_image.to_dlpack()) decoded_image = (decoded_image / 2 + 0.5).clamp(0, 1) - decoded_image = decoded_image.detach().cpu().permute(0, 2, 3, 1).numpy() + decoded_image = decoded_image.detach().cpu().permute(0, 2, 3, + 1).numpy() decoded_image = (decoded_image * 255).round().astype("uint8") # Sending results - inference_response = pb_utils.InferenceResponse( - output_tensors=[ - pb_utils.Tensor( - "generated_image", - np.array(decoded_image, dtype=self.output_dtype), - ) - ] - ) + inference_response = pb_utils.InferenceResponse(output_tensors=[ + pb_utils.Tensor( + "generated_image", + np.array(decoded_image, dtype=self.output_dtype), + ) + ]) responses.append(inference_response) return responses diff --git a/docs/examples/stable_diffusion/model_repository/pipeline/config.pbtxt b/docs/examples/stable_diffusion/model_repository/pipeline/config.pbtxt index 3e15efd0007..30de3abdc6f 100644 --- a/docs/examples/stable_diffusion/model_repository/pipeline/config.pbtxt +++ b/docs/examples/stable_diffusion/model_repository/pipeline/config.pbtxt @@ -1,3 +1,29 @@ +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + name: "pipeline" backend: "python" max_batch_size: 8 diff --git a/docs/examples/stable_diffusion/model_repository/text_encoder/config.pbtxt b/docs/examples/stable_diffusion/model_repository/text_encoder/config.pbtxt index c9bd0236ae8..2446ce22774 100644 --- a/docs/examples/stable_diffusion/model_repository/text_encoder/config.pbtxt +++ b/docs/examples/stable_diffusion/model_repository/text_encoder/config.pbtxt @@ -1,3 +1,29 @@ +# Copyright 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + name: "text_encoder" platform: "onnxruntime_onnx" max_batch_size: 8 diff --git a/docs/examples/stable_diffusion/model_repository/vae/config.pbtxt b/docs/examples/stable_diffusion/model_repository/vae/config.pbtxt index 473b7352c73..397ce93e484 100644 --- a/docs/examples/stable_diffusion/model_repository/vae/config.pbtxt +++ b/docs/examples/stable_diffusion/model_repository/vae/config.pbtxt @@ -1,3 +1,29 @@ +# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + name: "vae" platform: "tensorrt_plan" max_batch_size: 8 diff --git a/docs/index.md b/docs/index.md index 16a1461cedc..5d5230eb956 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,3 +1,31 @@ + + --- title: Triton Inference Server ---