| <!--Copyright 2023 The HuggingFace Team. All rights reserved. |
|
|
| Licensed under the Apache License, Version 2.0 (the "License") |
| the License. You may obtain a copy of the License at |
|
|
| http://www.apache.org/licenses/LICENSE-2.0 |
|
|
| Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on |
| an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations under the License. |
| --> |
|
|
| # BaseOutputs |
|
|
| All models have outputs that are instances of subclasses of [`~utils.BaseOutput`]. Those are |
| data structures containing all the information returned by the model, but that can also be used as tuples or |
| dictionaries. |
|
|
| Let's see how this looks in an example: |
|
|
| ```python |
| from diffusers import DDIMPipeline |
|
|
| pipeline = DDIMPipeline.from_pretrained("google/ddpm-cifar10-32") |
| outputs = pipeline() |
| ``` |
|
|
| The `outputs` object is a [`~pipelines.ImagePipelineOutput`], as we can see in the |
| documentation of that class below, it means it has an image attribute. |
|
|
| You can access each attribute as you would usually do, and if that attribute has not been returned by the model, you will get `None`: |
|
|
| ```python |
| outputs.images |
| ``` |
|
|
| or via keyword lookup |
|
|
| ```python |
| outputs["images"] |
| ``` |
|
|
| When considering our `outputs` object as tuple, it only considers the attributes that don't have `None` values. |
| Here for instance, we could retrieve images via indexing: |
|
|
| ```python |
| outputs[:1] |
| ``` |
|
|
| which will return the tuple `(outputs.images)` for instance. |
|
|
| ## BaseOutput |
|
|
| [[autodoc]] utils.BaseOutput |
| - to_tuple |
|
|