# Data input/output

> **📝 Note**
>
> An LLM-optimized bundle of this entire section is available at [`section.md`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/section.md).
> This single file contains all pages in this section, optimized for AI coding agent context.

<!-- TODO: Double check this seciton for variant acccuracy -->

This section covers how to manage data input and output in Union.ai.
Union.ai also supports all the [Data input/output features of Flyte](https://docs-builder.pages.dev/docs/flyte/user-guide/data-input-output/).

| Section | Description |
|---------------------------------------------------|----------------------------------------------------|
| [`FlyteFile`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/flyte-file-and-flyte-directory/page.md) | Use `FlyteFile` to easily pass files across tasks. |
| [`FlyteDirectory`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/flyte-file-and-flyte-directory/page.md) | Use `FlyteDirectory` to easily pass directories across tasks. |
| [`Downloading with FlyteFile and FlyteDirectory`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/downloading-with-ff-and-fd/page.md) | Details on how files and directories or downloaded with `FlyteFile`. |
| [`StructuredDataset`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/structured-dataset/page.md) | Details on how `StructuredDataset`is used as a general dataframe type. |
| [`Dataclass`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/dataclass/page.md) | Details on how to uses dataclasses across tasks. |
| [`Pydantic BaseModel`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pydantic/page.md) | Details on how to use pydantic models across tasks. |
| [`Accessing Attributes`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/accessing-attributes/page.md) | Details on how to directly access attributes on output promises for |
| [`Enums`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/enum/page.md) | Details on how use Enums across tasks. |
| [`Pickle`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pickle/page.md) | Details on how use pickled objects across tasks for generalized typ |
| [`Pytorch`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pytorch/page.md) | Details on how use torch tensors and models across tasks. |
| [`Tensorflow`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/tensorflow/page.md) | Details on how use tensorflow tensors and models across tasks. |
| [`Accelerated datasets`](https://www.union.ai/docs/v1/union/user-guide/data-input-output/accelerated-datasets/page.md) | Upload your data once and access it from any task. |

## Subpages

- [FlyteFile and FlyteDirectory](https://www.union.ai/docs/v1/union/user-guide/data-input-output/flyte-file-and-flyte-directory/page.md)
  - How the classes work
  - Local examples
  - Local file example
  - Local directory example
  - Changing the data upload location
  - Changing the raw data prefix
  - Specifying `remote_path` for a `FlyteFile` or `FlyteDirectory`
  - Remote examples
  - Remote file example
  - Remote directory example
  - Streaming
  - Downloading
  - Implicit downloading
  - Explicit downloading
  - Typed aliases
- [Downloading with FlyteFile and FlyteDirectory](https://www.union.ai/docs/v1/union/user-guide/data-input-output/downloading-with-ff-and-fd/page.md)
  - FlyteFile
  - FlyteDirectory
- [Task input and output](https://www.union.ai/docs/v1/union/user-guide/data-input-output/task-input-and-output/page.md)
  - Metadata and raw data
  - Metadata store
  - Raw data store
  - Changing the raw data storage location
  - Setting up your own object store
- [Accelerated datasets](https://www.union.ai/docs/v1/union/user-guide/data-input-output/accelerated-datasets/page.md)
  - How it works
  - Example usage
  - Considerations
  - Caching
  - Storage consumption
- [Accessing attributes](https://www.union.ai/docs/v1/union/user-guide/data-input-output/accessing-attributes/page.md)
  - List
  - Dictionary
  - Data class
  - Complex type
  - Failure scenario
- [Dataclass](https://www.union.ai/docs/v1/union/user-guide/data-input-output/dataclass/page.md)
  - Python types
  - Union.ai types
- [Enum type](https://www.union.ai/docs/v1/union/user-guide/data-input-output/enum/page.md)
- [Pickle type](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pickle/page.md)
- [Pydantic BaseModel](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pydantic/page.md)
  - Python types
  - Union.ai types
- [PyTorch type](https://www.union.ai/docs/v1/union/user-guide/data-input-output/pytorch/page.md)
  - Tensors and modules
  - Checkpoint
  - Auto GPU to CPU and CPU to GPU conversion
- [StructuredDataset](https://www.union.ai/docs/v1/union/user-guide/data-input-output/structured-dataset/page.md)
  - Usage
  - Example
  - Column type information
  - Serialized byte format
  - Storage driver and location
  - Inner workings of a structured dataset plugin
  - The `uri` argument
  - Note that no format was specified in the structured dataset constructor, or in the signature. So how did the BigQuery encoder get invoked?
  - How to return multiple DataFrames from a task?
  - How to define a custom structured dataset plugin?
  - NumPy encoder
  - NumPy decoder
  - NumPy renderer
  - The nested typed columns
- [TensorFlow types](https://www.union.ai/docs/v1/union/user-guide/data-input-output/tensorflow/page.md)
  - Import necessary libraries and modules
  - Tensorflow model
  - Transformer
  - Usage
  - TFRecord files
  - Transformer
  - Usage
  - TFRecord directories
  - Transformer
  - Usage
  - Configuration class: `TFRecordDatasetConfig`
  - Attributes

---
**Source**: https://github.com/unionai/unionai-docs/blob/main/content/user-guide/data-input-output/_index.md
**HTML**: https://www.union.ai/docs/v1/union/user-guide/data-input-output/
